Please reload

التدوينات الحديثة

ماهي لغات البرجمة التي يجب على المبتدئ تعلمها في سنة ٢٠١٧؟

 

إن مواهب ستيم (STEM) مطلوبة بشكل كبير هذه الأيام، ويدفع لها رواتب مجزية وهذا ليس بالخبر الجديد. حيث أن إعلانات وظائف البرمجيات عبر الشبكة العنكبوتية في الولايات المتحدة نمت بنسبة ٣١٪ بين سنة ٢٠٠٧ و٢٠١٢. هذا النمو يعتبر أسرع بثلاث أضعاف -تقريبًا- من إعلانات الوظائف الأخرى مجتمعة. يتوقع المكتب الأمريكي لإحصاءات العمل أن وظائف مطوري البرمجيات ستستمر في النمو بنسبة ٢٢٪ بين ٢٠١٢ و٢٠٢٢ بمعدل راتب ١٠٠.٠٨٠ دولار أمريكي لمطوري تطبيقات البرمجيات بدًأ من شهر مايو - ٢٠١٦.

 

قد يكون العدد الهائل للغات البرمجة محبطًا عند بدئك رحلة البحث عن طرق تعلّمها! - ماهي اللغة التي ينبغي عليك تعلّمها؟نأمل أن يوضح لك هذا المقال بعض المؤشرات من خلال مقارنة المرتب المرتبط بلغات البرمجة وشعبيتها ومستقبلها المحتمل.

 

المحتويات

  • نظرة عامة على لغات البرمجة

  • فرص العمل

  • موارد البرمجة

  • مستقبل كل لغة من لغات البرمجة

  • الخاتمة

 

نظرة عامة على لغات البرمجة

دعونا نلقي نظرة أولًا على اللغات التي سنتناولها قبل البدء في عملية المقارنة/المفاضلة.

 

