ما هي افضل لغة لبرمجة تطبيقات سطح المكتب ؟


هذا السؤال يتعلق بماهية التطبيق نفسه وأي أنظمة التشغيل المستهدفة، وأي اللغات تجيدها...

فإذا كان تطبيقك موجه لمستخدمي :

الويندوز : C#.

الماك : Objective C.

جنو - لينكس : c/c++ ,python ...

اللغات المذكورة أعلاه ليست الوحيدة التي تستطيع الاستعانة بها لبرمجة تطبيقك، لكنها الأنسب، ويمكنك استخدام JAVA (كمثال) لبرمجة تطبيق متعدد المنصات.

بالنسبة للويندوز سى# هى الاسهل و لكن ليست الافضل,

أفضل لغة لبرمجة الويندوز سى++, و دلفى, لأنهم الاكثر كفاءة و يولدون native code بعكس الc# و التى تولد كود وسيط تحتاج الى مكتبات .net لتشغيلها.

و الدليل ان معظم برامج الويندوز تتم كتابتها بالسى++ ثم الدلفى :

مثلا : مايكروسوفت اوفيس : سى++

انترنت اكسبلورر : سى++

سكايبى : دلفى

ياهو مسنجر : دلفى

Winrar : سى++ بيلدر (مترجم سى++ مع مكتبات دلفى).

هذا ما اتذكره الان, و هو غيث من فيض, لكن عموما سوف تجد السى++ هى المسيطرة على تطبيقات الويندوز, تليها الدلفى.

كلامك ليس دقيق أخي فادي

الكفاءة لا تعتمد بالدرجة الأولى على أن اللغة تقوم باخراج كود وسيط أم لا.

إذا كان هذا مقياسك، فستكون سي بلس بلس أو حتى السي ، أو حتى الأسمبلي هي الأفضل.

البرمجيات الكبيرة كانت تكتب بالسي بلس بلس، أما الآن فمثال أنت طرحت الأوفيس والسكايب .. ، مايكروسوفت تستخدم الدوت نت، وهي تعمل بكفاءة عالية في برمجياتها الحديثة، مثلا البليند، والفيجوال ستوديو ، والاكسبريشن ... إلخ كلهم بالدوت نت، مع الاعتماد على مكتبات من السي بلس بلس

مقياس لغة البرمجة يعتمد على عدة أمور منها، الكفاءة، سرعة التكويد، سرعة الإنجاز، الانتاجية، الدعم المتوفر، المقروئية، تسهيلات اللغة... إلخ

الدوت نت ثم الجافا ثم الديلفي.

فقط أحببت تصحيح المعلومة

تحياتى لك أخلى خليل,

الكود الوسيط يعنى ان هناك عمليات اضافية يقوم بها الحاسوب لتحويل الكود الوسيط الى كود الالة, و بالتالى استهلاك اعلى للموارد, و صدقنى فى بعض الحالات أنت تحتاج الى هذه الأجزاء من الثوانى.

ناهيك عن افتقاد السى# الى المؤشرات و التعامل المباشر مع ذاكرة نظام ويندوز, مثلها مثل الجافا,

و طبعا الgarbage collector الذى يؤثر بشكل كبير على الاداء.

السى# لغة جيدة و قوية و لكنها لا تعطى للمبرمج التحكم الكامل ببرنامجه بعكس السى++.

كلما كانت اللغة أقرب الى الألة كلما كانت أقوى و أصعب فى الوقت نفسه, لذا نعم الاسمبلى أفضل من السى و السى أفضل من السى++ و السى++ أفضل من السى# و الجافا.

مايكروسوفت أوفيس للويندوز مكتوب بشكل كامل على السى++,

أما الفيجوال ستوديو فقد كتب فقط الواجهة باستخدام تقنيات WPF, و التى هى فى الأصل مكتوبة على سى++!

لغة السى# موجهة بشكل أساسى الى كتابة برامج الERP و الحسابات و برامج الbusiness عموما و الشركات الصغيرة (حيث عدد محدود من المبرمجين), و هى ناجحة فى هذا المجال لأنها توفر الوقت و الجهد, لكنها ليست مناسبة للتطبيقات العامة.

ليس هناك شىء بدون تنازلات,

فاما القوة و السرعة (سى++) أو السهولة و سرعة التكويد (سى#).

هلا أخي فادي أعلم ما هو الكود الوسيط

ليس دائما الكود الغير مدار أسرع من الكود المدار ... يمكنك البحث والتأكد

السي شارب بها مؤشرات على عكس ما تقولخ ! ، وسؤال ، من يحتاج للمؤشرات!

أستغرب من هذه الكلمة، لا أحد يحب المؤشرات، وصعنوا الGC خصيصا حتى نقوم بنسيان المؤشرات لما لها من أضرار تفوق المزايا، ولو كان أحد يحبها لما كانت الجافا طفرة بإدارتها للذاكرة وبالكود الوسيط

السي شارب تعطيك تحكم كامل، أعطيك مثال، مثلا تحتاج لصنع تعريف لجهاز بالسي شارب ! ، هذا لا يمكن ولا حتى بالسي بلس بلس، لكل لغة اختصاص.

أنت قلتها كلما كانت أقرب للآلة كانت أصعب، أنت تريد صنع برنامج لشركة، أداء السي شارب كافي، لماذا تصنعه بالأسمبلي ، كمن يحفر حفرة بملعقة، استخدم الجرافة يا أخي، فهي تفي بالغرض

الفيجوال ستوديو صحيح أجزاء منه ب WPF التي هي ب C++

وبي أتش بي ب C++ و لغات أخرى بسي بلس بلس، والسي بلس بلس بالأسمبلي ، والأسمبلي بلغة الآلة وهكذا، هل يعني أن لغة الآلة أفضلها ؟

لا تقاس الأمور كما أسلفت بهذا المقياس.

أنا كمبرمج يهمني الانتاجية على إدارة الذاكرة، يهمني سرعة صنع الواجهة والربط بالويب، على سرعة الكود ... إلخ

صدقني آخر ما نبحث عنه الآن هو أن يقوم المبرمج بإفراغ كل متغير يقوم بإنشائه، هذه الأيام قد ولت، هي تلزم للمستوى المنخفض، أما مع ذاكرة 4 جيجا ، فلا تلزم إطلاقا.

أسألك، هل تفضل أن تقوم بعمل برنامج على السي بلس بلس على الويندوز ولا يعمل على اللينكس وتحتاج لإعادته من جديد، لاختلاف المنصات ويستغرق منك أسابيع.

أم أن تقوم بعمل نفس البرنامج بالجافا ويستغرق ب1/100 من الوقت والجهد وتجده يعمل على اللينكس والويندوز والماكنتوش، بل وعلى الجوالات بدون أدنى جهد

دمت بود


تطوير الويب

مجتمع لمناقشة وتبادل الخبرات حول تطوير الويب. ناقش أحدث التقنيات، اللغات، والأدوات في عالم تطوير المواقع والتطبيقات. شارك مشاريعك، اسأل عن نصائح، وتعاون مع مطورين محترفين وهواة.

91 ألف متابع