التصنيفات
أخبار

ما هي لغة البرمجة التي يجب أن أتعلمها أولاً في عام 2024

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

تبدأ رحلة معظم الناس نحو تعلم البرمجة ببحث متأخر في الليل على “جوجل”.

عادةً ما يكون شيئًا مثل “تعلم ______”

لكن كيف يقررون أي لغة يبحثون عنها؟

“دائمًا ما يمزحون حول “Java” في “Silicon Valley”. أعتقد أنه يجب علي تعلمها.”

أو:

“”Haskell”. إنها رائجة جدًا الآن. “Haskell”.

أو:

“هذا “Go gopher” لطيف جدًا.”

ثم هناك بقية منا.

ربما سنبحث عن شيء مثل: “أي لغة برمجة يجب أن أتعلم أولاً؟”

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

يمكن أن تكون عملية اختيار لغة البرمجة الأولى ممتعة — تشبه إلى حد ما أحد تلك الاختبارات الشخصية “أي شخصية من شخصيات “Quentin Tarantino” أنت؟”.

لكن قبل أن تندفع لتعلم “Ruby” لأنك استمتعت باللعب مع “Play-Doh” عندما كنت طفلاً، دعني أذكرك: المخاطر هنا مرتفعة جدًا.

سيتطلب الأمر منك مئات الساعات من الممارسة لتصبح حتى بشكل ضئيل كفؤًا في لغتك البرمجية الأولى.

لذا يجب أن تأخذ بعين الاعتبار العوامل التالية:

  • سوق العمل لهذه اللغة
  • آفاق اللغة على المدى الطويل
  • مدى سهولة تعلم اللغة
  • ما المشاريع التي يمكنك بناؤها أثناء التعلم (ومشاركتها مع الأصدقاء حتى تبقى متحمسًا)

كل عام يأتي بلغات برمجة جديدة، ومعها، أوراق أكاديمية جديدة. وكوميديا ويب جديدة.

جدياً. تحقق من هذه الجوهرة من الشهر الماضي:

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

لقد شهدت “Java” تقلبات في شعبيتها.

بينما ارتفعت “Python” تدريجياً لتصبح الخيار الأكثر شيوعًا.

لكن تحت هذه اللغات، هناك “Little Engine That Could”، التي تزداد شعبية ببطء على مر السنوات القليلة الماضية. وتلك اللغة هي “JavaScript”.

قبل أن أتحدث عن هذه اللغات البرمجية، دعني أوضح:

  • لا أجادل بأن أي لغة واحدة أفضل موضوعيًا من الأخرى
  • أتفق على أن المطورين يجب أن يتعلموا في النهاية أكثر من لغة واحدة
  • أجادل بأن عليهم أولاً أن يتعلموا لغة واحدة بشكل جيد. وكما يمكنك أن تخمن من النص المقلوب في عنواني — يجب أن تكون هذه اللغة هي “JavaScript”.

لنبدأ باستكشاف كيفية تدريس البرمجة حاليًا في المدارس.

مقدمة في علوم الكمبيوتر 101

تاريخيًا، كانت الجامعات تعلم البرمجة تحت مظلة علوم الكمبيوتر، والتي تُعتبر غالبًا امتدادًا للرياضيات، أو مرتبطة بشهادة في الهندسة الكهربائية.

بالطبع، كما قد تكون سمعت الآن:

“التعليم في علوم الكمبيوتر لا يمكن أن يجعل أي شخص خبيرًا في البرمجة أكثر مما يمكن أن تجعل دراسة الفرشاة والصبغ شخصًا خبيرًا في الرسم.” — إريك إس. رايموند

لا تزال العديد من الجامعات تعالج البرمجة كما لو كانت علوم الكمبيوتر، وعلوم الكمبيوتر كما لو كانت الرياضيات.

نتيجة لذلك، تركز العديد من دورات البرمجة التمهيدية على لغات ذات مستوى منخفض من التجريد مثل “C”، أو لغات تركز على الرياضيات مثل “MATLAB”.

وعادةً ما يلتزم رؤساء الأقسام بالمسار، مشيرين إلى قوائم تصنيف لغات البرمجة السنوية مثل مؤشر “TIOBE”، أو هذا من IEEE:

معظم قوائم المتصدرين هذه تبدو متطابقة تقريبًا كما كانت قبل 10 سنوات.

لكن التغيير يحدث. حتى في الأوساط الأكاديمية.

في عام 2014، تجاوزت لغة Python لغة Java كأكثر لغات التعليم شعبية في أفضل برامج علوم الحاسوب في الولايات المتحدة.

ومع ذلك، من المؤكد أن تغييرًا آخر سيحدث في النهاية.

لأنه إذا نظرت إلى اللغات التي يستخدمها العمال فعليًا، ستظهر صورة مختلفة تمامًا:

JavaScript هي بالتأكيد أكثر اللغات شعبية بين 49,397 مطورًا استجابوا لاستطلاع Stack Overflow.

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

