مسار تعليمي

البرمجة

البرمجة لا تنتهي بانتهاء دورة؛ إنها تترسخ ببناء أشياء صغيرة وكسرها. لقد اختصر الذكاء الاصطناعي هذا الطريق، لكن ليس بالشكل الذي يُروَّج له: صارت كتابة الشفرة رخيصة وصارت قراءتها باهظة.

  • 14 دروس
  • مجاني، دون تسجيل

خمس مراحل، من الصفر إلى برنامج يعمل

دون أي خلفية سابقةبرنامج يعمل فعلا
  1. الأساس

    ما البرنامج وكيف تُنفَّذ الشفرة

    أول درسين في هذا المسار. وبدونهما يصير الباقي حفظا لا فهما.

  2. البداية

    لغة واحدة، وأول برنامج يعمل

    اختيار اللغة أقل أهمية مما تظن؛ وعدم تبديلها كل أسبوعين أهم.

  3. البنية

    المتغيرات والشروط والحلقات والدوال

    الأربعة التي تتكرر في كل لغة. وبعدها تأخذ اللغة الثانية أياما لا شهورا.

  4. العمل الحقيقي

    البيانات وGit وواجهات البرمجة

    حيث يتحول البرنامج من ملف لشخص واحد إلى شيء يتحدث مع بقية العالم.

  5. الاحتراف

    تصحيح الأخطاء والعمل مع الذكاء الاصطناعي

    أسرع أجزاء المسار، بشرط أن تكون قد قطعت المراحل الأربع قبله فعلا.

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

المسار خطوة بخطوة

