ما هي أفضل لغة برمجة؟
يسري هذا السؤال بين المهتمين بعالم البرمجة كسريان النار في الهشيم، العجيب في الأمر أنه رغم انتشاره فإنه يبقى سؤالاً دون إجابة و سيبقى كذلك أبداً.. سأخبرك الآن لماذا…
دعني أستدعي معك طريقة التفكير عندما يُطلب منك مقارنة شيئين.
[box type=”shadow” align=”aligncenter” class=”” width=””]عندما تحاول المقارنة بين كائنين أو شيئين فإن أول ما يستدعيه ذهنك هو الصفات المتوفرة في الكائنين معاً و بناءً عليها تستطيع مقارنتهما. بدون توفر صفات مشتركة فإن عدالة المقارنة تغيب.[/box]
أفضل لغة برمجة = أفضل وجبة على الإطلاق
إن السؤال عن أفضل لغة برمجة هو سؤال مشابه للسؤال “ما هي أفضل وجبة؟” هل تستطيع الإجابة على هذا السؤال؟
ما هي إجابتك على هذا السؤال؟
ستكون الإجابة أي نوع من الأطعمة تقصد؟ و بناء على مزيد و مزيد و مزيد من التحديد ستستطيع الإجابة و لكن بعد أن يصبح السؤال مثل “ما هو أفضل نوع من مقبلات الأطعمة الشامية؟”
عندها تتوفر لديك خصائص مشتركة بين ما ترغب بمقارنته و بذلك تستطيع المقارنة.
يجب أن تتجنب السؤال الخطأ
هنا نعود إلى حيث لغات البرمجة، إن لغات البرمجة كذلك لها تخصصات و تصنيفات لا بد أن تذكرها في سؤالك عن أفضلية لغات البرمجة لتقرر في تلك الأفضلية بمنطق سليم.

من التصنيفات التي بإمكانك مقارنة لغات البرمجة بها
[tie_list type=”checklist”]
- قابليتها للعمل في أكثر من بيئة (ويندوز، لينكس، ماكنتوش،…).
- نوع التطبيقات التي تُنتجها (مواقع إنترنت، برامج سطح مكتب، تطبيقات جوال).
- الهدف من لغة البرمجة (إجراء الرسوم، الذكاء الاصطناعي، التحليل الإحصائي،…).
[/tie_list]
كما أن من الخصائص التي تستطيع مقارنة لغات البرمجة بها هي مدى إنتشار لغة البرمجة.
شركة تايوب TIOBE من الشركات التي تعمل في مجال قياس جودة الشفرات البرمجية، توفر شركة تايوب مقياساً شهرياً لأفضل لغات البرمجة إنتشاراً.
لاحظ معيار المقارنة [أفضل لغات البرمجة إنتشاراً] ليس أفضلية عامة، و ليس بالضرورة أن تكون لغة البرمجة الأكثر إنتشاراً هي الأفضل بين اللغات في كل المجالات، و لكن بالتأكيد فإن الإنتشار يعني تميزها في مجال ما على الاقل بصورة كبيرة.

