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


محمد الساحلي

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

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

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

كيف تعلمت أنا البرمجة؟

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

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

أول ما تعلمته كان HTML&CSS، (أعتقد سنة 2000). الطريف أنني تعلمتهما بالإسبانية خلال ورشة نظمها طلبة إسبان في المدينة (هناك سمعت أول مرة بجوجل). لم أكن أعرف من الإسبانية إلا بضع كلمات مما دخل العامية المغربية ومما تشابه مع كلمات فرنسية. لكني قبل ذلك كنت قرأت بعض المعلومات المتفرقة حول HTML في مجلات عربية وفرنسية.

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

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

أفضل المصادر التي صادفتها خلال مسيرتي البطيئة في تعلم البرمجة:

  • جوجل: محرك بحث لا غنى عنه في أي مرحلة. دائما عد إليه لتجد حلول المشاكل التي تصادفها.
  • stackoverflow: موقع مهم جدا للمبرمجين. يمكنك أن تجد فيه حلولا تقريبا لكل المشاكل التي قد تصادفها، ويمكنك أن تطرح أسئلتك وتتواصل مع المبرمجين المحترفين.
  • PHP Manual: أفضل دليل لتعلم PHP هو دليل الاستخدام الرسمي، الذي يغنيه المبرمجون من كل أنحاء العالم بالتعليقات والأمثلة.
  • PHP 5 Power Programming: كتاب مهم جدا، لا يعيبه سوى أنه لم يحدث منذ سنة 2004، وهي فترة طويلة عرفت خلالها اللغة الكثير من التحديثات.
  • smashingmagazine: موقع شهير لا غنى عنه لأي مصمم. يتابع أيضا الجديد في HTML&CSS وجافاسكريبت.
  • Beginning Ruby: أفضل كتاب لشرح أساسيات روبي. هو صالح أيضا حتى لمستخدمي اللغات الأخرى بحكم أساسيات البرمجة التي يتطرق لها. في نفس السياق، وجدت أن الإطلاع على إطار العمل RubyOnRails مهم جدا للحصول على أفكار جديدة وأساليب مختلفة في البرمجة يمكن الاستفادة منها عند استخدام لغات برمجة أخرى. شخصيا تغير أسلوب استخدامي لـ PHP تماما بعد أن بدأت في استخدام ريلز.


5 اشخاص أعجبوا بهذا


تفاعل الأعضاء


شكرا على المعلومة 

1 شخص أعجب بهذا

شارك هذا التعليق


رابط هذا التعليق
شارك على الشبكات الإجتماعية

مقال رائع استفدت منه الكثير 

1 شخص أعجب بهذا

شارك هذا التعليق


رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

وفي النهاية شكراً لك على بعض المعلومات المتواجدة في وسط المقال والمفيدة جيداً لمن يركز في المقال .

2 اشخاص أعجبوا بهذا

شارك هذا التعليق


رابط هذا التعليق
شارك على الشبكات الإجتماعية

أقوم حالياً بتعلم لغات برمجة وتصميم صفحات الويب , أجد متعة كبيرة فيها وأتمنى أن أصل مرحلة الإحتراف قريباً لأطلق مشاريعي الخاصة بشكل إحترافي ومختلف

شارك هذا التعليق


رابط هذا التعليق
شارك على الشبكات الإجتماعية

معلومات لا غنا عنها لكن أريد شرح قمت بالبحث كثيرا و وجت العديد كل لكن لا يوجد المطلوب

شارك هذا التعليق


رابط هذا التعليق
شارك على الشبكات الإجتماعية

مقال رائع جدا وكتير حلو " البرمجة فن "

شارك هذا التعليق


رابط هذا التعليق
شارك على الشبكات الإجتماعية

اشكرك جدا مقال رائع واستفدت منه

شارك هذا التعليق


رابط هذا التعليق
شارك على الشبكات الإجتماعية


يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن