لغات البرمجة المُناسبة لبرامج سطح المكتب العامة
نعم صحيح، لكنها ليست موجهة لكافة المنصات مثل اللغات التي ذكرتها، فهذا يجعلها خيار غير مُناسب للبرامج العامة.
كتبك كانت هي دافعي الأول لتعلم اللغة دلفي و كنت أحوال جعل الكود بلغة باسكال يعمل على الدلفي شكراا لك أنت منت أول طريق لي لتعلم هذه اللغة و لكن انت أكبر مني لذلك لديك حبرة كبيرة و تعلمت لغات أفضل من باسكال و دلفي و لكن أنا ليس أمامي إلى الدلفي
مقالة رائعة تسرد ببساطة لماذا لا تزال اللغات الNative هى الافضل.
للأسف فى عالم البرمجة فان البعض يخلط بين ما هو مناسب له(أو ما يحبه) و بين ما هو مناسب للتطبيق الذى يبرمجه.
فاذا أحب احدا جافا مثلا و اعتاد عليها, فانه يميل الى استخدامها فى كل شىء و اى شىء تصلح او لا تصلح له متجاوزا كل عيوبها و حدودها الطبيعية.
أحب اضيف أيضا,أنت تحدثت عن تعدد المنصات, و الحقيقة ان البرامج المكتوبة بلغات تترجم الى لغة ألة Native, يمكنها ان تستهدف منصات عدة اذا كانت مكتوبة بطريقة صحيحة, فعبر فصل الاجزاء الخاصة بكل نظام تشغيل فى اجراءات منفصلة و عزل الاجزاء الاساسية العابرة للمنصات فى اجراءات أخرى, يمكن نقل البرنامج من منصة لأخرى عبر اعادة كتابة الاجزاء الخاصة بكل نظام تشغيل (و التى لا تكون كبيرة عادة), و اعادة ترجمته لكل منصة على حدة.
مثال على ذلك Apache خادم الويب, فالأجزاء الخاصة بكل نظام موجودة فى اجراءات منفصلة, و يتم فقط اعادة ترجمته لكل منصة مع تغييرات طفيفة.
لأسف فى عالم البرمجة فان البعض يخلط بين ما هو مناسب له(أو ما يحبه) و بين ما هو مناسب للتطبيق الذى يبرمجه.
هذه جملة مهمة.
أنا كُنت من بين هؤلاء، كنت لا استخدم إلا لغة دلفي لبرمجة كل شيء، برامج سطح المكتب، برامج الويب وخدمات الويب، وWindows NT service وحتى حافظ الشاشة screen saver كتبت أكثر من واحد بلغة دلفي. اﻵن أصبحت منفتح أكثر عندما دنوت من سن اﻷربعين، ما قبل ذلك كان تعصب من طيش الشباب. كل لغة لها ميزاتها ونقاط ضعفها، وبعدما جربت أكثر من لغة أصبحت هذه المفاهيم واضحة أكثر و أصبحت المقارنة أكثر حيادية، في السابق كُنت اعتمد على كلام الناس لأحكم في أن هذه التقنية أفضل من تلك.
بالنسبة لتعدد المنصات، المهم أولاً اختيار لغة ومكتبة رسوميات Widget متعددة المنصات. مبرمجي Skype عندما استخدموا دلفي وقعوا في مشكلة عدم دعم تلك اللغة للمنصات اﻷخرى، فلجأوا إلى استخدام لغات أخرى، غالباً تكون سي أو سي++، وهذا يجعل النسخ غير متطابقة ويزيد تكلفة تطوير البرنامج. كان يُمكنهم الاكتفاء بكتابة الـ backend بلغة دلفي ثم ربط البرامج الطرفية بها بلغة موجودة في كل المنصات، لكن ربما في البداية لم يكن هدفهم العمل في كل المنصات.
بعض الناس يحتج بأن اﻷجهزة في تطور مستمر وأن الموارد في زيادة فليس هُناك مشكلة في استخدام لغات غير Native، لكن في المقابل هذه البرامج أيضاً تتعقد وتُصبح أكثر نهماً للموارد، فالغلبة في النهاية للبرنامج الـ Native مهما تطور العتاد ومهما زادت الموارد
البدء باستخدام لعغات مبنية على لغة C الافضل دائماً لسببين برأيي، الاولى لأنها تتيح لك استخدام غيرها اذا اقتضى الامر ذلك مستقبلاً.
بالاضافة الى ذلك فانا انصح الاخرين باستخدام C#.NET اذا احببت الدخول الى برامج الوندوز والويب في آن واحد لسهولة التنقل بينهما عندما تتعلم استخدام ال.NET Framework
لا تتخيل ان تعلم أي لغة برمجة مهمة صعبة، ولكن التمكن منها مشروع يستغرق ما لا يقل عن سنتين من الممارسة.
والله اعلم
التعليقات