حين يسألني أحدهم عن كيف يصبح مبرمجا وما هي المصادر التي يجب أن يعتمد عليها وما الخطوات التي يجب إتباعها، فإن الجواب المناسب الوحيد، والذي لم أقله بعد لأحد، هو ”إذا كنت تملك ما يؤهلك لأن تكون مبرمجا فإنك ستعرف طريقك بنفسك“. السبب هو أن البرمجة فن كما أنها علم. من منطلق أنها فن فهي تتطلب حدا أدنى من الموهبة وليس فقط الاكتفاء بحفظ القواعد، ومن حيث أنها علم فهي مبنية أساسا على المنطق وبصفة عامة على الرياضيات، التي تعتبر كابوسا لدى الطالب العربي. حين تملك الموهبة لتبدع بالبرمجة وحين تملك الإستعداد العقلي للتعامل مع النصوص البرمجية المجردة، فإنك آنذاك لن تحتاج لطرح السؤال السابق.
الخلاصة.. إذا لم تكن قادرا على: الاستمتاع بالبرمجة وتذوقها كتذوق الشعر، التفكير المنطقي المجرد، وإيجاد الإبرة المناسبة بين كومة من الإبر، فلا تضيع وقتك في تعلم البرمجة، لأنك لن تتعلمها ولأنها لا تناسبك.
إذا كنت ترى نفسك صالحا لتكون مبرمجا فلدي لك نصيحتان لا غير: (1) ابحث بنفسك، ستجد الكثير من المصادر المتنوعة وكثيرا من الآراء المتناقضة، وحدك ستكون قادرا على اختيار ما يناسبك. (2) النصيحة الثانية هي تمرن دائما. أول خطوة لكي تنطلق في تعلم البرمجة هي البدء فورا في البرمجة. لا يهم ماذا ستبرمج ولا كم الأخطاء التي سترتكب. المران المتواصل هو وحده الكفيل بتحسين قدراتك. سيكون من الجيد أيضا ألا تكتفي بالتمرن وحيدا، ثمة آلاف البرامج الحرة المتاحة للتطوير لمن يشاء. جرب أن تدلي بدلوك وأضف تعديلاتك على تلك البرامج. ستُرفض بعض التعديلات وستواجه الكثير من الانتقادات اللاذعة، لكنك تباعا ستحسن من جودة النصوص البرمجية التي تكتب، إلى أن تصبح محترفا فخبيرا.
كيف تعلمت أنا البرمجة؟
ملاحظة أولية: لا أعتبر نفسي مبرمجا بعد، لكني على الأقل أعرف الأساسيات التي تتيح لي برمجة مشاريعي الخاصة.
لفترة طويلة كنت أتعلم البرمجة بشكل نظري محض. لم يكن لدي جهاز كمبيوتر آنذاك وكنت أقتنص أي مصدر أجده بأي لغة كان. القراءة دون التطبيق ليست طريقة فعالة من أجل تعلم البرمجة، لكن لم يكن لدي غيرها (ما زلت حتى الآن أحب كتابة الأكواد في الورقة، حين أكون خارج البيت، ثم أنقلها للكمبيوتر لاحقا). كنت أقرأ كثيرا. لا أفهم أغلب ما أقرأ لكني كنت أخزنه في ذاكرتي لوقت آخر حتى أجد القطع الناقصة التي تتيح لي فهم الصورة الكاملة.
أول ما تعلمته كان HTML&CSS، (أعتقد سنة 2000). الطريف أنني تعلمتهما بالإسبانية خلال ورشة نظمها طلبة إسبان في المدينة (هناك سمعت أول مرة بجوجل). لم أكن أعرف من الإسبانية إلا بضع كلمات مما دخل العامية المغربية ومما تشابه مع كلمات فرنسية. لكني قبل ذلك كنت قرأت بعض المعلومات المتفرقة حول HTML في مجلات عربية وفرنسية.
بعد ذلك كانت لي بضع محاولات مع جافاسكريبت، لكن المشكلة آنذاك أن جافاسكريبت لم تكن تستخدم كلغة حقيقية كما الآن، بل فقط بغرض تزيين الصفحات ببعض الحركات الديناميكية، لذلك لم أتعلم منها الكثير.
ثم جاء الدور على PHP. أظن سنة 2004. قرأت بعض الأساسيات في مواقع فرنسية ثم بدأت أحمل بعض السكريبتات الصغيرة وأعدل عليها قليلا. لكن كل ذلك كان على سبيل اللهو لا غير. رغم أنني بدأت آنذاك في تقديم خدمات تصميم المواقع وتركيب برامج PHP، إلا أنني لم أكن أنظر إلى الأمر بشكل جدي، ولم تكن البرمجة تزيد عن كونها مجرد هواية أخرى، لذلك لم أتعمق في تعلمها. إن كنت اليوم قد وصلت إلى مستوى معقول في PHP مع إمكانية لاستخدام لغات برمجة أخرى بسهولة نسبية، فإن ذلك راجع فقط للممارسة، التي رغم أنها لم تكن متعمقة إلا أنها ساهمت، بجانب قراءاتي المتواصلة، في وصولي إلى المستوى الحالي.
أفضل المصادر التي صادفتها خلال مسيرتي البطيئة في تعلم البرمجة:
- جوجل: محرك بحث لا غنى عنه في أي مرحلة. دائما عد إليه لتجد حلول المشاكل التي تصادفها.
- stackoverflow: موقع مهم جدا للمبرمجين. يمكنك أن تجد فيه حلولا تقريبا لكل المشاكل التي قد تصادفها، ويمكنك أن تطرح أسئلتك وتتواصل مع المبرمجين المحترفين.
- تعلم لغة PHP: مرجع عربي شامل لكل ما تحتاجه لتعلم php من الصفر. أفضل الدروس والمقالات والنصائح والكتب والعديد من المصادر المتنوعة لتعلم لغة php تجدها في مكان واحد.
- PHP 5 Power Programming: كتاب مهم جدا، لا يعيبه سوى أنه لم يحدث منذ سنة 2004، وهي فترة طويلة عرفت خلالها اللغة الكثير من التحديثات.
- smashingmagazine: موقع شهير لا غنى عنه لأي مصمم. يتابع أيضا الجديد في HTML&CSS وجافاسكريبت.
- Beginning Ruby: أفضل كتاب لشرح أساسيات روبي. هو صالح أيضا حتى لمستخدمي اللغات الأخرى بحكم أساسيات البرمجة التي يتطرق لها. في نفس السياق، وجدت أن الإطلاع على إطار العمل RubyOnRails مهم جدا للحصول على أفكار جديدة وأساليب مختلفة في البرمجة يمكن الاستفادة منها عند استخدام لغات برمجة أخرى. شخصيا تغير أسلوب استخدامي لـ PHP تماما بعد أن بدأت في استخدام ريلز.
أفضل التعليقات
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.