الشبكة العربية لمطوري الألعاب

خبير مدير وسام البهنسي مشاركة 1

الجدول في الرابط التالي يوضح إحصائية حديثة للغات البرمجة الأكثر استخداماً وكون عدد مستخدميها في تقدم أو تراجع:
 
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
 
المركز الأول لغة جافا، تليها لغة C (وليس ++C!) ثم فيجوال بيسك، والتي قفزت من مركزها الخامس في الشهر الماضي وتركته لـ ++C...
 
ما رأيكم؟

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير  أحمد عزالدين مشاركة 2

السلام عليكم

اليس من الغريب ان تكون لغة السى اقرب في الترتيب من C++ وسى شارب مثلا
هل تعتقد هذا يرجع لكون لغة سي تستخدم في برمجة العديد من الاشياء زي برمجة الهارد وير مثلا
ولماذا تعتقد في وجهة نظرك السبب الرئيسي لانتشار لغة الجافا هكذا

انا اعتقد ان السبب الرئيسي لانتشار لغة الجافا هو ال portability


مجرد تعليق مش اكتر
وشكرا علي الموضوع

لكن ممكن سؤال:
ايه رأيك في اللغات ال dynamic زي ال lisp والحاجات دي
انا قرأت ان لغة الفيجوال بيزيك لغة ديناميكية واعتقد دا يزيد لغات الدوت نت جاذبية باحتوائها علي لغات static like C# and dynamic like VB

ايه رأي حضرتك؟

وجزاكم الله خيرا

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري

خبير  سلوان الهلالي مشاركة 3

السلام عليكم,
 
من اهم مزايا جافا الـ portability كما تفضل الأخ أحمد.
وأعتقد إن هنالك بعض المزايا الأخرى التي قد تكون ساهمت في إحتفاظ جافا بالمرتبة الأولى, مثلاً قدرتها على العمل بشكل جيد جداً في بيئة clusters, وطبعاً إمتلاكها مزايا Rapid Development... ولكن فوق كل ذلك فقد أصبح العمل بجافا أشبه بالتقليد في بعض الشركات الكبرى, لا أرى شخصياً إن NET Framework. مقصر ويقدم قوة مشابهه...
وقد تكلمت في هذا الموضوع مع شخص أعرفه يعمل كمبرمج في إحدى الشركات العملاقة التي تعمل بالجافا, ومن كلامه فقد فهمت إن أحد الأسباب الرئيسية لعدم الإقتناع بدوت نت كتقنية بديلة هي إن هنالك مشاكل معينة مع الدوت نت عندما تعمل في بيئة تتألف من عدد كبير من محطات العمل clustered environment, بينما جافا لا تعاني من نفس المشاكل لأنها مصممة للعمل في هكذا بيئة.
 
