حوار جميل حول موضوع أجمل
رغم ان هذا الموضوع قد يفضي في نهايته الى الجدال الأبدي و السؤال الحتمي : ما هي أفضل لغة برمجة ؟؟؟
الا أنني سأحاول النقاش في هذا الموضوع بقدر علمي باذن الله
---------
أولا أخي سنان لا يوجد لا عبيد و لا أسياد في عالم البرمجة، بل هناك مستويات (مبتدأ،متوسط،محترف ...)، قد تقول لي أن هذا ما تقصده لكني أجيب أن العبيد أبدا لن يصبحوا أسيادا على عكس المبتدئيين فقد يصبحوا محترفين :)
النقطة الثانية دعني أغير منظورك للغة الفيجوال بيسك 6 قبل الذهاب الى الدوت نت، قلت في مقالك جملة أعتبرها اجحافا في حق الفيجوال بيسك 6 و هي :
اقتباسبينما الVB نبرمج بها برامج بسيطه .. مثلا لعبة سيارات ثنائية الابعاد .. او كتابة كلمات ونعطيها بعض التأثير .. او غيرها من البرامج والمشاريع البسيطه المعروفه ..
عزيزي سنان يمكننا عمل ألعاب 3D بالفيجوال بيسك 6 لن اقول انها ستكون باحترافية ألعاب Ubisoft :P لكن بالنسبة الى لغة من مستوى فيجوال بيسك فهذا أمر لا يستهان به أيضا يمكن عمل برامج قوية المشكل فقط ان اغلب مبرمجي الفيجوال بيسك 6 يكتفون باللغة كما هي أي أنهم لا يستعملون مثلا الAPI's المعقدة في نظر الكثيرين لتطوير برامجهم فيمكن للفيجوال بيسك 6 عن طريق الكم الهائل من ال API's أن يتعامل هو ايضا مع الذاكرة مباشرة و وضع بيانات فيها و أخذها طبعا هذه الأمور تحتاج خبرة الشئ الذي لا يتوفر عليه الكثيرون من مبرمجي الفيجوال بيسك 6 الذين ينكبون على برامج قواعد البيانات و لا يخرجون من دائرتها المغلقة أبدا لذا انا اعتقد ان من أعطى هذه الصورة النمطية و السيئة للفيجوال بيسك 6 هم المبرمجون أنفسهم و للأسف فأنا هنا أتكلم عن المبرمجين العرب لأني رايت العجب العجاب من مبرمجين غربيين فقط بهذه اللغة التي نحتقرها و لا أخفيك أنه كان لدي برنامج AntiVirus مصمم بالفيجوال بيسك 6 من طرف مبرمج فرنسي و الكود ليس بسهولة الفيجوال بيسك 6 التي تعودها الجميع، رأيت أيضا ألعاب 3D و برامج التعامل مع الصور و تطبيق Filters عليها و بسرعة قياسية أنا هنا لا أتكلم عن استعمال دالتي (GetPixel,SetPixel) بل عن استعمال دوال أكثر تعقيدا المهم اليك برنامجا صغيرا بالفيجوال بيسك 6 + DX 7 يقوم بالتعديل على تصاميم برنامج 3D Studio Max و رابط البرنامج + الكود المصدري هو التالي :
http://perso.orange.fr/dreamsoft/Shadowmoy...RSKINNEUR3D.rar
على فكرة هذا البرنامج من تصميم شخص واحد لذا لا تحاول مقارنته ببرامج تصممه شركات كبرى بل فقط حاول ان تستوعب ان فكرتك حول الفيجوال بيسك 6 خاطئة قليلا
----------------
الآن دعنا ننتقل الى الدوت نت
كما يعلم الجميع ان لغات الدوت نت تعمل جميعها على نفس "المنصة" (.NET FRAMEWORK)
لهذا فان لغات الدوت نت متساوية
لنقم بعمل مثال عملي بسيط حتى نتأكد من ذلك :
سأقوم بكتابة كود برنامج بسيط و الكود بالفيجوال بيسك دوت نت :
Module Module1 Sub Main() For i As Integer = 0 To 100 Console.WriteLine(i) Next End Sub End Module
الآن سنعمل Compilation للبرنامج سوف نحصل ملف ال EXE بعد ذلك سنفتح هذا الأخير ببرنامج Reflector للحصول على كود ال MSIL في برنامج ال Reflector هناك خاصية ستمكننا من تحويل ال MSIL الخاص ببرنامجنا الى أي لغة دوت نت !!!!!!!!!! بمعنى اننا سنحصل على كود البرنامج بلغة الفيجوال بيسك دوت نت و ال C# و ال C++ و أيضا ال Delphi.NET.
على ماذا يدل هذا الأمر ؟؟؟ طبعا يدل على ان كود ال MSIL كود مشترك بين جميع لغات الدوت نت و عندما نحصل على ملف ال EXE فلا يهم بأي لغة برمج لأن كود ال MSIL مشترك بينهم جميعا
و فيما يلي نتيجة ال reflector لكل لغة
ال C#
public static void Main()
{
int i = 0;
do
{
Console.WriteLine(i);
i++;
}
while (i <= 100);
}ال C++
public: static void __gc* Main()
{
Int32 __gc* i = 0;
do
{
Console::WriteLine(i);
i++;
}
while ((i <= 100));
}ال Delphi
procedure Module1.Main; begin i := 0; repeat Console.WriteLine(i); inc(i) until (i > 100) end;
أخيرا اتمنى تكون وجهة نظري واضحة و هي طبعا تقبل الصواب و الخطأ فنحن كلنا هنا للتعلم و حبذا لو دعم النقاش بأمثلة عملية و علمية لكل رأي حتى يكون النقاش بناءا
ملاحظة لأخي سنان :
هل لديك فكرة برنامج يمكن عمله بالسي ++ و عدم عمله بالفيجوال بيسك 6 ؟ (لا تقل لي تصميم نظام تشغيل :lol: )
والسلام عليكــم ورحمـة الله وبركاتــه
تم تعديل هذه المشاركة بواسطة Ayoub JAMAL EL IDRISSI في 26 ديسمبر 2008 في 01:10