كما أن إعلانات الوظائف تشير إلى JavaScript أكثر من أي لغة برمجة أخرى باستثناء Java:

بيانات من أكبر مجمع إعلانات الوظائف في العالم، [Indeed.com]

ليس من قبيل المصادفة أننا بنينا منهج مجتمعنا مفتوح المصدر حول JavaScript. على مدار العامين الماضيين، استخدم أكثر من 5,000 شخص Free Code Camp للحصول على أول وظيفة مطور لهم.

أنا لا أروج لـ JavaScript لأنني أدرسها. أنا أدرس JavaScript لأنها الطريق الأكثر أمانًا للحصول على أول وظيفة مطور.

لكن هل JavaScript مناسبة لك؟ هل تستحق أن تكون لغتك البرمجية الأولى؟ دعنا نستكشف تلك العوامل التي ذكرتها سابقًا.

العامل الأول: سوق العمل

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

كما ذكرت سابقًا، يتم ذكر Java في المزيد من إعلانات الوظائف أكثر من أي لغة برمجة أخرى. JavaScript تأتي في المرتبة الثانية قريبًا.

لكن إليك الأمر حول JavaScript: على الرغم من أنها موجودة منذ 20 عامًا، إلا أنها أصبحت مؤخرًا أداة جادة تبني الشركات مثل Netflix وWalmart وPayPal تطبيقات كاملة حولها.

نتيجة لذلك، تقوم العديد من الشركات بتوظيف مطوري JavaScript، لكن لا يوجد عدد كبير منهم في سوق العمل.

بيانات من [Indeed.com]

هناك 2.7 مطور Java يتنافسون على كل وظيفة شاغرة في Java. المنافسة على وظائف PHP وiOS شديدة بنفس القدر.

لكن لكل وظيفة شاغرة في JavaScript، هناك فقط 0.6 مطور JavaScript. إنه حقًا سوق موجه للبائعين للمطورين الذين يمتلكون مهارات JavaScript.

العامل الثاني: الآفاق على المدى الطويل

يتلقى متوسط مشروع JavaScript ضعف عدد طلبات السحب مقارنة بمتوسط مشروع Java أو Python أو Ruby. وعلى رأس ذلك، تنمو JavaScript أسرع من أي لغة شعبية أخرى.

أكثر لغات البرمجة استخدامًا لمشاريع GitHub، والتي تُعتبر مؤشرًا جيدًا لشعبية اللغات بشكل عام

كما أن نظام JavaScript البيئي يستفيد من استثمار كبير من المال والموهبة الهندسية من شركات مثل Google وMicrosoft وFacebook وNetflix.

على سبيل المثال، تحتوي TypeScript (وهي مجموعة من JavaScript ذات نوع ثابت) على أكثر من 100 مساهم مفتوح المصدر، العديد منهم موظفون في Microsoft وGoogle يتلقون أجورًا للعمل عليها.

هذا النوع من التعاون بين الشركات يصعب العثور عليه مع Java. Oracle — التي تمتلك Java بفاعلية من خلال استحواذها على Sun Microsystems — غالبًا ما تقاضي الشركات التي تحاول التوسع فيها.

العامل الثالث: صعوبة التعلم

هذه محاكاة لرسوم كاريكاتورية [XKCD]

سيوافق معظم المبرمجين على أن لغات البرمجة عالية المستوى سهلة نسبيًا للتعلم. تقع JavaScript في هذه الفئة، جنبًا إلى جنب مع Python وRuby.

على الرغم من أن الجامعات لا تزال تعلم لغات مثل Java وC++ كلغات أولى، إلا أنها أصعب بكثير في التعلم.

العامل الرابع: المشاريع التي يمكنك إنشاؤها بها

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

نظرًا لانتشار JavaScript، قام جيف أتود، أحد مؤسسي Stack Overflow، بصياغة قانونه الشهير:

“أي تطبيق يمكن كتابته بلغة JavaScript، سيتم كتابته في النهاية بلغة JavaScript.”

ومع مرور كل شهر، يظل قانون أتود قويًا.

كما وعدت Java يومًا ما بتشغيلها في كل مكان. قد تتذكر Java Applets. حيث قضت Oracle عليها رسميًا في وقت سابق من هذا العام.

تعاني Python من مشكلات مشابهة:

“كيف يمكنني إعطاء هذه اللعبة التي صنعتها لصديقي؟ والأفضل من ذلك، هل هناك طريقة يمكنني من خلالها وضعها على هاتفي لأظهرها للأطفال في المدرسة دون الحاجة إلى تثبيتها؟ أم.” — جيمس هيغ في التخلي عن Python كلغة تعليمية

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

لعبة حياة كونواي

لعبة سيمون على طراز السبعينيات

بحث ويكيبيديا بطابع حرب النجوم

لعبة زحف زنزانة على طراز روجلايك