اللغات الديناميكية

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

 

  • جافا سكريبت (JavaScript)

 

    حتى لا تخلط بينها وبين جافا (Java)، جافا سكريبت (JavaScript) هي في الأساس لغة البرمجة من جانب العميل المستخدمة لتطوير المظهر الأمامي، ومتوافقة مع جميع المتصفحات. تستخدم جافا-سكريبت لإنشاء تطبيقات الويب التفاعلية، غالبًا من خلال المكتبات مثل جي كويري (jQuery) وأطر تصميم المواقع مثل أنجولارجس (AngularJS) وامبر. جي اس (Ember.js) وري اكت (React) وغيرها.

     

    وتستطيع أيضا استخدماها كلغة جهة الخادم من خلال منصة نود. جي إس (Node.js) فقد كانت نود. جي إس (Node.js) قبل سنتين جديدة ولكن مستخدميها تزايدوا بشكلٍ كبير. يمكنك الآن إيجاد الكثير من المصادر هنا. وتستطيع أيضا إنشاء تطبيقات جوال هجينة باستخدام جافا سكريبت من خلال استخدام إطارات مثل فون جاب (phonegap)، في حين أن ري اكت نيتف (React Native) المطورة لموقع الفيس بوك تسمح لك بإنشاء تطبيقات جوال أصلية باستخدام جافا سكريبت.

     

    تعرف الجافا سكريبت بأنها لغة صعبة، لأن البيانات فيها غير مصنفة وبالتالي فهي صعبة التصحيح. هناك ثلاث نسخ تدعم نظام التنويع الثابت(1) مثل مايكروسوفت تايب سكريبت (Microsoft's TypeScript) أو جي إس إكس (JSX) التي تستخدمها لغة ري اكت (React).

     

    • روبي (Ruby)

     

    لقد تم تطوير لغة روبي ليتسنى للمطورين الإستمتاع والإنتاج في الوقت ذاته. اشتهرت لغة روبي بإطار روبي اون ريلز (Ruby on Rails) مجموعة كاملة من إطارات الويب تم تطويرها لترجمة مبهجة/مريحة أكثر. ولأن لغة روبي سهلة القراءة، وإطارات روبي أون ريلز تسهّل العديد من مهمّات البرمجة المعتاده، يرشّح الكثير روبي على أنها أفضل لغة لتبدأ تعلم البرمجة منها.

     

    تستخدم لغة روبي غالبًا في برمجة الخلفية(٢)، والعديد لمواقع المشهورة مثل إيربي أند بي (Airbnb) وشوبيفي (Shopify) وبلومبرج (Bloomberg) وهولو (Hulu) وسليديشار (Slideshare) أُنشئت باستخدام روبي اون ريلز (Ruby on Rails).

     

    • بايثون (Python)

     

     

    تعد بايثون (Python) أيضًا من اللغات التي ينصح بها المبتدئين، وهي أشهر لغات البرمجة التمهيدية لدى أفضل الجامعات الأمريكية.

    استخدم المبرمجون لغة بايثون لإنشاء تطبيقات سطح المكتب وتطبيقات الإنترنت بشكل مماثل. تحتوي  بايثون أدواتٍ عظيمة لاستخراج البيانات. إضافةً إلى ذلك، تستخدم بايثون بكثرة أكاديميًا في الحوسبة العلمية، وتحليل البيانات والمعلوماتية الحيوية.

    أُنشىء كل من قوقل، ودروب بوكس، وبينتريست (Pinterest) وانستجرام، وريديت (Reddit) وبيتتورينت (BitTorrent) وسيفيليزايشن أي في IV) Civilization) وغيرهم باستخدام بايثون.

     

    • بي.اتش.بي ( PHP)

     

    بي.اتش.بي (PHP) هي لغة البرمجة النصية من جانب الخادم(٣) وتعتبر عادة جيدة للمبتدئين، حيث إنه من السهل تصور ماذا سيفعل كود بي.اتش.بي ممًا يسهّل تعلّمه. وقد أنشئت معظم المواقع باستخدام لغة بي.اتش.بي لأنها مختصة في الشبكة العنكبوتية بشكل كبير.

     

    أنشئ موقع الفيس بوك، والويكيبيديا (Wikipedia)، والياهو وتمبلر، ووردبرس (Wordpress) والكثير باستخدامها.

     

     

    اللغات المصنفة بشكل ثابت

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

     

    • جافا (Java)

     

     

    كهدف عام لهذه اللغة فإنها تستخدم لإنشاء تطبيقات الأندرويد وتطبيقات سطح المكتب والألعاب،  وتستخدم أيضا عادة كلغة من جانب الخادم لتطوير برمجة الخلفية لتطبيقات المؤسسات. حيث أن 90% من شركات فورتشن 500 تستخدم جافا.

    بالإضافة إلى ذلك هادوب (Hadoop) والذي هو إطار معروف مبني باستخدام لغة جافا ويستخدم للفرز ومعالجة البيانات الكبيرة، واستخدمتها الشركات لخدمات الويب مثل ياهو، وفيس بوك، وأمازون.

     

    • سي (C)

     

    تستخدم لغة سي (C) غالبًا لبرمجة نظم التشغيل، وهي لغة مشتركة لأنظمة التشغيل.

    أثرت هذه اللغة تقريبًا على كل لغات البرمجة، وسنقوم باختبارها في هذه المقالة وبالأخص أوبجيكتيف-سي (Objective-C) وسي ++ (C++).

    إذا كنت تعرف لغة سي (C) جيدًا فسيكون أسهل عليك معرفة اللغات المشهورة الأخرى. وبما أن لغة سي (C) تحتاج أكواد صعبة لأداء مهام بسيطة; فقد يجد المبتدئين صعوبة في البقاء متحمسين في تعلمهم لها إذا كنت لغتهم الأولى. ولكن معرفتك لهذه اللغة ستفديك كمبرمج على المدى لبعيد.

     

    • أوبجيكتيف-سي \سويفت (Objective-C / Swift) (لتطوير IOS)

     

    أوبجيكتيف-سي ( Objective-C) هي طبقة أنشئت على لغة سي (C) وهذا ما جعلها ثابتة. ونقول مع ذلك أنها قد تستخدم للأنواع الديناميكية. أبل‘ز سويفت (Apple’s Swift) هي لغة ثابتة صممت لتلائم لغة أوبجيكتيف-سي ولكن كتابتها الثابتة جعلتها أكثر عرضة للأخطاء.

    استوحيت لغة سويفت من لغة بايثون (Python) لعمل أكواد للمبتدئين ومعرفتها بسهولة، ومن أهدافها إصلاح بعض مشاكل أوبجيكتيف-سي.

     

    • سي ++ (C++)

    سي ++ (C++) هي لغة قوية مبينة على لغة سي (C) وصممت لبرمجة نظم التشغيل، ولكنها استخدمت لإنشاء محركات اللعبة\الألعاب وتطبيقات سطح المكتب وتطبيقات الجوالات وتطبيقات الشبكة العنكبوتية.

    تعتبر سي++ لغة قوية وسريعة! حتى أن موقع الفيس بوك استفاد منها في تطوير أجزاء ذات كفاءة وأداء عاليين.

     

    الكثير من البرامج أنشئوا باستخدامها، منها نظام أدوبي (Adobe Systems) وأمازون، وباي بال (Paypal) وكروم وغيرهم الكثير.

    مثل سي، تعتبر لغة سي++ صعبة على المبتدئين أن يتعلموها بأنفسهم. لذلك، عندما تقرر أن تتعلم لغة سي ++ (C++) كأول لغة برمجة، لا تتردد بالبحث عن معلم عن طريق ميت-أبس (Meetups) أو إيجاد معلم أكواد للغة سي ++ (C++).

     

    • سي (C)

    سي# (C#) (سي شارب ("C Sharp")) والتي طورت ليستخدمها مايكروسوفت. نت فريم ورك (Microsoft’s .NET framework)، تشغل بشكل أساسي مايكروسوفت ويندوز!.

    تستخدم هذه اللغة لتطوير الشبكة العنكبوتية والألعاب وبرامج مايكروسوفت بشكل عام. ورغم من أن مايكروسوفت لم تعرف بكونها متوافقة مع منصات مختلفة في الماضي، فقد بدأ اكساماريان (Xamarin) بمشروع مفتوح المصادر يعرف بـ“مونو“ (Mono) والذي يهدف لإيصال سي # لمنصات أخرى، وأن يوصل أفضل أدوات التطوير لمطوري نظام لينيكس.

    مؤخرًا، أصبح بإمكانك استخدام سي# لإنشاء تطبيق جوال بلغة برمجة معينة ل أي.او.اس (iOS) والأندرويد من خلال اكسامريان.

     

    أخرى

     

     

    • اس.كيو.ل (SQL)

     

     

    اس.كيو.ل( سيكول) (SQL (”Sequel"))، أو: لغة الاستعلامات البنيوية هي لغة استعلامات(٤) مستخدمة للتواصل مع قواعد البيانات. وعلى الرغم من أن هذه اللغة لا تستخدم في إنشاء التطبيقات، إلا أنها تستخدم لإدارة بيانات التطبيقات التي تستخدم أنظمة إدارة بيانات ذات علاقة ار.دي.ام.اس (RDMS).

     

     

     

     

    قد تريد أيضا قراءة: أكثر من عشرين مورد لتصبح مطور

     

    فرص العمل

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

    نستطيع تقسيم لغات البرمجة إلى تسعة طبقات وذلك بناء على تقديرات الرواتب في الولايات المتحدة من تحليل الإعلانات الوظيفية لموقع انديد.كوم/indeed.com.

     

     
     

    بناءً على النتيجة، تعتبر لغة روبي\ روبي اون رايلز مربحة ماديًا، كما تعتبر أن لغة باثيون، و سي++و أي.او.اس (iOS) وجافا سكريبت خيارات جيدة أيضًا. وقد تكون لغات سي، و بي.اتش.بي، واس.كيو.ل ليست بالخيارات الجيدة إذا كان همك الأساسي هو الراتب.

    قد يتأثر متوسط الراتب بكثيرٍ من الأشياء مثل كثرة الطلب (كم من منشورات الوظائف موجودة)، والعرض (كم مطور يعرف اللغة)، والخبرة (المطور الجديد قد يأخذ راتب أقل من المطور ذو الخبرة). لذا فإنه من الجيد التفكير جيدًا في هذه العناصر قبل الوصول إلى أي استنتاج.

     

    اتجاهات سوق العمل

    ما مدى احتمال حصولك على وظيفة بناءً على لغة البرمجة التي تعرفها؟ هذه نظرة سريعة على اتجاهات سوق العمل من موقع انديد.كوم (indeed.com):

     

     

     

    كما نرى في هذه الصورة أن لغات سي، واس.كيو.ل، وجافا، وجافا سكريبت، هي الأكثر ذكرًا في منشورات الوظائف، في حين أن لغات سي#، وسي ++، وبايثون هي لغات سهلة.

     

    وقد يكون اتجاهات سوق العمل من موقع انديد. (indeed.com) ليس بالمؤشر الجيد لك إذا كان هدفك هو العمل في الشركات الناشئة. حيث توجد منشورات وظائف الشركات الناشئة في موقع انجيل ليست (AngelList).

    سنلقي نظرة على مدى الطلب لمهارات البرمجة المبنية على إعلانات مطوري البرامج في هذا الموقع.

     

     


     

    يمكننا القول أيضًا أن لغة جافا سكريبت أصحبت أكثر المهارات المطلوبة، ولكن كما يبدو، الشركات الناشئة تفضل بايثون، وجافا أكثر ( كانت لغة روبي (اون رايلز) قبل سنتين) من لغة روبي وبي.اتش.بي، وسي، و سي#.

     

    سوق العرض للمبرمجين

    دعونا نلقي نظرة على المهارات التي يملكها المستشارين في موقع كود-مينتور (Codementor):

     


     

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

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

    مبرمجي جافا سكريبت هم حالة خاصة.  فبغض النظر أن لديهم وجود عالي في السوق ولكنهم ليسوا في أسفل طبقات الوظائف. سنلقي نظرة أخرى علي هذه اللغة في هذه المقالة.

     

    معدل الرواتب

     

    لديك الآن فكرة عن المطلوب والموجود في سوق العمل لكل لغة. لذلك، دعنا نلقي نظرة على الراتب المتوقع الذي قد تكسبه بناءً على معلومات الرواتب من إعلانات الوظائف. البيانات صادرة من موقع جورو.اي.او (gooroo.io) حيث أن هذا الموقع يعلن عن الرواتب عادة مشتقه من قيمة معدل الرواتب المعروضة في كل إعلان وظيفي.

     

     

     كما ترى أعلاه، مبرمجي لغة روبي أوسي++، أو جافا يحصلون على رواتب أعلى في بداية عملهم، بينما يحصل مبرمجي لغة بايثون وروبي على أعلى الرواتب المتوقعة، وهذا يعني أن المبرمجين الجيدين للغات روبي\بايثون قلة ومطلوبون بشكل كبير. ويبدو أيضًا أن رواتب مبرمجي لغة جافا سكريبت شهدت انخفاضًا كبيرًا، حيث أنها وصلت إلى أعلى حد لها في ابريل سنة 2015 براتب ١٨٨،١٦٨ دولار أمريكي والآن هي تقريبا ١٠٧ ألف دولار أمريكي، ومع ذلك فلا تزال جافا سكريبت  حالة خاصة ودعونا نرى السبب.

     

    الحالة الخاصة لإطارات جافا سكريبت (JavaScript)

    تعتبر مقارنة لغة جافا سكريبت مع اللغات الأخرى، مقارنة غير دقيقة تركز على كم ستجني في حال كنت تعرف لغة جافا سكريبت.

    وكما ذكر أعلاه في النظرة العامة على لغات البرجمة فإن لغة جافا سكريبت تعتبر فئةً ضخمة. تم تطوير الكثير من الإطارات لتسهيل برمجة واجهة المستخدم المخصصة للويب، لذا إذا كنت تعرف فقط جافا سكريبت و جي كوايري (jQuery) ستجني أقل من المبرمجين الذي يعرفون نوع من إطار جافا سكريبت.

    دعنا نلقي نظرة على معدل الرواتب لمختلف مطوري إطار جافا سكريبت في أمريكا ( ملاحظة: يمكن القول أن ري اكت (React) و باك بون (Backbone) مكتبات لا إطارات وأن نود. جي.اس (Node.js) ليست محيطًا فقط):

     

     

     

    معدل الرواتب الآن ليس بذلك السوء، وبشكل خاص لنود.جي.اس (Node.js) حيث أن لها مستقبل جميل. وتعتبر جافا سكريبت مهارة مربحة لأنها مفتاح الأساس لتعلم هذه التقنيات.

     

    دعنا نلقي نظرة على حاجة سوق العمل لمبرمجي هذه الإطارات:

     

     

     

    تستخدم نود.جي.اس ( Node.js) عادةً لبرمجة الخلفية، لذا إذا كنا نريد إطارات الواجهة فقط، سترى أن انجوليار.جي.اس (AngularJS) فائزة ومطلوبة بشكل كبير. لذا إذا كنت تريد أن تصبح مبرمج واجهة باستخدام لغة جافا سكريبت فإن عليك تعلم انجوليار.جي.اس (AngularJS).

     

    في المقابل، ري-اكت (React) تقنية جديدة إلى حدٍ ما وقد اكتسبت زخمًا بسرعة حتى أنها أصبحت تنافس مراحل أنجولا.جي.اس (AngularJS) المبكرة. ومع كونها لا تزال في مرحلة اكتساب الزخم، إلا أنها يحتمل أن تصبح الأكثر طلبًا على نحوٍ كبير، وتستخدم استخدامًا أكثر من أنجولا.جي.اس (AngularJS) وبالتالي، ستقدم تجربة مستخدم أفضل.

     

    إليك دليلًا مفيدًا حول كيفية المقارنة بين ري اكت.جي.اس (React.js) وانجولار.جي.اس (Angular JS).

     

    موارد البرمجة

    إذا كنت تعلم القليل عن عالم المبرمجين فإنك من المحتمل أن تعرف عن أهمية وفائدة دعم مبرمج لمبرمجٍ أخر، خصوصًا إذا كنت تريد أن تتعلم بنفسك. وجودك كجزء من مجتمع داعم سيجعل حياتك البرمجية أسهل بكل تأكيد.

     

    • مجتمع ستاك-أوفر-فلو (StackOverflow)

    يعد مجتمع ستاكوفيرفلوو(StackOverflow) أكبر مجتمع يستخدمه المبرمجون حول العالم لمساعدة المبرمجين وطلب المساعدة منهم. لذا سنقوم باختبار مدى شعبية مجتمع اللغة وكذلك مدى فائدتها للغات الأخرى.

     

    شعبية اللغة

    نستطيع أن نرى ذلك بناء على وسم المتابعين في ستاك-أوفر-فلو (StackOverflow) الشعبية العامة للغة:

     

     

     

    نحن نعلم بالفعل من دراسة اتجاهات العمل أن مبرمجي لغتي جافا، وجافا سكريبت مطلوبون بشكلٍ كبير، لذا ليس من المفاجئ أن يكون لديهم أعلى وسم متابعين. تعتبرالآن جافا سكريبت التي تحل محل جافا أكثر الوسوم استخدامًا في ستاك-أوفر-فلو (StackOverflow). (إن من المثيرة للاهتمام كيف قررت جامعة ستانفورد مؤخرًا أن تدرّس جافا سكريبت بدلا من جافا (Java) في دورة البرمجة التمهيدية!)

     

    ولدى اس.كيو.ل، وروبي، وسويفت أقل عدد متابعين في المجتمع. قد يكون ذلك بسبب أن لغة روبي  تستخدم تقريبًا فقط لتطوير الشبكات/المواقع، في حين أن سويفت لاتزال لغةً جديدة.

     

    معدل الإجابة في ستاك-أوفر-فلو (StackOverflow)

    لدى مجتمع ستاك-أوفر-فلو (StackOverflow) قاعدة غير معلنة بحيث أنه يجب عليك أن تصيغ سؤالك بشكل صحيح أو لن يكلف الناس أنفسهم بالإجابة عليك. ومع أخذ ذلك بعين الاعتبار، دعنا نلقي نظرة على مدى احتمالية الإجابة على سؤالك لكل لغة:

     

     
     

    بناءً على ما لدينا من معلومات، فعلى الرغم من أنه يوجد عدد قليل يتابع لغة سي، واس.كيو.ل، وسي++، إلا أن أكثر من ٦٠٪ من الأسئلة المتعلقة بهم تحصل على إجابة. ومن المحتمل أن يجادل أولئك الذين يدركون أن C و C ++ لغات متقدمة بأن المستخدمين الذين يطرحون هذه الأسئلة هم على الأرجح مبرمجين ذو خبرة ويعرفون صياغة أسئلتهم بشكلٍ أفضل. من ناحية أخرى، فإن اس.كيو.ل لا تستخدم للإنشاء.

    ومن الجدير بالملاحظة، مدى مساعدة مبرمجي لغتي بايثون وروبي في ستاك-أوفر-فلو (StackOverflow). بما أن لغتي بايثون وروبي هم أكثر اللغات الموصّى بها للمبتدئين، فإن هنالك أسئلةً أكثر عنهما. وكما ذكرنا سابقًا، المبتدئين لديهم مشاكل عادةً في صياغة أسئلتهم بشكل صحيح.

    قد يظن أحدهم أن أسئلة المبتدئين لا يجيب عليها أحد، ولكن من المفاجئ أن ٦٠٪ تقريبًا من الأسئلة حول بايثون وروبي تُجاب خلال ثلاثين يومًا.

     

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

     

    • جيت هاب (GitHub)

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

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

     

     

    كما هو واضح في التخطيط، لغة جافا سكريبت أكثر الأدوات الجديدة شهرة حتى لو استثنينا كل ارشادات التنسيق ومصادر التعلم والبرامج التعليمية. تعرّف جافا سكريبت بأنها لغة تطورت بسرعة وذلك مع ارتفاع معدل الأطر والتقنيات الجديدة، ففي بعض الأحيان قد يجد المبرمجين صعوبة في مواكبة الابتكارات المستمرة. بالإضافة إلى أن جافا سكريبت تستخدم غالبًا لبرمجة الواجهة وهذا بخلاف منصة نود.جي.اس (Node.js)، لذا فإنها لا تتنافس مع لغات برمجة الخلفية مثل روبي، وبايثون، وجافا، وبي.اتش.بي. ومع أخذ ذلك بعين الاعتبار فإن الفجوة الكبيرة بين جافا سكريبت وبقية لغات البرمجة غير مفاجئة.

     

    من جهة أخرى، لغة روبي، واوبجيكتيف-سي أيضًا لديهم الكثير من الأدوات والموارد للتطوير. وقد نرى الآن في مقارنة ستاك-أوفر-فلو (StackOverflow) أن هاتين اللغتين ليستا بشهرة جافا. ولقد وجد المبرمجين أن المشاريع مفتوحة المصدر في جيت هاب (GitHub) أكثر فائدة من ستاك-أوفر-فلو (StackOverflow). وهذا صحيح خاصة مع اوبجيكتيف-سي حيث أنك إذا فحصت كل المشاريع المكتوبة في كل لغة:


     

     


     

    إضافةً إلى ذلك، أغلب المشاريع مفتوحة المصدر المكتوبة بلغتي سي\سي++ يمكن تطويرها بنفس اللغات لأنها فقط أدوات مكتوبة للمساعدة في البرمجة بشكل عام (مثلًا مترجم بايثون الأكثر استخدامًا: سي بايثون (CPython)، مكتوب بلغة سي (C)). وكما ذكر أعلاه في المقدمة إلى لغات البرمجة أن لغتي سي\سي++ يستخدمان عادةً في تطوير نظم التطبيقات. ولذا فإنه من المنطقي أن المشاريع مفتوحة المصدر في جيت هاب (GitHub) هي أدوات نظام. ومع ذلك فإنه يمكن تعلم الكثير من هذه المشاريع.

    وأخيرًا، لغتي اس.كيو.ل، وسويفت لا يوجد لديهم الكثير من المصادر المتاحة.

     

    مستقبل كل لغة من لغات البرمجة

    ما مدى الملائمة التي ستكون عليها لغة برمجة معينة في المستقبل؟ في البداية، إن مستقبل اللغة سيعتمد بشكلٍ كبير على مدى نمو مجتمعه مثل: المنتمون الجدد \ معدل التبني لهذه اللغة، هما اللذان يجعلان للغة شعبية ويضمنان استمرار وجود مصادر لها. لذا دعنا نلقي نظرة على ماهي اللغات التي يتهم الناس بتعلمها:

    شعبية لغات البرمجة

     

     


     

    كما يظهر هنا، لغة بايثون، وجافا سكريبت، وجافا، وسي++ -سي# (C#) ظهرت في المركز الثالث سنة 2014- هم الأكثر نموًا من حيث رغبة الناس في تعلمهم. وبناءً على الاتجاهات المعروفة، يمكننا الوصول إلى هذه النتائج:

     

    جافا سكريبت ( JavaScript)

    لغة جافا سكريبت ومن دون شك ستزيد شعبيتها خاصة بسبب أنها تستخدم الآن لبرمجة الخلفية، ومن المحتمل أنه يمكن استخدامها لإنشاء تطبيق جوال باستخدام لغة واحدة (من خلال ري-اكت نيتف (React Native). وتستمر هذه اللغة في عمل أدوات وتحديثات جديدة بوتيرة سريعة ولذلك فإننا يمكننا توقع بقائها كلغة مهمة جدًا في المستقبل.

     

    تريد تعلم جافا سكريبت (JavaScript)؟ تعلمها بنفسك.

     

    روبي (Ruby)

    تحب الشركات المبتدئة روبي اون رايلز. ولقد أنشئ الكثير من المواقع باستخدام رايلز مثل أير بي أند بي (Airbnb)، وتويتش (Twitch)، وهولو (Hulu) وهذا يعني أنهم دائمًا يبحثون عن مبرمجين لهذه اللغة. يستمتع المبرمجون باستخدامها، كما أنها لغة سهلة في التعرف لذا نعتقد أنها ستستمر في أن تكون لها شعبية في برمجة كل جديد.

     

    مع ذلك، بداية شهرة نود.اس.جي (Node.js) ستؤثر بالتأكيد على شعبية روبي اون رايلز حيث أنها بالفعل تجاوزت شعبيتها شعبية رايلز في جيت هوب (Github). وفي حين ان تلك العلامة ليست بالأكيدة يجب علينا ملاحظة أن رايلز أخذت مكان أكبر إطار للغة بايثون والذي هو ديجانجو (Django) المستخدم في البرمجة الخلفية، ورايلز لديها تفضيل أكثر من ديجانجو (Django).

     

    علاوةً على ذلك، هناك اتجاه جديد والذي هو تطبيقات إيسومورفيك (isomorphic) التي تستخدم لتطوير أداء تطبيقات الشبكة العنكبوتية والتي ستؤثر على اعتماد رايلز. وفي حين أن تطبيقات إيسومورفيك (isomorphic) تحتاج إلى منصة نود.اس.جي (Node.js) لتعمل والتي هي من لغة جافا سكريبت (Node.js) (اللغة المستخدمة في برمجة الواجهة) ولذلك فإن نود.اس.جي ستستمر لتصبح أكثر شعبية مع مرور الوقت.

     

    جاذبية إتقان لغة برمجة معيّنة (جافا-سكريبت) إتقانًا تامًا، قد تثني المبرمجين الجدد عن تعلم لغة روبي. قوقل قو (Google's Go) هي بديل أخر لبرمجة الخلفية، وقد تلقت الاهتمام في أخر سنتين.

     

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

     

    هل تريد تعلم روبي اون رايلز (Ruby on Rails)؟ هنا يوجد بعض المصادر الجيدة!


     

    بايثون (Python)

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

     

    هل تريد تعلم لغة بايثون (Python)؟  أحصل على تدريب للغة بايثون (Python).

     

    بي.اتش.بي ( PHP)

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

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

    بدأ مجتمع بي.اتش.بي  بتقديم إرشادات جديدة حول كيفية البرمجة الصحيحة باستخدامها وأدوات جديدة للتخلص من السمعة السيئة، ولكن بشكلٍ عام، يبدو أن مستقبلها سيبقى راكدًا منذ ٢٠١٥ (على الأقل في أمريكا). وعلى الرغم من أن البعض لديه أمل في أن تحيي بي.اتش.بي7 (PHP7) المجتمع إلا أنها مازالت معروفة بأنها ناقصة.

     

    جافا (Java)

    كان لنظام أندوريد أهمية كبيرة في إبقاء لغة جافا أكثر لغات البرمجة شهرة، ويحبها الكثير من الشركات أيضًا لأنها مستقرة نسبيًا وقابلة للتوسع.

    ومع انتشار سبارك (Spark) ( التي تستخدم لغة سكالا (Scala)) وكاساندرا (Cassandra) (التي تدعم لغات أخرى) فإنه من الصعب معرفة كم من الوقت ستستمر هادوب (Hadoop) في المنطقة على أنها أكثر إطار بيانات شعبية، ولكن لن تموت هذه اللغة لأن الشركات لا تحب التغيير. ويمكننا قول ذلك أيضًا عن لغة جافا بشكلٍ عام حيث أنها أداة ممتازة لبرمجة الخلفية وأكثر استقرارًا لبرمجة الشركات.

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

     

    أوبجيكتيف-سي\سويفت (Objective-C/Swift)

    بما أن لغة أوبجكتف-سي تعمل فقط على برامج شركة أبل، وبعد إطلاق أبل مؤخرًا للغة البرمجة سويفت، لا يتوقع أحد بقاء أوبجيكتيف-سي لفترة طويلة. في المقابل، ستبقى سويفت مهمة في السنوات القادمة مادام لناس لازالوا يستخدمون منتجات شركة أبل.

     

    هذا لا يعني أنه لا يجب عليك تعلم أوبجيكتيف-سي في ٢٠١٧ بما أن أغلب مشروعات برمجة اي.او.اس (iOS) مفتوحة المصدر مكتوبة بلغة أوبجيكتيف-سي. وبشكلٍ عام، إنه من غير الجيد استخدام شيء لا تفهمه.

    أخيرًا، يعتبر تعلم أوبجيكتيف-سيسهلًا إذا كنت تعرف سويفت والعكس صحيح.

     

    هل تريد إنشاء تطبيق أي.او.اس (iOS)؟ تعلم سويفت (Swift) مع مرشدينا المفضلين!

     

    سي (C)

    ستبقى لغة سي  في الساحة مع أنها تعتبر لغة منخفضة المستوى بالنسبة للغات البرمجة، وذلك بسبب أنها نظام تشغيل مشترك وكثير من أدوات البرمجة مكتوبها باستخدام هذه اللغة.

     

    اس.كيو.ل (SQL)

    مسؤولي قاعدة البينات عالميًا يفهمون لغة اس.كيو.ال. وقد يبدو للحظات أن هذه اللغة فقدت أهميتها بسبب شهرة خدمات نو.اس.كيو.ال (NoSQL) مثل مونجو.دي.بي (MongoDB) وريديز (Redis) وشهرة نون-اس.كيو.ال (non-SQL) باستخدام منصات حوسبة البيانات الكبيرة مثل هادوب، وسبارك، وكاساندرا. قد تحدث كثير من الناس حول كيفية وفاة لغة اس.كيو.ال.

     

    على ما يبدو أنه ليس كما يقال، ونتيجةً لذلك اضطرت نو.اس.كيو.ال (NoSQL) إلى تغيير سمعتها وتصبح ”ليست فقط مع اس.كيو.ال (SQL).“

     

    وقد أصبح الطلب على اس.كيو.ال عاليًا مع زيادة البيانات الكبيرة وصعوبة إدارتها ( كما تعرف من اتجاهات الوظيفة).و قد حدثت قوقل مؤخرًا خدمة بيج كوايري (BigQuery) حيث أنها الآن تستطيع استيعاب مئة ألف صف في الثانية لكل جدول وهذه الخدمة تستخدم اس.كيو.ال. ولدى سبارك وحدة سبارك اس.كيو.ال (Spark SQL) منذ نسخة ١.٣ لمنتجات مثل كلستريكس.دي.بي (ClustrixDB) وديب.اس.كيو.ال (DeepSQL) وميم.اس.كيو.ال (MemSQL) وفولت.دي.بي (VoltDB) وكل ما عليك القيام به هو إضافة السلعة فيها بدلا من تحجيم خادم قاعدة البيانات.

     

    أخيرًا، اس.كيو.ال مهمة مرةً أخرى لأنها مطلوبة لإدارة البيانات الكبيرة وتحليلها (لا تستخدم في التخزين).  ويتوقع مجتمع المبرمجين نوع من أنواع التوحيد لاس.كيو.ال ونواس.كيو.ال (NoSQL). وفي الحالتين، ستستمر أهمية اس.كيو.ال إضافةً إلى انتشارها وتوسّعها.

     

     

     

    المقالة الأصليّة

     

    -جميع صور وبيانات الإحصائيات في المقالة أعلاه تم نقلها مباشرةً من موقع codementor، وليس لنا ملكيتها أو حريّة تعديلها/التصرف بها-

    ________________________________

     

     

     

    ملاحظات المدقق:

    (١): نظام التنويع الثابت/Statically Typed يعني أن البرنامج يظهر لك الخطأ فورًا عند كتابته ولايمكن إكمال الترجمة حتى يتم تصحيح الخطأ، مثلًا، نسيت إضافة رمز قبل أو بعد الكود، في هذه الحاله، المترجم/compiler لن يسمح لك بإكمال الكتابة حتى تصحح الخطأ.

    (٢): برمجة الخلفية/back-end: هي البرمجة التي تعنى بالوظائف والبيانات للموقع، لاتظهر للمستخدم على الشاشة إنما تعمل في إدارة الأوامر والبرنامج بشكل عام.

    (٣): هي تقنية تستخدم عادة في تطوير مواقع الويب، تمنح المبرمج الفرصة ليستخدم نصوصًا على الخادم (السيرفر) ليعطي النتيجة/الرد المناسب لكل مستخدم بشكل فردي. بالمقابل، يوجد خادم/سيرفر يمنحك صفحة ويب ثابتة.

    (٤): لغة برمجة تستخدم للاستعلام عن والتعامل مع قواعد البيانات وطلب المعلومات.

     

    Share on Facebook
    Share on Twitter
    Please reload

    تابعنا
    ابحث بالتاق