كيفية اختيار لغة البرمجة للتعلم

كل من يتوقف عن التعلم قديم ، سواء أكان عشرين أو ثمانين.

ائتمانات الصورة: unsplash.com آني سبرات

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

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

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

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

اختيار لغة يأخذ المعرفة.

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

القطيع ليس دائما على حق

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

- "لكن - كيف يمكن لهؤلاء المبرمجين أن يكونوا مخطئين؟"

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

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

مرونة اللغة مهمة.

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

هل يمكنني البدء في استخدام قدرة اللغة دون تضمين مكتبة جديدة؟

إذا لم يكن كذلك ، فهل تتوفر الإمكانية في مكتبة اللغة؟

إذا لم تكن القدرة الأصلية ولم تكن متوفرة كمكتبة ، فما هو الجهد المبذول لإنشاء الميزات من البداية؟

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

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

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

إذا لم يحدث هذا ، فإن اللغة تموت. لا تستثمر وقتك وجهدك فيه.

اختر لغة تحل مشكلتك

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

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

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

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

اختر أفضل لغة أداء

أفضل لغة أداء هي في الواقع تسمية خاطئة. لا يمكن أن يكون لديك لغة أفضل أداءً في جميع الظروف.

على سبيل المثال ، ضع في اعتبارك تطبيق ويب مكتوبًا في كل من Java code و Python. ستقودك بيانات الأداء إلى استنتاج أنه ، في ظل بيئات مماثلة ، يجب أن يعمل التطبيق المكتوب بلغة جافا أسرع من التطبيق المكتوب في بيثون.

ولكن ماذا عن البيئة نفسها؟ إذا كانت البيئة x86 Ubuntu Intel Q6600 واحدة أساسية ، فهي لعبة عادلة لأن الطاقة الحاسوبية محدودة. ماذا لو كان تطبيق الويب في السحابة ، يعمل على Google App Engine؟ لديك الآن إمكانية الوصول إلى طاقة معالجة غير محدودة تقريبًا ، وسيعود كلا البرنامجين بالنتائج في نفس الوقت تقريبًا.

يدور عامل الاختيار الآن حول سطور التعليمات البرمجية وإمكانية الصيانة.

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

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

وأخيرا ، دعم المجتمع الجيد هو المهم

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

يتميز الملاءمة الجيدة للمجتمع بالعديد من المزايا: يفكر المطورون بالطريقة التي يريدونها للتفكير ولديهم عادةً مهارات غير برمجية أو معرفة تحتاجها. مما يعني أنه يجب عليك قضاء وقت أقل في تدريبهم وأنك أقل عرضة لتوظيف المطور الخاطئ.

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

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

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

كما قالت كارولين غصن بحق.

التعاون يشبه الكربنة للأفكار الجديدة. العمل معًا وفقًا لأفكار لم تكن لتوصلها بمفردك ، مما يجعلك أكثر سرعة.
نبذة عن الكاتب-:
رافي راجان هو مدير برنامج عالمي لتكنولوجيا المعلومات ومقره مومباي ، الهند. وهو أيضًا مدون متعطش ، وكاتب شعر هايكو ، وعشاق علم الآثار ، وهوس التاريخ. تواصل مع رافي على LinkedIn و Twitter.