على كل حال، لا بد حتى تعرف ماذا تعني [لغة البرمجة الأكثر انتشاراً] أن تعرف كيف تقيس شركة تايوب TIOBE إنتشار اللغة.
وفقاً لموقع تايوب فإن معايير القياس التي يعتمدونها هي:
- عدد المهندسين الذين يحترفون اللغة.
- عدد الدورات و موفري خدمات الطرف الثالث.
- حساب معدل الإنتشار من بعض محركات البحث الشهيرة مثل (قووقل، بنق، ياهو، ويكيبديا، و غيرهم).
كما أضافت تايوب تنبيهاً مهما جداً بأن مؤشرهم لا يتحدث عن أفضل لغة برمجة أو لغة البرمجة صاحبة أكبر عدد مكتوب من الأسطر.
لماذا “معدل الإنتشار” معيار جيد لإختيار أول لغة برمجة تتعلمها؟
ما لم يكن لك هدف معين من تعلم لغة البرمجة مثل أن تنتج نوعاً معيناً من البرامج فإن اختيارك للغة البرمجة ربما يرتبط بتوفر الموارد اللازمة لتعلم لغة البرمجة المذكورة.
و بالتالي فإن ارتفاع معدل الإنتشار كما ذكرنا فإنه يعني عدداً كبيراً من محترفي لغة البرمجة كما يعني أيضاً عدداً كبيراً من الدورات و المعاهد أيضاً التي تستطيع أن تدرس فيها لغة البرمجة.
لذا فإن معدل الانتشار بطريقة ما و إلى حد ما مرتبط بسهولة الحصول على الموارد التي تعينك على تعلم لغة البرمجة، لذا فلنطق عليها مجازاً بـ [سهولة تعلم البرمجة].
بناءً على ما عرفته من طرق المقارنة و بعد توضيح اللبس المُستمر من السؤال الخاطئ عن “أفضل لغة برمجة” و تحويله إلى “أكثر لغة برمجة انتشاراً” فستجد في مؤشر تايوب أن هناك لغتان تحتلان الصدارة منذ أكثر من 10 سنوات، و لم تتنازلا عن هذه المكانة حتى اليوم و هما.
لغة الجافا.
لغة C.
أما عن بقية لغات البرمجة فيوجد فرق كبير بينهم من ناحية و بين لغتي البرمجة (جافا و C) من ناحية أخرى.
منذ منتصف عام 2015 بدأت جافا بتوسيع الفارق بينها و بين لغة C من حيث الانتشار، فستجد في الرسم التالي الصعود المضطرد للغة الجافا مما يضعها الآن على قمة الهرم من ناحية اللغات الأكثر انتشاراً.
من المعلومات المفيدة أيضاً بالإعتماد على هذا المؤشر هو إخبارك بمدى ندرتك، من الممكن أن تكون هذه الندرة مؤشراً إيجابياً أو سلبياً.
فإذا كانت لغة البرمجة التي تتقنها أو ترغب بإتقانها من اللغات الأقل انتشاراً و لكن عليها طلبٌ عالٍ في السوق فهذا يعني أن احترافك لهذا المجال يرفع من قيمتك السوقية بقانون العرض و الطلب.
و لكن على الصعيد الآخر، فإن احترافك للغات برمجة من اللغات الأقل انتشاراً و ليس لها طلب في سوق العمل فهذا يعني أنك تحترف لغاتِ برمجةٍ قديمة، و هو ما يعرف عموماً أنك أحد من يُطلق ليهم لقب “ديناصور” 🙂 .
ترتيب إنتشار لغات البرمجة في ابريل 2016
هذا ترتيب لأكثر عشر لغات برمجة انتشاراً وفقاً لمؤشر تايوب في شهر ابريل 2016.
ترتيب ابريل 2016 | ترتيب ابريل 2015 | لغة البرمجة | التقييم | التغيُّر |
---|---|---|---|---|
1 | 1 | جافا | 20.846% | 4.80%+ |
2 | 2 | سي | 13.905% | 1.84%- |
3 | 3 | سي ++ | 5.918% | 1.04%- |
4 | 5 | سي شارب | 3.796% | 1.15%- |
5 | 8 | بايثون | 3.330% | 0.64%+ |
6 | 7 | بي اتش بي | 2.994% | 0.02%- |
7 | 6 | جافاسكربت | 2.566% | 0.73%- |
8 | 12 | بيرل | 2.524% | 1.18%+ |
9 | 18 | روبي | 2.345% | 1.28%+ |
10 | 10 | فيجوال بيزك دوت نت | 2.273% | 0.15%+ |
لا أعتقد أنك بعد اليوم ستعاني في الإجابة على سؤال ما هي أفضل لغة برمجة، و أيضاً تستطيع أن تضع السؤال المناسب عن أفضل لغة برمجة في المكان المناسب.
جزاك الله كل خير يا استاذ
الان عرفت من اين سأبدأ لكن عندي سؤال محيرني وهو كان عائق لي : هل استطيع تعلم اجمع بين مجال الويب: تصميم الويب وبرمجة الويب.
ومجال تطبيقات الهاتف.
مجال أنظمة التشغيل.
و مجال برامج وتطبيقات الحاسب الآلي: “سطح المكتب”.
ليس بالضرورة كلها اتعلمها لكن مقصد كلامي هل استطيع ان انتقل الى مجالات اخرى بعد اتقان مجالي الرئيس؟
لا بد من معارف أساسية لجميع المجالات التي ذكرتها، ولكن عموماً الجمع بين مجالين أو أكثر قد يكون صعباً قليلاً نسبة لتطور المجالات الحاسوبية بصورة مستمرة ما يتطلب من المختص المداومة على الاطلاع والتعلم في مجال تخصصه.
ففي نهاية الأمر، يعتمد الامر على قدرتك الشخصية. أما الانتقال بين المجالات فممكن بالتأكيد مع افتراض أنك ستهتم بتعلم ما ينقصك في المجال الجديد.
براي المتواضع كمعلمة COMPUTER- SCI.
نعم بكل سهولة تستطيع التنقل و التطوير .
ايش افضل اللغات لبرمجة الذكاء الاصطناعي ؟
I liked this side..
بشمهندس مصطفي …؟
انا طالب في جامعه الازهر كليه تكنولوجيا عندي 19سنه ..
انااا محتار في تحديد تخصصي بحيث انه يكون مصدر دخل كويسه ليا مستقبلاا ..
عايز اتخصص في مجاال الجرافيك والدزاين
وعايز اتخصص في مجال البرمجة
مش عارف اتخصص ف انهي مجال منهم ممكن نصيحه منك بحيث ان المجال اللي هختاره يكون مهنتي طوال العمر وتكون مصدر دخل ايضا ايهما افضل الجيرافك ام البرمجه
وجزااك الله خير
واذا كانت نصيحتك ليااا ف اي مجال ياريت من فضلك تعرفني ازااي ابداأ في تعلم هذا المجاال وااسف جدا للاطاله
مرحباً بك أخي عبدالرحمن،
من الجميل أن تسأل عن هذا الموضوع من الآن مما يدل على بعد نظر وحكمة.
كتبتُ تدوينةً عن هذا الموضوع وأعتقد أنها أفضلُ من أكتب لك رداً مختصراً على تعليقك، اطلع على تدوينة تعلم البرمجة من الصفر: [الدليل الشامل] أهم 13 نصيحة و معلومة للمبرمج المبتدئ.
هل ممكن اتعلم اكثر من لغة برمجة
نعم ممكن كما ذكرتُ لك في ردي عليك هنا 🙂