paint-brush
أيها السادة، اختاروا أسلحتكم! لغات البرمجة التي يجب (أو لا يجب؟) تعلمهابواسطة@shcherbanich
219 قراءة٪ s

أيها السادة، اختاروا أسلحتكم! لغات البرمجة التي يجب (أو لا يجب؟) تعلمها

بواسطة Filipp Shcherbanich7m2024/09/03
Read on Terminal Reader
Read this story w/o Javascript

طويل جدا؛ ليقرأ

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

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - أيها السادة، اختاروا أسلحتكم! لغات البرمجة التي يجب (أو لا يجب؟) تعلمها
Filipp Shcherbanich HackerNoon profile picture
0-item
1-item

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

هل كل يوم هو بداية جديدة؟

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


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


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


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

… أم أن الذهب القديم هو الذهب الحقيقي؟

ولكن من أجل الحقيقة، دعونا ننظر إلى الاتجاه الآخر لكل الأشياء التي ناقشناها في الفصل السابق. هل تعلم متى تم استخدام البطاقات المثقبة آخر مرة؟ فقط خمن... وما لم تكن قد غششت بالبحث عن الإجابة على جوجل الآن، فربما يكون تخمينك خاطئًا. الإجابة الصحيحة هي عام 2014. في ذلك العام، تم استخدام آخر البطاقات المثقبة تم استخدامها من خلال آلات التصويت في ولاية أيداهو خلال الانتخابات العامة في الولايات المتحدة. أو خذ لغة كوبول، التي حطمناها باعتبارها لغة عفا عليها الزمن قبل بضع فقرات فقط. حسنًا، اعتبارًا من عام 2017، وفقًا لـ رويترز كان 43% من جميع الأنظمة المصرفية تعتمد على لغة كوبول؛ وكان 80% من المعاملات الشخصية تستخدم لغة كوبول، وكان هناك 220 مليار سطر من التعليمات البرمجية المكتوبة بلغة كوبول لا تزال قيد الاستخدام. لذا فهناك في الواقع خط فاصل (ليس دقيقًا جدًا) بين عدم أهمية لغة ما للأنظمة الحديثة وإهمالها بشكل عام.


ما هي احتمالات أن تصبح لغة البرمجة التي تعرفها أو تنوي تعلمها قديمة وغير مفيدة في أي وقت قريب؟ لا توجد إجابة حقيقية على هذا السؤال، بل مجرد تخمينات. يقدر بعض المؤلفين متوسط دورة حياة لغة البرمجة في أي مكان بين 14 و 18.5 سنة . آحرون يقول إن الأمر أقرب إلى 25 عامًا للغات المهيمنة و5-6 سنوات للأدوات الأكثر تخصصًا وغرابة. ولكن هناك أيضًا وجهة نظر اخرى جدير بالذكر أن هذه النظرية تبدو مثبتة تاريخيًا. وهي تستند إلى تأثير ليندي، الذي وصفه نسيم نيكولاس طالب على أفضل نحو في كتابه 'مضاد الهشاشة: الأشياء التي تكتسب من الفوضى' "إذا ظل كتاب ما مطبوعاً لمدة أربعين عاماً، فمن المتوقع أن يظل مطبوعاً لمدة أربعين عاماً أخرى. ولكن، وهذا هو الفارق الرئيسي، فإذا استمر الكتاب لعقد آخر من الزمان، فمن المتوقع أن يظل مطبوعاً لمدة خمسين عاماً أخرى. وهذا ببساطة، كقاعدة عامة، يخبرك لماذا لا "تشيخ" الأشياء التي ظلت موجودة لفترة طويلة مثل الأشخاص، بل "تشيخ" في الاتجاه المعاكس. فكل عام يمر دون انقراض يضاعف متوسط العمر المتوقع الإضافي. وهذا مؤشر على بعض المتانة. فمتانة أي عنصر تتناسب طردياً مع عمره!"


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

فكر في المهن بدلاً من اللغات

إذن، ماذا ينبغي لنا أن نفعل؟ هل نتعلم لغة جديدة أم لغة قديمة؟ حسنًا، التعلم في حد ذاته أمر جيد دائمًا. تُظهر الأبحاث أن ما يقرب من نصف المطورين يفكرون في تعلم لغة جديدة. وفقًا لتقرير JetBrains " حالة منظومة المطورين بحلول عام 2023 "في استطلاع للرأي، أعرب أكثر من 40% من المشاركين عن هذه الرغبة. أظهر المطورون الذين يعملون بلغات JavaScript (49%) وPHP وPython (45%) وC++ (44%) أكبر قدر من الاهتمام بتعلم شيء جديد. يعتمد اختيار اللغة التي تريد تعلمها في الواقع على مسارك الوظيفي. إذا كنت تفكر في وظيفة مستقرة يمكن أن تستمر لفترة طويلة (ولكن ليس إلى الأبد)، فقد تختار شيئًا قديمًا ومجربًا. قد تنشأ مثل هذه الفرص في العلوم والتصنيع والبنوك التقليدية، أي المؤسسات ذات الآلات الباهظة الثمن و/أو البنية التحتية طويلة الأمد والتي تعتمد بشكل كبير على الكود القديم.


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


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

كن دائما عمليا

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


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


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