الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار بخصوص الفرق بين الجافا والسي ++

بدأه meshoo789 في 4 يوليو 2010 · 4 رد · 539 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ....

كيف حالكم ياخوان

بعد عناء بحث طويل عن معهد يقدم دوره بلغة السي ++

مالقيت إلا شويه وكل واحد سعره اغلى من الثاني اسعار خياليه صراحه

والحمدلله اليوم لقيت خووش معهد يقدم دورة بلغة الجافا ومالقيت السي ++

وانا ودي اتعلم السي ++ لكن لقيت الجافا بس

سؤالي هل يمكن اتعلم الجافا ومن ثم ادخل على السي ++

يعني دخولي للجافا هل راح يسهل على دخولي للسي ++ ؟؟؟

سؤال ثاني شرايكم بلغة VB.NET

وشكرا .............

تحياتي ...

آسف على الاطاله

#2
اقتباس
يعني دخولي للجافا هل راح يسهل على دخولي للسي ++ ؟؟؟

اعتقد العكس......... :)

00020309t.gif

1958_1963.gif
#3
اسراء شلبى كتب:

اعتقد العكس......... :)

ليش ..؟

لو سمحت اخووي ياليت تعطيني كلام انت متأكد منه جزاك الله خير :)

#4

<w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <!--[endif]--><xml> <o:shapedefaults v:ext="edit" spidmax="2050"> </o:shapedefaults><!--[endif]--><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"> </o:idmap></o:shapelayout><!--[endif]--> <table class="MsoNormalTable" style="width: 571.5pt; margin-left: -65.1pt; background: none repeat scroll 0% 0% rgb(249, 249, 249); border-collapse: collapse; border: medium none;" border="1" cellpadding="0" cellspacing="0" width="762"> <tbody><tr style=""> <td style="width: 4in; border: 1pt solid rgb(170, 170, 170); background: none repeat scroll 0% 0% rgb(242, 242, 242); padding: 2.4pt;" width="384">

C++

</td> <td style="width: 283.5pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: rgb(170, 170, 170) rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; background: none repeat scroll 0% 0% rgb(242, 242, 242); padding: 2.4pt;" width="378">

Java

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Compatible with C source code, except for a few corner cases.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> No backward compatibility with any previous language. The syntax is however strongly influenced by C/C++.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Write once compile anywhere (WOCA)

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Write once run anywhere / everywhere (WORA / WORE)

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Allows both procedural programming and object-oriented programming.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Encourages an object oriented programming paradigm.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Allows direct calls to native system libraries.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Call through the Java Native Interface and recently Java Native Access

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Exposes low-level system facilities.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Runs in a protected virtual machine.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Only provides object types and type names.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Is reflective allowing metaprogramming and dynamic code generation at runtime.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Has multiple binary compatibility standards (commonly Microsoft and Itanium/GNU)

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Has a binary compatibility standard, allowing runtime check of correctness of libraries.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Optional automated bounds checking. (e.g. the at() method in vector andstring containers)

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Normally performs bounds checking. HotSpot can remove bounds checking.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Supports native unsigned arithmetic.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> No native support for unsigned arithmetic.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Standardized minimum limits for all numerical types, but the actual sizes are implementation-defined. Standardized types are available as typedefs (uint8_t, ..., uintptr_t).

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Standardized limits and sizes of all primitive types on all platforms.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Pointers, References, and pass by value are supported

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Primitive data types always passed by value. Objects are passed by nullable reference (comparable to using pointers for all class or struct parameters in C++).[2]

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Explicit memory management, though third party frameworks exist to provide garbage collection. Supports destructors.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Automatic garbage collection (can be triggered manually). Doesn't have the concept of Destructor and usage of finalize() is not recommended.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Supports class, struct, and union and can allocate them on heap or stack

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Supports only class and allocates them on the heap. Java SE 6 optimizes withescape analysis to allocate some objects on the stack.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Allows explicitly overriding types.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Rigid type safety except for widening conversions. Autoboxing/Unboxing added in Java 1.5.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> The C++ Standard Library has a much more limited scope and functionality than the Java standard library but includes: Language support, Diagnostics, General Utilities, Strings, Locales, Containers, Algorithms, Iterators, Numerics, Input/Output and Standard C Library. The Boost library offers much more functionality including threads and network I/O. Users must choose from a plethora of (mostly mutually incompatible) third-party libraries for GUI and other functionality.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> The standard library has grown with each release. By version 1.6 the library included support for locales, logging, containers and iterators, algorithms, GUI programming (but not using the system GUI), graphics, multi-threading, networking, platform security, introspection, dynamic class loading, blocking and non-blocking I/O, and provided interfaces or support classes for XML, XSLT, MIDI, database connectivity, naming services (e.g. LDAP), cryptography, security services (e.g. Kerberos), print services, and web services. SWT offers an abstraction for platform specific GUIs.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Operator overloading for most operators

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Meaning of operators is immutable.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Full multiple inheritance, including virtual inheritance.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Single inheritance only from classes, multiple from interfaces.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Compile time Templates

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Run time Generics

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Function pointers, function objects, lambdas (in C++0x) and interfaces

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> No function pointer mechanism. Instead idioms such as Interfaces, Adapters and Listeners are extensively used.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> No standard inline documentation mechanism. 3rd party software exists likeDoxygen

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Javadoc standard documentation

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> const keyword for defining immutable variables and member functions that do not change the object.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> final provides a limited version of const, equivalent to type* const pointers for objects and plain const of primitive types only. No const member functions, nor any equivalent to const type* pointers.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Supports the goto statement.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Supports labels with loops and statement blocks.

</td> </tr> <tr style=""> <td style="width: 4in; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170); padding: 2.4pt;" width="384"> Source code can be written to be platform independent (can be compiled forWindows, BSD, Linux, Mac OS X, Solaris etc. without needing modification) and written to take advantage of platform specific features. Is typically compiled into native machine code.

</td> <td style="width: 283.5pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color rgb(170, 170, 170) rgb(170, 170, 170) -moz-use-text-color; padding: 2.4pt;" width="378"> Is compiled into byte code for the JVM. Is dependent on the Java platform but the source code is typically written not to be dependent on operating system specific features.

</td> </tr> </tbody></table> <o:p> </o:p>

</xml></xml></w:lsdexception>

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 5 يوليو 2010 في 04:28 — السبب: حذف css الظاهر في المشاركة

#5

إن تعلمت السي ++, فسيسهل عليك تعلم الجافا بنسبه كبيره.

إن أردت أن تتعلم الجافا أولا فسيسهل عليك تعلم السي++ بنسبة أقل و غالبا لن تحتاج تعلمها :D

مواضيع مشابهة