كما يقول المثل القديم، قليل من الأشياء في الحياة أسوأ من إحضار سكين إلى معركة بالأسلحة النارية. بصفتي مطورًا متمرسًا، يمكنني أن أخبرك أن هذا ينطبق بنسبة 100٪ على عالم البرمجة أيضًا. عليك أن تظل ذا صلة في صناعة تتغير بسرعة أكبر مما أكتب هذا المقال. أيضًا، لديك العديد من المهام المختلفة للقيام بها. لذلك، بعد سنوات من البقاء في هذه البيئة، أحتفظ دائمًا بألعابي المفضلة في متناول اليد ومحملة. للحصول على وظيفة صامتة ودقيقة، هناك C++ الموثوق بها. إذا كنت أرغب في إحداث ضجة كبيرة في البيانات، فسأختار R، وهي لغة باهظة الثمن إلى حد ما، ولكنها قوية بشكل مقنع. ولكن إذا أصبحت الأمور فوضوية حقًا، فسأزيل JavaScript من الحائط: لقد أبقتني على قيد الحياة في الماضي ولا يزال بإمكانها تحمل المزيد من الإساءة. لا توجد لغة جيدة أو سيئة للجميع. يعتمد الأمر عليك وعلى الوظيفة التي يتعين عليك القيام بها. لذا دعنا نناقش ما إذا كان يجب عليك دائمًا مواكبة الموضة أو الالتزام بالأشياء القديمة الجيدة. هذا السؤال أصعب قليلاً مما يبدو ...
ونظراً للطبيعة المبتكرة للتكنولوجيا، فإن مناقشة ما إذا كان ينبغي لنا أن نتعلم لغة أخرى قد تبدو سخيفة تماماً. والواقع أنه إذا توقف العالم عن الحركة، فسنظل نستخدم الألواح الطينية والعدادات. ومن حسن الحظ أن الرغبة في الابتكار تؤدي إلى تقدم مستمر، الأمر الذي يستلزم ترقية المهارات باستمرار. على سبيل المثال، في ستينيات القرن العشرين، كان التواصل مع أجهزة الكمبيوتر يتطلب ثقب الورق وإدخاله في آلة. أما اليوم، فقد أصبحت أجهزة الكمبيوتر تناسب جيوبنا، والثغرات الوحيدة التي نواجهها هي ميزانياتنا بعد شرائها. تخيل أن المطور الأكثر تقدماً في الستينيات يحاول أن يظل ذا صلة دون تطوير مهاراته.
إن لغات البرمجة تتطور بسرعة أكبر من سرعة مبتكريها. وتظهر المتطلبات والأفكار والأدوات الجديدة التي تغير جذريًا الأساليب والممارسات التقليدية بوتيرة ملحوظة. ويصبح المتخصصون الذين يتجاهلون هذه الحقيقة عتيقين مثل اللغات التي يتمسكون بها. ومن الأمثلة البارزة على ذلك لغة COBOL، التي أصبحت عتيقة تقريبًا مع التقدم التكنولوجي، على الرغم من شعبيتها في الستينيات لتطبيقات الأعمال.
وهناك سبب آخر لتعلم لغة برمجة جديدة وهو فرص العمل. فمع إدراكهم أن المعرفة الأكبر بأحدث التقنيات تزيد من فرصهم في الحصول على وظائف ذات رواتب عالية، يدرس بعض المتخصصين بحماس لغات جديدة. وهذا الجهد مبرر: إذ إن معرفة التقنيات الجديدة توسع بلا شك فرص العمل. وفي بعض الأحيان، تكون التقنيات الجديدة ضرورية حتى لو ظلت اللغة نفسها ذات صلة ولكن الشركة غيرت مجموعة التقنيات الخاصة بها. وفي مثل هذه الحالات، يتعين على الموظفين إما التكيف أو البحث عن وظائف جديدة. وعادة ما يختارون تعلم التكنولوجيا الجديدة.
إن تعلم لغات جديدة مفيد ليس فقط لأسباب عملية بل وأيضاً للإبداع. فهو يمكن أن يقدم طرقاً جديدة للمهام المألوفة، ويوسع الآفاق والإمكانات. على سبيل المثال، استوحى Symfony، وهو إطار عمل PHP شهير، إلهامه من إطار عمل Spring المستند إلى Java. وقد استقى العديد من مطوري المكتبات مفتوحة المصدر أفكارهم من المكتبات التي تم تنفيذها بلغات أخرى، وقد تكون أنت المبتكر التالي.
ولكن من أجل الحقيقة، دعونا ننظر إلى الاتجاه الآخر لكل الأشياء التي ناقشناها في الفصل السابق. هل تعلم متى تم استخدام البطاقات المثقبة آخر مرة؟ فقط خمن... وما لم تكن قد غششت بالبحث عن الإجابة على جوجل الآن، فربما يكون تخمينك خاطئًا. الإجابة الصحيحة هي عام 2014. في ذلك العام، تم استخدام آخر البطاقات المثقبة
ما هي احتمالات أن تصبح لغة البرمجة التي تعرفها أو تنوي تعلمها قديمة وغير مفيدة في أي وقت قريب؟ لا توجد إجابة حقيقية على هذا السؤال، بل مجرد تخمينات. يقدر بعض المؤلفين متوسط دورة حياة لغة البرمجة في أي مكان
وبعبارة أخرى، فإن اللغات التي ظلت موجودة لفترة كافية من الزمن ربما تظل معنا لعقود أخرى. وعلى العكس من ذلك، هناك احتمال أن تصبح الأشياء الجديدة الفاخرة عتيقة الطراز في وقت قريب جداً ــ ولكن هذا ما زال يتعين علينا أن ننتظر لنرى. فكل عام من وجود لغة في الخدمة الفعلية يزيد من فرصها في البقاء لفترة أطول.
إذن، ماذا ينبغي لنا أن نفعل؟ هل نتعلم لغة جديدة أم لغة قديمة؟ حسنًا، التعلم في حد ذاته أمر جيد دائمًا. تُظهر الأبحاث أن ما يقرب من نصف المطورين يفكرون في تعلم لغة جديدة. وفقًا لتقرير JetBrains "
على سبيل المثال، كانت أغلبية مبرمجي COBOL
إذا كنت تفضل الحياة النابضة بالحياة للشركات الناشئة أو قوة شركات التكنولوجيا العملاقة، فيجب عليك اختيار شيء أكثر حداثة ووعدًا. قد يمنحك الاطلاع على ما يفعله الآخرون فكرة: على سبيل المثال، تحقق من التصنيفات الحديثة للغات البرمجة حسب
إن المعرفة المكتسبة دون تطبيق عملي سرعان ما تصبح قديمة الطراز. لذلك، فإن تعلم لغة جديدة لمجرد تلبية متطلبات معينة لا طائل من ورائه. بدلاً من ذلك، فكر في كيفية استخدامها في وظيفتك الحالية. إذا كانت شركتك تستخدم التكنولوجيا بالفعل، فقد يكون ذلك حافزًا كبيرًا للتعلم. ما عليك سوى أن تطلب من مديرك أو قائد فريقك أن يعينك بمهام تتعلق بها، مما يسمح لك بتعزيز معرفتك من خلال الممارسة. إذا كان عملك يستخدم مجموعة ثابتة من التقنيات ولا توجد فرصة لتعلم شيء جديد، فيمكنك دائمًا إنشاء مشروع جانبي خاص بك لاستكشاف حدود جديدة بشكل مستقل. فقط تأكد من عدم انتهاك عقد عملك أثناء القيام بذلك.
حتى لو كنت قد بدأت للتو طريقك في التطوير، فإن الاستراتيجية تظل كما هي: اختر تقنية يمكنك استخدامها في الحياة الواقعية (في العمل أو في مشروع جانبي). اختر لغة ذات مستقبل مشرق، وليس لغة يتجنبها مجتمع المطورين. نظرًا لأنك قد بدأت للتو رحلتك ولا تثقل كاهلك الرواتب العالية والتوقعات باعتبارك متخصصًا، فيمكنك بسهولة وسرعة تغيير مجموعة التقنيات الخاصة بك إذا كانت اللغة الثانية التي تتعلمها تروق لك أكثر من الأولى. لديك مرونة أكبر في اختيارك، ويستحق الأمر الاستفادة من هذه الميزة. فقط لا تبالغ: فالتغييرات المتكررة في مجموعة التقنيات الخاصة بك والتدفق الهائل للمعرفة يمكن أن يكون ضارًا. اعثر على توازن بين ما تريده وما يمكنك إدارته، وستحقق النجاح بالتأكيد.
قد تبدو نصيحتي واضحة لبعض المطورين، وخاصة أولئك الذين لديهم سنوات عديدة من الخبرة. ولكن كما يقول المثل، "التكرار هو أم التعلم"، ولم يقم أحد أبدًا بإثبات صحة هذه الكلمات الحكيمة. آمل أن تشجع مقالتي أولئك الذين أرادوا منذ فترة طويلة ولكنهم كانوا كسالى للغاية لاتخاذ الإجراءات وتحفيز المبتدئين المتحمسين. آمل أن تكون نصيحتي مفيدة وربما تلهم المزيد من النمو المهني.