هنالك أيضاً ميزة مهمة, توفر عدد كبير من الأشخاص المؤهلين للعمل على جافا بالمقارنة مع أعداد العاملين في اللغات الأخرى, لذلك فاليد العاملة متوفرة (أو العقول العاملة في هذه الحالة (-; ) وكنتيجة فأعتقد إن مرتبات العاملين بالجافا أقل من مرتبات العاملين بالـ ++C أو NET. مثلاً...

خبير مدير وسام البهنسي مشاركة 4

في تعليقات لاحقة للموضوع، تكشف أن هذه الإحصائية ليس معبرة تماماً... انظروا معي كيف يعمل الموقع:
 
يقوم ببساطة بإجراء عملية بحث في محركات البحث عن العبارات التالية:
C++ Programming
Java Programming
C Programming
List Programming
 
وهكذا... مما يعني عدة أمور:
 
1- الإحصائية منحازة باتجاه لغات برمجة الويب، وذلك بسبب كون هؤلاء يشكلون تواجداً أكثر من لغات برمجة محطات العمل (mainframe computers) برأيي، حيث أن أغلبهم له مدونة أو يشارك بمنتديات أو يسجل خبراته في صفحات.
 
2- الإحصائية منحازة إلى الطريقة التي يتحدث فيها المبرمجين عن اللغة. كمثال، استبدال كلمة البحث Programming بالكلمة Scripting ستنتج تقريباً 107 ألف نتيجة إضافية لجافا (تقدم بنسبة 29% في الترتيب)، وتعطي لغة كوبول 141 صوتاً إضافياً (1% زيادة في الترتيب)...
 
3- الإحصائية منحازة للغات التي يحدث فيها الكثير من الحوار، كالحديث عن الإصدارات الجديدة أو المشاكل أو الأخطاء أو المقارنات ... الخ.
 
4- النتائج نسبية وليست مطلقة. مما يعني أن أي قفزة في لغة ما ستخفض النتائج للغات الأخرى. مثلاً، في حال ظهور لغة مثل روبي وتبدأ الإنترنت في الحديث عنها بحماس، فإننا سنرى أن بقية اللغات تنحدر فوراً.
 
5- النتائج تتأثر وبشدة بطريقة محرك البحث في إيجاد النتائج. مثلاً، نجد انحدارات غريبة في مخطط جافا، ناتجة فقط عن تغيير طفيف في محرك بحث جوجل لإيجاد النتائج، مما جعل بعض الصفحات تسقط ولا يتم حسبانها.


 

بتاريخ 06 مايو 2008 03:43 م، قطب ahmed ezz حاجبيه بشدة وهو يقول:

لكن ممكن سؤال:
ايه رأيك في اللغات ال dynamic زي ال lisp والحاجات دي
انا قرأت ان لغة الفيجوال بيزيك لغة ديناميكية واعتقد دا يزيد لغات الدوت نت جاذبية باحتوائها علي لغات static like C# and dynamic like VB

ايه رأي حضرتك؟

كان هناك حوار لطيف بين مجموعة مبرمجين عن هذا الموضوع في الحقيقة. أحدهم يمثل طرف اللغات الستاتيكية، وأحدهم يمثل الطرف الآخر. للأسف خبرتي في الموضوع محدودة لأنني لم أتعامل مع مفاهيم أنواع البيانات الديناميكية سوى مؤخراً، وقد وجدتها ممتعة جداً ومفيدة في حالات معينة، لكنني ما زلت لا أستطيع تقدير فائدتها في حالات أكثر عموماً (أحتاج للمزيد من الممارسة). خبرتي تنحصر في إضافات #C الجديدة في الإصدار الثالث (إعلان متغيرات من نوع var)، وقد كانت بالفعل رائعة بالتعاون مع LINQ، لكني لم أستخدمها خارج هذا النطاق بعد...
في ++C يمكنك لحد ما تحقيق ذلك مع الـ templates، لكن أبداً ليس بمرونة #C الحالية (أرجو أن يتم إضافة هذه الميزة في C++/CLI قريباً)...
 
لغة ليسب لها وضع مختلف، لكونها تركز على المفاهيم الوظيفية في البرمجة بدلاً من الطريقة الحتمية/التلقينية للغات مثل C. بصراحة هناك العديد من المشاكل في برمجة الألعاب والتي يمكن حلها بلغة مثل ليسب بسهولة وأناقة مطلقة. مثلاً عمليات التحريك Animation يمكن أن يتم تنفيذها بطريقة وظيفية بشكل يساعد على تحسين الأداء والحفاظ على كود واضح ومفهوم، بينما الجزء الأعظم من الكود الذي شاهدته حتى الآن للتحريك مكتوب بطريقة مزعجة (وهذا ليس لأن من كتب الكود هو مبرمج فاشل، بل لأن اللغة ليست الأنسب لمثل هذه التعبيرات).
 
برأيي الشخصي أعتقد أن LINQ تمثل بداية رائعة لمن يحب التعرف على البرمجة الوظيفية دون الدخول في لغة وظيفية كاملة. جربوا #C أو #F كحالة أكثر تقدماً وستلمس الجمالية في التعامل مع مثل هذه النوعية من البرمجة.

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير  أحمد عزالدين مشاركة 5

السلام عليكم

ايضا بمناسبة الحديث عن لغات البرمجة الديناميكية وجدت عند البحث في Wikipedia ان لغة VB9 مثلا تمثل احدي اللغات الديناميكية
وللمزيد عن ذلك يمكنكم فقط البحث عن لغة Visual Basic 9 وهى احدث لغات بيئة الدوت نت في ويكيبيديا وسترى وصف اللغة هناك.
وبالتالى توفر لغات الدوت نت عند استخدامها معا ميزات رائعة فيمكن بالطبع العمل علي اكثر من لغة في نفس المشروع
وحتى ال VS يوفر ميزة ال cross-debugging فيمكن عمل تتبع لكود جزء من البرنامج مثلا مكتوب بسي شارب ونكمل متابعة ال debug
له من كود VB يتم استدعاؤه.



وفي 07 مايو 2008 06:31 م، أعرب وسام البهنسي عن رأيه بالموقف كالآتي:

(أرجو أن يتم إضافة هذه الميزة في C++/CLI قريباً).
بصراحة لقد كان هذا سؤال موجه الى Boris Jabes وهو يعمل كـ Program Manager فى فريق ال Visual C++
وكان هل تقدم ال C++/CLI ميزة مثل الموجودة في C# والتى نستخدمها بالكلمة var
فقال ان هذه الميزة ستضاف قريبا الي C++/CLI وبالاخص عند اضافة ال next C++ standard support
للمزيد ايضا عن ال TR1 C++ يمكنكم فحص هذا العنوان
http://aristeia.com/EC3E/TR1_info_frames.html

والسلام عليكم

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري

خبير  algeria مشاركة 6

حاليا :
1- Java
2- C
3- C++
4- PHP
5- VB

الجزائر قلبي وغزة نبضه