الدروس مرتبة بحيث يقوم كل درس على سابقه. ويمكنك الدخول من اي نقطة ايضا.

  1. 1ما هي البرمجةالبرمجة تعني كتابة قائمة تعليمات ينفذها الحاسوب بالترتيب نفسه وبالصيغة نفسها التي كتبتها، دون أن يخمن مقصدك. والعمل الحقيقي ليس الكتابة: بل تحويل شيء غامض في ذهنك إلى جمل لا تترك مجالا للتأويل.مبتدئ
  2. 2كيف تُنفَّذ الشفرةالشفرة التي تكتبها مجرد نص، والمعالج لا يقرأ النصوص؛ فقبل أن يحدث أي شيء يجب ترجمتها إلى صيغة يستطيع الجهاز تنفيذها. وتختلف اللغات في توقيت هذه الترجمة وفي مكان حفظ نتيجتها، وأغلب الأخطاء المربكة تأتي من هذا الاختلاف بالضبط.مبتدئ
  3. 3أي لغة برمجة نتعلم؟اختر لغتك الأولى مما تريد بناءه لا من قوائم الشهرة: PHP وجافاسكريبت للمواقع والعمل الحر، وبايثون للبيانات والذكاء الاصطناعي، وكوتلن وسويفت أو فلاتر للموبايل. واللغة الثانية تأتي أسرع بكثير من الأولى، فالقرار أقل مصيرية مما يبدو.مبتدئ
  4. 4تعلم بايثون للمبتدئينتثبت بايثون من python.org، وتنشئ ملفا لاحقته py، وتشغله بأمر واحد في الطرفية. وفي نهاية هذا الدرس تكون قد كتبت برنامجا حقيقيا يقيس طول نص، وتعلمت أن تقرأ خطأ بايثون من أسفله إلى أعلاه.مبتدئ
  5. 5المتغيرات وأنواع البياناتالمتغير اسم تعطيه لقيمة لتناديها لاحقا، ونوع تلك القيمة يحدد ما يمكن فعله بها: الأعداد تُجمع، والسلاسل تُلصق، وجمع أحدهما بالآخر يرفع خطأ. وأصعب علل أنواع البيانات ليست التي ترفع خطأ، بل التي تمر بصمت وتطبع رقما خاطئا.مبتدئ
  6. 6الشروط والحلقات في البرمجةالشرط سؤال جوابه نعم أو لا يطرحه البرنامج على نفسه عند مفترق، والحلقة عمل يتكرر ما دام شرط ما قائما. وكل برنامج تكتبه تقريبا هو تركيب من هذين الاثنين، وأصعب الأخطاء تقع تحديدا حيث يلتقيان.مبتدئ
  7. 7ما الدالة في البرمجةالدالة تعني أن تجمع بضعة أسطر من الشفرة في موضع واحد، وتضع لها اسما، ثم تنادي ذلك الاسم بدل تكرار الأسطر. وقيمتها الحقيقية ليست توفير الكتابة؛ بل أن كل قرار اتخذته داخلها صار يعيش في موضع واحد فقط.مبتدئ
  8. 8بنى المعطيات للمبتدئينبنية المعطيات هي الشكل الذي تحفظ فيه عدة أشياء معا، واختيارها هو في الحقيقة اختيار السؤال الذي سينال جوابا سريعا عن تلك المعطيات لاحقا. والأشكال الثلاثة التي تغطي تسعين في المئة من العمل اليومي هي القائمة والقاموس والمجموعة، وما يفرق بينها ليس ما تخزنه بل ما تجده بثمن رخيص.مبتدئ
  9. 9تعلم Git وGitHubGit برنامج على حاسوبك أنت، يحفظ متى أمرته لقطة مؤرخة لحالة مشروعك مع ملاحظة، ويتيح لك لاحقا العودة إلى أي من تلك اللقطات. أما GitHub فأحد الأماكن التي يمكنك أن تضع فيها نسخة من هذا التاريخ؛ وGit نفسه يعمل كاملا بلا إنترنت وبلا أي حساب.مبتدئ
  10. 10قواعد البيانات وSQL للمبتدئينقاعدة البيانات برنامج يحفظ بياناتك في جداول من صفوف وأعمدة، ويتيح لعدة برامج أن تقرأ منها وتكتب فيها في الوقت نفسه دون أن يفسد أحدها عمل الآخر. وSQL هي اللغة التي تقول بها ما تريد: <code>SELECT</code> للقراءة و<code>INSERT</code> للإضافة و<code>UPDATE</code> للتغيير.مبتدئ
  11. 11ما واجهة البرمجة (API)واجهة البرمجة عقد يتحادث عبره برنامجان: أحدهما يرسل طلبا بشكل متفق عليه، والآخر يعيد استجابة بشكل متفق عليه، دون أن يحتاج أي منهما لمعرفة كيف يعمل الآخر من الداخل. وكل شيء تقريبا على الويب تضغط زره فيجلب بيانات من مكان آخر، خلفه API.مبتدئ
  12. 12تعلم تصحيح الأخطاءتصحيح الأخطاء يعني أن تضيّق «لا يعمل» خطوة خطوة حتى تصل إلى سطر واحد؛ فالإصلاح نفسه لا يستغرق عادة سوى ثوان، والذي يستهلك الوقت هو الوصول إلى ذلك السطر. والذي يجعل هذا التضييق ممكنا ليس أداة ولا خبرة، بل تكرار موثوق: فما لم تستطع إظهار العطل متى شئت، يبقى كل تغيير تجريه مجرد تخمين.مبتدئ
  13. 13البرمجة بالذكاء الاصطناعينماذج اليوم تكتب شفرة تعمل، لكن الشفرة التي تعمل ليست الشفرة الصحيحة، والفجوة بينهما هي ما يبقى عليك. والحركة المحترفة ليست أن تسأل أفضل؛ بل أن ترتّب سير عمل تكون فيه كل قطعة شفرة صغيرة وقابلة للمراجعة ومختبَرة قبل أن تبلغ الفرع الرئيس.متوسط
  14. 14برمجة الانطباع: المزايا والمخاطر<dfn>برمجة الانطباع</dfn> أن تبني البرمجيات من الموجّهات ولا تقرأ الشفرة الناتجة؛ تنظر إلى النتيجة، وتعيد الطلب بصياغة أخرى إن لم تكن ما أردت، وتبقى الشفرة صندوقا أسود. وهذه صفقة جيدة للنموذج الأولي والأداة الداخلية والتعلم؛ أما لشيء له مستخدمون حقيقيون وبيانات حقيقية فتدفع ثمنها في موضع آخر، ومتأخرا في الغالب.متوسط
تعلم البرمجة من الصفر: مسار مجاني مرتب

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

هدف هذا المسار ليس وظيفة بل قدرة: أن تستطيع تسليم مهمة متكررة إلى الحاسوب، وقراءة شفرة غيرك، ومعرفة أي طبقة تنظر إليها حين يتوقف شيء عن العمل. وإن بحثت عن عمل بعد ذلك فللأمر طريقه، لكن هذا المسار لا يَعِد بذلك ولا ينبغي لأحد صادق أن يَعِد.

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

اسئلة متابعة حقيقية

هل أحتاج أن أكون قويا في الرياضيات لأبرمج؟

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

مع وجود الذكاء الاصطناعي، هل ما زال تعلم البرمجة يستحق؟

نعم، لكن السبب تغير. كنت تتعلم لتستطيع كتابة الشفرة؛ أما الآن فتتعلم لتستطيع قراءة الشفرة التي تُسلَّم إليك وتقييمها وتحمل مسؤوليتها. ومن لا يملك ذلك يقبل أي مخرَج ثم لا يعرف لماذا لا يعمل.

كم يلزم من الوقت حتى أحصل على عمل مدفوع بالبرمجة؟

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

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