تعلم لغة واحدة جيدًا. ثم تعلم لغة ثانية.

إذا استمريت في الانتقال من لغة إلى أخرى، فلن تذهب بعيدًا.

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

من هناك، يمكنك التوسع، وتصبح مطورًا أكثر توازنًا من خلال تعلم العديد من اللغات:

  • تعد C طريقة رائعة لتعلم كيفية عمل أجهزة الكمبيوتر فعليًا من حيث إدارة الذاكرة، وهي مفيدة في الحوسبة عالية الأداء
  • تعد C++ رائعة لتطوير الألعاب.
  • Python رائعة للعلوم والإحصائيات.
  • Java مهمة إذا كنت ترغب في العمل في شركات التكنولوجيا الكبيرة.

لكن تعلم JavaScript أولاً.

حسنًا، الآن سأحاول القيام بالمستحيل — سأحاول توقع الاعتراضات من قسم التعليقات.

الاعتراض #1: لكن أليس JavaScript بطيئًا؟

JavaScript — لأغراض عملية معظمها — سريع مثل اللغات عالية الأداء.

JavaScript (Node.js) أسرع بمئات المرات من Python وRuby وPHP.

كما أنه تقريبًا بنفس سرعة اللغات عالية الأداء مثل C++ وJava وGo.

إليك نتائج أحدث اختبار شامل عبر اللغات:

الاعتراض #2: لكن JavaScript ليست ذات نوع ثابت

مثل Python وRuby، JavaScript ذات نوع ديناميكي، وهو أمر ملائم. لكن يمكنك أن تقع في المشاكل. هنا أعتزم أن يكون exampleArray مصفوفة. أضع قيمها، ثم أتحقق من طولها — مما يعني عدد العناصر التي تحتوي عليها.

exampleArray = [1, 2]
-> [1, 2]

exampleArray.length
-> 2

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

exampleArray = “text”
-> “text”

exampleArray.length
-> 4

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

إذا كان لا بد من وجود نوع ثابت في لغتك البرمجية الأولى، فلا يزال أوصي بتعلم JavaScript أولاً. ثم يمكنك بسرعة تعلم TypeScript.

“TypeScript له منحنى تعليمي، لكن إذا كنت تعرف JavaScript بالفعل، فسيكون ذلك سلسًا.” — أليكس إويرلوف عن TypeScript

الاعتراض #3: لكنني أريد حقًا صنع تطبيق موبايل

لا يزال أوصي بتعلم JavaScript أولاً.

  1. تحتوي JavaScript على العديد من الأدوات لإنشاء تطبيقات موبايل أصلية، مثل Angular Cordova و React Native.
  2. لكي يقوم تطبيق الموبايل الخاص بك بأداء أي شيء مثير للاهتمام، فمن المحتمل أن يحتاج إلى خلفية مناسبة، والتي سترغب في بنائها باستخدام إطار عمل تطوير ويب مناسب، مثل Node.js + Express.js.

ومن الجدير بالذكر أيضًا أن أفضل أيام تطوير تطبيقات الموبايل قد تكون وراءنا.

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

المطورون حسب المهنة، وفقًا لاستطلاع Stack Overflow لعام 2023. حصل هذا السؤال على 76,872 إجابة من مطورين شاركوا في الاستطلاع، لذا فهو يمثل عينة جيدة.

رؤية “هناك تطبيق لذلك” لم تتحقق. بدلاً من ذلك، فإن معظم مالكي الهواتف الذكية قد توقفوا عن تحميل تطبيقات جديدة.

بالتأكيد — لا يزالون يستخدمون التطبيقات. معظم استخدامها يتركز على فيسبوك، خرائط جوجل، وعدد قليل من التطبيقات الأخرى. وبالتالي، فإن الكثير من الطلب على مطوري تطبيقات الموبايل يتركز في عدد قليل من أصحاب العمل الكبار.

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

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

وهذا يعني JavaScript.

الاعتراض #4: أليس JavaScript لغة ألعاب كُتبت في عشرة أيام؟

لـ JavaScript تاريخ غريب.

لا شك أنك ستسمع الناس يسخرون منها.

حسنًا، يحب الناس أيضًا كره C++. ومثل JavaScript، نجحت C++ رغم هذا الكره، والآن هي موجودة في كل مكان تقريبًا.

لذا إذا أعطاك أي شخص وقتًا عصيبًا لتعلم JavaScript بدلاً من اللغة النخبوية لهذا الأسبوع، تذكر فقط الكلمات الشهيرة للشخص الذي أنشأ C++:

“يوجد نوعان فقط من لغات البرمجة: تلك التي يشتكي الناس منها دائمًا وتلك التي لا يستخدمها أحد.” — بيارني ستروسستروب

أنا أكتب فقط عن البرمجة والتكنولوجيا. إذا تابعتني على تويتر فلن أضيع وقتك. ؟

تمت ترجمة محتوى هذه المقالة من المقال الأصلي.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *