يُعتقد أنه من المهم أن نفهم أن البرمجة هو في الواقع الخطوة الأخيرة في عملية أطول بكثير ، والتي تبدأ بالتعبير الواضح عن الاحتياجات والحل والرغبات فيما يتعلق بالمشروع الذي نريد تطويره.
علاوة على ذلك ، فإن البرمجة بحد ذاتها هو في الحقيقة مجرد شكل من أشكال الكتابة التي يتعين علينا من أجلها احترام “عدد معين” من الاصطلاحات التي تفرضها اللغات التي نستخدمها. إذا كنت تعرف كيفية استخدام لوحة مفاتيح الحاسوب مثلا ، فأنت بالفعل قادر بالفعل على “البرمجة”.
المشكلة الرئيسية التي تنشأ هي في الواقع تركز على “كل شيء قبل” مرحلة البرمجة ، والتي تشمل:
- عددًا معينًا من المفاهيم (الاختبارات ، الحلقات ، الملف ، القائمة ، الشجرة الثنائية ، إلخ) والتي يمكن العثور عليها تقريبًا في جميع اللغات ،
- المنطق الذي يسمح بالبدء من موقف معين والحصول على نتيجة متوقعة وقابلة للتكرار (“الخوارزمية”)
- عدد معين من المبادئ (قانون Déméter ، ومبادئ SOLID ، و DRY ، و KISS ، و YAGNI ، وما إلى ذلك) تجعل من الممكن التأكد من أن الكود سيكون:
- سهل الفهم
- سهل التصحيح
- سهل الترقية
وبالطبع ، إذا كان هدفك هو تعلم البرمجة ، فسيتعين عليك أن تسأل نفسك “ما نوع المشروع؟” وخاصة “بأي لغة؟” ، لأن معظم المواقع لن تقدم لك برنامجًا تعليميًا أو دورة تدريبية من لغة برمجة واحدة كما تتوقع.
تكمن المشكلة الكبرى في عدم وجود مواقع تعرّفك بالمفاهيم والمبادئ الأساسية بطريقة “حيادية” (افهم: بدون المرور بلغة معينة). الميزة الكبيرة هي أن معظم المواقع التي تعرض عليك تعلم لغة معينة ستتمكن – بشكل عام – من “استخلاص” تفسيرات هذه المفاهيم والمبادئ خلال الدورة التدريبية / البرنامج التعليمي.
بالإضافة إلى حقيقة أنه سيكون من المثير للاهتمام معرفة اللغة التي تريد أن تتعلمها ، حتى لا توجه نفسك نحو لغة لا تهمك على الإطلاق ، سيكون من المفيد بشكل خاص معرفة اللغة التي تريد أن يقدمها لك الموقع.
في الواقع ، إذا كان من الممكن العثور على بعض الموارد الجيدة باللغة الفرنسية ، فمن الأسهل بلا شك العثور على بعضها باللغة الإنجليزية. من الضروري أيضًا ألا تشكل لغة شكسبير مشكلة كبيرة بالنسبة لك في فهم القراءة.
إذا أضفنا حقيقة أن بعض اللغات (مثل C ++) قد تطورت بشكل كبير خلال السنوات العشر الماضية ، مما أدى إلى تغيير كبير في طريقة التطوير في هذه اللغات ، وأن بعض المواقع (مثل openclassrooms) لم تأخذ من الصعب تحديث برامجهم التعليمية لأننا ندرك أن “المواقع الجيدة” لتعلم لغة معينة نادرة نسبيًا.
باختصار ، ستفهم ، يبدو لي أنه من الصعب الإجابة على سؤالك أين وكيف يمكن تعلم البرمجة؟ لأنه يفتقر إلى الكثير من المعلومات التي تتيح لك توجيه نفسك بشكل صحيح.