ايهما افضل الجافا أم السي ام السى++ ,ما الفرق بين السي ++ والسي والجافا++ والجافا ..أفيدوني افادكم الله
ايهما افضل الجافا أم السي
السلام عليكم ,,
اجابة السؤال فلسفية وطويلة جدا ,, ولكي تخرج بحل كامل ستحتاج لبعض البحث عن مرادك ,, المهم ,,
السي++ يقال عنها أنها صعبة ,, لوجد المؤشرات ,, وكتابة برامج Win 32 بنوافذ من الصفر طويل قليلا ,, لذى ستحتاج لدعم ال MFC ,, ال MFC ايضا طويلة وصعبة قليلا لكنها مرنة للغاية حيث أنها ترتكز على بنية وراثة وهندسة تصميم رائعة "بعد الفهم المتعمق" ,, السي++ تضمن تنفيذ الشيفرة بأسرع مايمكن ,, بالتعامل الحر مع الذاكرة لتخصيص الأداء ,, مشاكل المؤشرات أهلكت الكثيرين ,, مما دعى شركة Sun Microsystems لأنتاج اجافا المشتقة أصلا من السي++ بتنقيح بعض العيوب وعلى رأسها تعامل الذاكرة الحر بالمؤشرات ,,
الآن الجافا ,, ليس بها مؤشرات ,, وفي نفس الوقت يمكنك تعريف متغيرات بحجم ديناميكي وقت الطلب لكن حذفها لايكون وقت الطلب ,, فملمم النفايات ال GC هو المسؤل عن حذف المتغيرات بعد موتها " أن تكون خارج المجال " ,, الآن عملية ال GC تستهلك الوقت بصورة أسوأ بكثير من لو ماستخدمت المؤشرات بالصورة السليمة ,, لذا فهي ليست مناسبة لكتابة برامج تحتاج لأفضل أداء كالألعاب ,, فلن تجد شركة ألعاب تصدر لعبة ثلاثية الألعاب بالجافا مثلا ,, لأنها ستضمن خسارة 20 اطار في الثانية من أصل كل 100 في السي++ ,, يعني ستصبح 80 هذا في حال أن ال GC في الجافا يعمل كأداء ال GC في نسخة ال C++.Net 2002 وليست ال C++/CLI مع نسخة ال Whidbey الأخيرة "التي لم تصدر حتى وقت كتابة هذه السطور" ,, وربما كانت حسارة الاطارات أكثر من ذلك بكثير في الجافا ,,
من ميزات الجافا أن كتابة برامج Windows نوافذ بها أسهل ,, ودوالها منظمة في فئات حيث تعتبر First Class OOP ,, يعني كل شيء فيها كائن Object ,, حتى الأنواع الأساسية ك int float ,, حي أصلا فئات ,, يعني يمكن الوراثة منها ,,
فئات ال Java منظمة جيدا ,, لدرجة أن مايكروسوفت أعجبت بها ,, وتبنت نفس البنية بأسماء مشابهة تقريبا لكل فئات الجافا وأضافتها في ال دوت نت ,,
الأن ال C# عبارة عن نسخة محرفة قليلا عن الجافا لو لاحظت ذلك ,,
أمر آخر ان الجافا تعتمد على ال JVM ألة جافا الافتراضية لتصريف البرامج ,, لذى يمكنها أن تعمل على أي منصة ,, يمكنك كتابة كود في Linux يعمل في الوندوز وفي اليونكس ,, وغيره ,,
في السي++ لايمكن ذلك حيث أن السي++ تعتمد في تصريفها على ملفات ال dll الموجودة في نظام الوندوز ,, في حالة سي++ في الوندوز ,, وعلى ملفات النظام في اللنكس في حالة اللنكس أيضا ,,
ربما تم تصدير منصة الدوت لك منصات الأنظمة الأخرى لاحقا ,,
لكن أقول لو كنت تبحث عن الأداء فعليك بالسي++ ,, حيث 90 % من برامج الوندوز الاحترافيه هذه الأيام مكتوبة بالفيجوال سي++ ,,
لو كنت تبحث عن التوزيعية ,, فعليك بالجافا ,, فكود الجافا يمكنك من برمجة كل شيء تقريبا وفي كل مكان ,, لكل أنظمة التشغيل ,, وتى للويب وللأجهزة المحمولة والجوالة والكفية ,, و 90 % من جوالات اليوم تبرمج برامجها بالجافا ,,
الدوت نت دخلت المجال مؤخرا ,, وقد ضربت الجافا حقا في التوزيع على الانترنت ,, وبعد صدور ال whidbey والونج هورن التالي سيظهر ذلك أكثر ,, ودخلت الدوت نت أيضا لمجال برمجة الحواسيب الكفية والجوالات ,, لكن بمنصة أقوى من منصة الجافا بالنسبة للفئات ,, ويتم العمل حاليا على مشروع لنقل الدوت نت للنكس ,,
لكن ماذا ستحمل لنا الأيام الله أعلم ,,
بالمناسبة يوجد كلام كثير جدا آخر ,, فلربما أفادك أحد العارفين أكثر ,,
ولو كان هناك استفسار فاسأل وسنجيب باذن الله ,,
تم تعديل هذه المشاركة بواسطة HGB في 19 يونيو 2004 في 23:29
أخي الكريم الحنيف
لن أزيد على كلام مشرفنا الغالي.
رغم قناعتي بأنه لا توجد لغة برمجة تضاهي السي++ لكن هذا ما يمنع من الإستفادة من مميزات اللغات الثانية.
أنا درست الجافا في الجامعة تقريباً كلها لكن بصراحة ما لبت طموحاتي (بالشامي ماخرطت مشطي).
السبب في ذلك إنه الجافا تعتمد على مجموعة من الدوال الجاهزة التي لا تحتاج حتى إلى أي مجهود لإستخدامها ويوجد دوال جاهزة لكل وظيفة تقريباً وبالتالي لايوجد مجال هنا للتفكير لإيجاد الحلول لأن البرنامج سيكون عبارة عن مجموعة من الدوال الجاهزة.
يقال بأنه إذا طلب من مبرمجين كتابة برنامج معين فسوف يكتبونه بطرق مختلفة لكلاً منهم لكن مع الجافا أعتقد أن الكود سيكون واحد لأنهم سيسلكون نفس الطريق وسيستخدمون نفس الدوال.
كان الفرق محيرني في السابق بين اللغتين لكن شخص عنده خبرة في البرمجة أخبرني إنه المبرمج الحقيقي اللي عنده فكر برمجي كبير هو اللي يعرف يختار اللغة الأنسب للتطبيق المطلوب وأعتقد لازم تتعلم اللغتين علشان تعرف الفرق.
طبعاً الجافا تتميز في تطبيقات الشبكات بشكل كبير.
وكذلك برمجة النوافذ فيها سهلة جداً بعكس السي++ والتي ستقضي وقتاً طويلاً لتنشئ نافذة بسيطة لتطبيقك.
يعاب على الجافا البطء في التنفيذ وتعتبر تطبيقات السي++ أسرع من تطبيقات الجافا في التنفيذ.
على العموم أنا مازلت مصر على تفوق السي++ ولكم التحية.
السلام عليكم
بالمناسبة المقارانات
هل الدلفى افضل من الجافا؟؟
وماذا تتقوق C# عن الC++ لانني أفكر جديا بالتحويل إلى الC#
ولكن لن أترك الدلفى لأنني أحبها كثيرا
على فكرة قد درست الجافا وانا كمان ما حبيتها أبدا!!!!!!!!
:)
تم تعديل هذه المشاركة بواسطة delphi team في 20 يونيو 2004 في 01:52
بسم الله الرحمن الرحيم
ويعد
انا مبرمج جافا اصلا
كل ما قيل قبلا حق وصدق
ولكن انا شخصيا افضل البرمجة بكلا اللغتين معا وفي وقت واحد !!! لاحصل على الميزات الموجودة في كلا اللغتين
ميزة سرعة السي وميزة تنظيم الجافا !!!
كيف ؟؟؟؟
ببساطة تتعامل الجافا مع ملفات dll عن طريق ما يشمى ب jni
فكل ما هو معقد مثل التعامل مع قطع الجهاز والتعاريف نستخدم jni
ملاحظة : انا احب كلا اللغتين كأنهما لغة واحدة كما احب شركة صن وشركة مايكروسوفت معا
الروعة في جمع الاضداد
وشكرا
الله ارزقني حبك وحب من يحبك
قد تغريك صفات معينة في أحدى اللغتين في مجالات معينة لكل مره , والرأي يكون على حسب التوجه والمهمة
ولكن , لي وجهة نظر مبنية على وجهات نظر اخرى , وهي وجوب تعلم لغة الـ C++ لمن أراد أن يكون مبرمج حقيقي , وذلك لثبوت أن معظم المبرمجين الحقيقين يفضلونها , ومن تركها منهم عاد لها بعد زمن
ولمعرفة الفروق تماما , أنا ارى أنه يستلزم تعلم كلتا اللغتين , ولا تنسى ايضا أن لغة الجافا مشتقة من السي ++ , وتعلم احدى اللغتين يريحك من 70% من تعلم الآخرى , تقريبا
وسوف اورد لك إحدى اثرى النقاشات التي قرأتها واستفدت من اصحابها كثيرا ... ولحسن الحظ انها مازلات محفوظه لدي .. على هذا الرابط
الموقع محجوب , إذا كنت في السعودية , بلغني لكي ارفقها في ملف .
الله يعينك على المقارنة
تم تعديل هذه المشاركة بواسطة BjarneStudent في 22 نوفمبر 2007 في 21:00
وليس يبني العلا الا نديٌ ووغى , همـا المعارج للأسنى من الرتب
هذا الموضوع مغلق.

