لغة واحدة تحكمهم جميعًا

مختبئة تحت طبقة من التعليمات البرمجية، تضعف اللغة وتتوق إلى التعلم.

لغة واحدة تحكمهم جميعًا

حتى كتابة هذه السطور، أدى الاستعلام "أي لغة يجب تعلمها أولاً" إلى ظهور 517 مليون نتيجة بحث. سوف يمتدح كل موقع من هذه المواقع لغة معينة، وسينتهي الأمر بنسبة 90% منها بالتوصية بلغة Python أو JavaScript.

دون مزيد من اللغط، أود أن أسجل أن كل هذه المواقع البالغ عددها 517 مليونًا خاطئة وأن اللغة التي يجب أن تتعلمها أولاً هي المنطق الأساسي.

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

* فيما يلي، يرجى تذكر أن هذه ترجمة، وأن الوضع في سوق العمل بالنسبة للمؤلف وفي بلدك قد يكون مختلفًا (بالإضافة إلى الفروق الدقيقة الأخرى)، والذي، مع ذلك، في حد ذاته لا يجعل المقالة الأصلية أسوأ - تقريبا. ترجمة

أول درس لي في علوم الكمبيوتر

كان أول تعرض لي لعلوم الكمبيوتر هو مادة اختيارية أخذتها في الصف العاشر. في اليوم الأول، عند دخولي الفصل الدراسي، سعدت برؤية عدد كبير من دلاء الآيس كريم والإضافات المختلفة أمامي. بعد أن جلس الجميع قالت المعلمة:

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

فكرت: "لا مشكلة، هذا الدرس لن يكون طويلاً". في غضون دقيقة أو نحو ذلك كنت قد قمت بتدوين الوصفة المثالية لآيس كريم أحلامي:

  1. اغرفي ثلاث ملاعق من آيس كريم التوت في وعاء
  2. افتحي صلصة الشوكولاتة وأضيفي ملعقتين كبيرتين إلى نفس الوعاء
  3. أضف الكريمة المخفوقة إلى الوعاء
  4. رش كل شيء بعصي السكر وضع الكرز في الأعلى

قدم أستاذي - "الكمبيوتر" في تلك الاستعارة اللطيفة - أداءً أكثر سخرية وحرفية مما رأيته من قبل. بدأت بحماسة بدس دلو الآيس كريم بمغرفة دون أن تلمس الغطاء.

"حسنًا، حسنًا، ولكن عليك أولاً فتحه!" - صرخت محاولاً الحصول على المكافأة في أسرع وقت ممكن.

"أنت لم تكتب هذا في التعليمات، ولم أستطع أن أصنع لك الآيس كريم. التالي!"

دعونا نتقدم بسرعة إلى المحاولة رقم 2

  1. افتح آيس كريم التوت عن طريق إزالة الغطاء
  2. اغرفي ثلاث ملاعق من آيس كريم التوت في وعاء
  3. افتحي صلصة الشوكولاتة وأضيفي ملعقتين كبيرتين إلى نفس الوعاء
  4. أضف الكريمة المخفوقة إلى الوعاء
  5. رش كل شيء بعصي السكر وضع الكرز في الأعلى

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

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

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

وكانت نتيجتي النهائية نتيجة لسلسلة طويلة ولكنها ضرورية من التجارب والأخطاء:

  1. إذا لم تكن قد قمت بذلك بالفعل، فافتح كلًا من العبوات التالية: آيس كريم التوت، وصلصة الشوكولاتة، والكريمة المخفوقة، وأعواد السكر.
  2. أخرج وعاءً وضعه أمامك
  3. أحضري مغرفة آيس كريم وضعي ثلاث ملاعق من آيس كريم التوت واحدة تلو الأخرى في وعاء. أعد مغرفة الآيس كريم إلى مكانها.
  4. أحضري وعاء من صلصة الشوكولاتة، واغرفي الصلصة واسكبي محتويات ملعقة كبيرة في وعاء. كرر عملية السكب والسكب مرة أخرى. أعد الملعقة والجرة إلى مكانها.
  5. خذ عبوة الكريمة المخفوقة رأسًا على عقب، وأمسكها فوق الوعاء، ثم اسكبها فوق الآيس كريم لمدة 3 ثوانٍ، ثم أعد العبوة إلى مكانها.
  6. خذ جرة من أعواد السكر، واسكب حوالي أربعين عودًا في وعاء وأعد الجرة مرة أخرى.
  7. خذ حبة كرز من وعاء الكرز وضعها فوق الآيس كريم.
  8. أعط الطالب وعاءً يحتوي على الآيس كريم النهائي وملعقة.

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

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

مهنة في البرمجة

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

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

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

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

كيفية تحسين المعرفة الأساسية

لغة واحدة تحكمهم جميعًاتصوير كريستوفر جيشكي في Unsplash

إذا كنت تبحث عن نقطة بداية لتحسين تفكيرك المنطقي الأساسي، فحاول البدء هنا:

تعرف على مدى تعقيد برنامجك

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

تعرف على هياكل البيانات الخاصة بك

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

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

قراءة / مشاهدة / الاستماع

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

يمارس!

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

اقرأ رموز الآخرين

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

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

المصدر: www.habr.com

إضافة تعليق