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

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

إذاً هل البرمجة للجميع فعلاً؟ هل الكل قادر على تعلم لغة برمجية والإبداع فيها؟ لم لا؟ كل هذا الدعم حول العالم، كل هذه المصادر من فيديو وكتب ودروس متوفرة مجاناً.

من المواضيع المثيرة للإهتمام والتي طرحها الصديق ثمود بن محفوظ على Arabia IO هي سؤال تحت هذا الموضوع تحديداً.

كل مايجري حول العالم يدور حول التكنولوجيا الآن. واقعنا العربي يجعلنا ربما نتحمس أكثر لجعل البرمجة جزء من حياة اليافعين ليستطيعوا ربما بداية شركة في المستقبل. المواد الأولية لبناء تطبيقات ويب متوفرة تقريباً لدى الجميع مجاناً.. ما الذي يمنع إذاً؟

هناك عدة محاور لهذا الموضوع، سأحاول طرحها أيضاً من وجهة نظر مستخدمي Arabia IO.

هل هي موهبة؟

يبدأ المستخدم sunanix بالقول

البرمجة متاحة للجميع. وأنت من تحدد تعلمها أم لا. وهي ليست موهبة وإنما شي مكتسب عبر القرائة والتجربة والممارسة.

أعتقد المقصود انه لا يجب على الجميع أن يكونوا مبرمجين حتى ينجحوا في أعمالهم. فصاحب الفكرة أو المال أو المدير الناجح لا يجب عليه أن يتعلم البرمجة ليطبق فكرته فهو سيفشل بالتأكيد (هناك استثناءات لا يمكن القياس عليها).

البرمجة هي جزء (وإن كان الأهم) من نجاح المشروع، لكن هي ليست كل شيء.

هناك مبرمجين ممتازين لكن بإدارة سيئة ومسوق سيئ ومصمم أسوأ لن نصل الى شي.

يمتد هذا الحوار كثيراً حقيقة بين إن كانت البرمجة حقاً موهبة أم شيئاً يمكن الحصول عليه بالتعلم. رأي عبد الله المهيري كان جيداً هنا.

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

تعلم شيء  لا يتعلق بالموهبة بالضرورة، قد يمتلك بعض الناس مواهب مسبقاً لكن لا يعني أن من لا يملكها لا يمكن أن يتعلم ويتقن ويمتلك الموهبة بالممارسة، الأمر صعب ومتعب لكنه ليس مستحيلاً، هناك كتب وأبحاث وأمثلة تثبت ذلك.

أما عبد الرحمن أحمد فيقول

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

أين المشكلة في كل هذا؟

لنعد قليلاً إلى الوراء. 

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

كلمة “موهبة” تحمل الكثير من المعاني والمغالطات في نفس الوقت. تعريفها يشرح كيف أن الأمر متشعب وصعب التحديد

ماذا لو أعطينا أحداً كماناً وطلبنا منه العزف بدون أية خبرة وعزف شيئاً جميلاً! هل نسمي هذا موهبة؟ أم حظ؟ أم امتلاك أذن موسيقية؟

ماذا لو استطاع القيام بتعلم العزف خلال شهر؟ أو تعلم آخر العزف خلال أسبوع فقط؟ هل الآخر موهوب أكثر؟ أم أنه قرر قضاء  5 ساعات يومياً بدل 3؟

لايوجد مطلق  في تعريف الموهبة خصوصاً في موضوع التعلم.

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

سأستدرك وأقول أن قدرة الجميع على مزاولتها والعمل بها أمر غير منطقي بالطبع. لا أرى أن الأمر يتعلق بالموهبة (إن اتفقنا على تعريفها أصلاً) كون الموضوع مرتبط بالعديد من العوامل مثل الاهتمامات والظروف والميول بالدرجة الأولى إضافة إلى الزمن المقضي في تعلمها أو الخبرة.

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

طرح الصديق محمد حبش تجربة شخصية مقبولة جداً 

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

في الجامعة كان لدينا مادة برمجية واحدة وتعلمنا فيها لغة سي بلس بلس واستمرت معاناتي من اختلاف نمط تفكيري وعقلي عن المهارات التي يجب ان يتحلى بها فطرياً عقل المبرمج

لذا قررت أن البرمجة لا تناسبني وهذا أمر فطري وطبيعي

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