مخبأة تحت طبقة من التعليمات البرمجية يضعف لغة حريصة على التعلم.
في وقت كتابة هذا التقرير ، ينتج عن الاستعلام "برمجة أي لغة نتعلمها أولاً" 517 مليون نتيجة بحث. سيشيد كل موقع من هذه المواقع بلغة معينة ، وسيوصي 90٪ منها في النهاية بيثون أو جافا سكريبت.
بدون مقدمات طويلة ، أود أن أعلن رسميًا أن كل هذه المواقع البالغ عددها 517 مليون موقع خاطئ وأن أذكر أن اللغة التي يجب دراستها أولاً هي المنطق الأساسي .
مجرد معرفة كيفية رمز ليست كافية. السوق مشبع بخريجين من المعاهد والدورات التدريبية لدرجة أن وضع المبتدئين لم يعد موجودًا تقريبًا *. لتحقيق النجاح في عالم اليوم ، يجب عليك أن ترمز وتفكر في التفكير المنطقي الأساسي.
* فيما يلي ، يرجى تذكر أن هذه ترجمة ، وأن الوضع في سوق العمل للمؤلف وفي بلدك قد يكون مختلفًا (مثل الفروق الدقيقة الأخرى) ، والذي ، مع ذلك ، لا يجعل المقال الأصلي أسوأ - تقريبًا. العابرة.
أول درس لي في علوم الكمبيوتر
كانت أول معرفة لي بعلوم الكمبيوتر مادة اختيارية حصلت عليها في الصف العاشر. في اليوم الأول ، مع وصولي إلى الجمهور ، كان من دواعي سروري أن أرى عددًا كبيرًا من دلاء الآيس كريم وأنواع مختلفة من الأطعمة أمامي. بعد جلوس الجميع ، أعلن المعلم:
"اليوم سوف نتذوق الآيس كريم المحضّر ذاتياً. ولكن بشرط واحد: يجب عليك إعداد قائمة بالتعليمات المحددة حول كيفية تحضير الحلوى ، وسأتبعها ".
لا مشكلة ، أعتقد أن هذا الدرس لن يكون طويلاً. بعد حوالي دقيقة واحدة ، رسمت وصفة رائعة للآيس كريم في أحلامي:
- اغرف و ضع ثلاث كرات من آيس كريم التوت في وعاء
- افتح صلصة الشوكولاتة وأضف ملعقتين كبيرتين على نفس الوعاء.
- أضف الكريمة المخفوقة إلى وعاء
- يرش كل شيء بالعصي السكر ووضع الكرز على القمة
لعب أستاذي ، "الكمبيوتر" في هذا الاستعارة اللطيفة ، أداءً حرفيًا ساخرًا أكثر من أي وقت مضى. لقد بدأت في سحق دلو من الآيس كريم بملعقة للكرات ، حتى دون لمس الغطاء.
"جيد ، جيد ، ولكن أولاً تحتاج إلى فتحه!" - صرخت ، أحاول الحصول على علاج في أقرب وقت ممكن.
"لم تكتب هذا في التعليمات ، لكنني لم أستطع أن أجعلك آيس كريم. التالي! "
نتخطى الوقت قبل المحاولة رقم 2
- افتح آيس كريم التوت عن طريق إزالة الغطاء.
- اغرف و ضع ثلاث كرات من آيس كريم التوت في وعاء
- افتح صلصة الشوكولاتة وأضف ملعقتين كبيرتين على نفس الوعاء.
- أضف الكريمة المخفوقة إلى وعاء
- يرش كل شيء بالعصي السكر ويرش الكرز على القمة
حسنا ، الآن بالتأكيد لا ينبغي أن يكون هناك أي مشاكل. فقط في حالة ، تأكدت من أن جميع المكونات لصنع تحفة الطهي مفتوحة.
قام المعلم بإزالة الغطاء وحصده ووضع ثلاث كرات من الآيس كريم في وعاء. "أخيرًا ، بدأ تجسيد الآيس كريم الخاص بي في الواقع!" ثم فتحت صلصة الشوكولاته وأضفت ملعقتين كبيرتين على الوعاء. لم تقم بإضافة صلصة الشوكولاتة من ملعقتين كبيرتين - لا تفكر - إنها بالطبع تضع الملاعق في وعاء. لا صلصة فيها. مرة أخرى ، لم يزعجني أن أرسم كل شيء بالتأكيد. بعد أن تم الباقي بنفس الروح ، حصلت على وعاء به الآيس كريم وملعقتان كبيرتان ، بالكاد ملحوظتان تحت سطح البحر من الكريمة المخفوقة. على رأس كان زوج من العصي السكر.
يبدو أنني في هذه اللحظة أدركت أخيرًا: الكمبيوتر منطقي في فراغ. إنه لا يعلم بالظروف المحيطة ولا يضع افتراضات. إنه يتبع فقط التعليمات الموضوعة بوضوح ويتبعهم كلمة لكلمة.
كانت النتيجة النهائية هي نتيجة سلسلة طويلة من التجارب والخطأ الضرورية.
- افتح ، إن لم يكن قد تم بالفعل ، كل حزمة من الحزم التالية: آيس كريم التوت ، صلصة الشوكولاته ، كريمة مخفوقة ، عصي السكر.
- اخراج الوعاء ووضعه أمامك
- تأخذ ملعقة للآيس كريم واحد تلو الآخر وضع ثلاث كرات من الآيس كريم التوت في وعاء. ضع ملعقة الآيس كريم في مكانها.
- خذ جرة من صلصة الشوكولاتة ، واغسل الصلصة وصب محتويات ملعقة كبيرة في وعاء. كرر مع سكوب سكب وصلصة مرة أخرى. ضع الملعقة و الجرة في مكانها.
- خذ وقلل حزمة الكريمة المخفوقة رأسًا على عقب ، وأمسكها فوق الوعاء ، صب الآيس كريم عليها لمدة 3 ثوان ، ثم أعد العبوة إلى مكانها.
- خذ علبة من عصي السكر ، ورش حوالي أربعين عصيًا في وعاء ووضع العلبة في مكانها.
- تأخذ واحدة من الكرز وعاء من الكرز ووضعه على رأس الآيس كريم.
- امنح الطالب وعاء به آيس كريم محضر وملعقة.
كانت النقطة الأخيرة مهمة بشكل خاص ، لأنه بدونها ، في المرة قبل الأخيرة ، بدأ المعلم ببساطة في تناول الآيس كريم.
ولكن هذا هو البرمجة. إنشاء مجموعة شاملة من الإرشادات للكمبيوتر. في الأساس ، هذا هو ما تتلخص به كل لغة برمجة لتعليمات الكتابة.
البرمجة المهنية
وصلت البرمجة إلى نقطة يصعب فيها مناقشتها كصناعة واحدة ، تمامًا كما يصعب استخدام كلمة واحدة "مبرمج" كتوصيف وظيفي. يمكن أن يطلب السوق مطورين على حد سواء ، بمعرفة لغات مختلفة تمامًا ، مما يعني أن القدرة على التطوير أكثر أهمية من معرفة لغة معينة. السمة العامة المشتركة لجميع المطورين الناجحين هي المنطق الأساسي .
أفضل مبرمج قادر على إلقاء نظرة على الكود من زاوية جديدة. وهذا مهم بشكل أساسي ، لأن معظم منتجات البرمجيات عبارة عن مجموعة من الأجزاء غير الموثقة من التعليمات البرمجية السيئة. إنهم يحتاجون باستمرار إلى الجمع ، وسد الفجوات حسب الحاجة. يجب أن يكون الأشخاص غير القادرين على الاتصال بالنقاط المبعثرة في سطر واحد إلى الأبد على الهامش.
كل هذا يقودني إلى إعلان آخر ، هذه المرة جريئة: المعرفة الأساسية كانت وستظل دومًا في غاية الأهمية بالنسبة للمبرمج .
اللغات تأتي وتذهب. تصبح الأطر عتيقة ، وتستجيب الشركات للطلب من خلال تغيير مجموعة التقنيات المستخدمة. هل هناك شيء لن يتغير أبدًا؟ نعم - المعرفة الأساسية ، وهذا هو السبب الذي يطلق عليه الأساسية ، التي تقوم عليها كل شيء!
كيفية تحسين المعرفة الأساسية
الصورة كريستوفر يشك على Unsplashإذا كنت تبحث عن نقطة بداية لتحسين تفكيرك المنطقي الأساسي ، فحاول البدء هنا:
تعرف على تعقيد برنامجك
يُطلق عليها أيضًا اسم " كبير O " ، تشير "تعقيد الخوارزمية" إلى الاعتماد على الوقت الذي يستغرقه تنفيذ البرنامج على حجم بيانات الإدخال (ن) . تعتبر مواكبة الخوارزميات المستخدمة خطوة مهمة.
تعرف هياكل البيانات الخاصة بك
هياكل البيانات هي في صلب أي برنامج حديث. معرفة أي هيكل للاستخدام في هذه الحالة هو الانضباط المستقل. ترتبط بنيات البيانات ارتباطًا مباشرًا بتعقيد وقت التشغيل ، ويمكن أن يؤدي اختيار البنية الخاطئة إلى مشاكل أداء أساسية. البحث عن عنصر في صفيف هو O (n) ، مما يشير إلى التكلفة العالية لاستخدام المصفوفات كمدخلات. البحث في جدول التجزئة هو O (1) ، مما يعني أنه في هذه الحالة لا يعتمد وقت البحث عن القيمة على عدد العناصر.
جاء الناس لي لإجراء مقابلة ادعى أنه كان من الأسرع للبحث عن طريق مجموعة من جدول التجزئة. لقد كانت علامة أكيدة على أنه يجب عليك عدم توظيفهم - تعرف على هياكل البيانات الخاصة بك.
قراءة / مشاهدة / الاستماع
مواقع مثل Udemy و Pluralsight و CodeAcademy هي خيارات رائعة لتعلم لغات البرمجة الجديدة. ولكن بالنسبة للأساسيات ، تحقق من الكتب حول المبادئ العامة والممارسات وأساليب الترميز. أكثر الكتب الموصى بها هي أنماط التصميم ، إعادة بيع المساكن. تحسين الكود الموجود "و" الكود المثالي "و" الكود النظيف "و" المبرمج البراغماتي ". أخيرًا ، يجب على كل مطور الاحتفاظ بنسخة من " الخوارزميات " في متناول اليد.
الممارسة!
لن تكون قادرًا على طهي البيض المقلي دون كسر البيض. تقدم مواقع مثل HackerRank و CodeWars و CoderByte و TopCoder و LeetCode آلاف المهام الشيقة لاختبار معرفتك بهياكل البيانات والخوارزميات. جرب حظك في حل المشكلة التي تريدها ، وانشر نسختك على جيثب ، ثم تعرف على كيفية تعامل الآخرين معها. الذي يقودنا إلى النقطة الأخيرة:
قراءة رمز شخص آخر
أكبر خطأ لا يمكن ارتكابه إلا باتباع مسار التطوير هو جعل هذا المسار وحده. تطوير البرمجيات هو العمل الجماعي إلى حد كبير. معا نضع معايير ونرتكب الأخطاء معا ، وعلى الرغم من كل الإخفاقات ، فإننا نصبح معا أفضل. الوقت الذي يقضيه قراءة رمز شخص آخر سيؤتي ثماره. فقط تأكد من أن هذا رمز جيد.
حسنًا ، أفضل نصيحة يمكنني تقديمها هي ألا تخجل أبدًا من أنك لا تعرف شيئًا بعد. كما ذكرنا سابقًا ، فإن صناعتنا ضخمة ، وعدد التقنيات ضخم. يتطلب الأمر الكثير من الوقت والجهد لبناء صورة شاملة ، حتى تصبح أكثر احترافًا في شيء محدد ، وترتيب أكبر بكثير لصقل المهارات في مجال عملك. سوف أخبركم متى سأحقق هذا بنفسي.