هل فعلا على الجميع تعلّم البرمجة؟
أغلبنا سمع عن حملة الدعوة إلى تعلم البرمجة في الولايات المتحدة، بل والمطالبة بإدراج البرمجة كمقرر دراسي يتعلمه الأطفال إلى جانب تعلمهم القراءة والكتابة، حملة إنظّم إليها العديد من المشاهير في عالم التقنية وخارجها .. لعل أبرز الأسماء التقنية (بيل غيتس، مارك زكربرغ، ستيف بالمر، جاك دروسي ..إلخ) والكثير من المغنيين والسياسيين المعروفين. موقع الحملة
الحملة تحتجّ بأن سوق العمل في العالم وفي الولايات المتحدة بالتحديد بحاجة متزايدة إلى خبراء يمتلكون مهارة البرمجة، كما أنها تروّج إلى "أن الجميع يستطيع تعلم البرمجة".
إلى هنا كل شيء تمام،
لكن هنالك رأي آخر في الموضوع، هنالك قول مخالف..المبرمج الشهير jeff atwood المعروف بمدونته www.codinghorror.com ، يرى أن القول بأن على الجميع تعلم البرمجة كالقول بأن على الجميع تعلّم السباكة! فكما أن هنالك حاجة للمبرمجين .. هنالك حاجة أيضا للسبّاكين الماهرين!
رأي غريب لكن لديه حجج قويّة تدعمه، طرحها في هذه التدوينة:
http://www.codinghorror.com...ألخص أهمها في هذه النقاط (من تعبيري الخاص):
الحملة تفترض أن المزيد من الشيفرة (code) في العالم سيجله أفضل، بينما يرى أن العالم المثالي لا يجود فيه كود أصلا!
الحملة تفترض أن البرمجة هي الهدف، بينما الهدف الحقيقي هو "حل المشكل" .. إن كان بالبرمجة فمرحبا، إن لم يكن .. فأحسن!
هذه الحملة تسبّق الطريقة أو الوسيلة (البرمجة) قبل المشكل أصلا.
إضافة الكثير من الأشخاص غير الواثقين إن كانوا فعلا (يريدون تعلم)/(يحبون) البرمجة إلى القوى العاملة في هذا المجال، وطبعا لا يوجد أسوء من عامل يكره المجال الذي يعمل فيه.
الحملة تسوّق خرافة تقول بأنّك بتعلمك لبعض المهارات البرمجية أو أخذ دورات تعليمية لبضعة أسابيع ستمكنك من الحصول على وظيفة بأجر خيالي! رغم أن الحقيقة أبعد كل البعد عن ذلك.
ما رأيك، هل فعلا على الجميع تعلّم البرمجة؟
التعليقات
تعلم البرمجة بشكلها الاحترافي على الجميع وبشكل الزامي في التعليم هو حتماً امر خارج عن الصواب، فهذه الامور كلها تندرج تحت الميول والموهبة.
المرحلة المدرسية (لغاية الثانوية) في اوروبا وامريكا عموماً تنقسم إلى جزئين، الاولى هي حتى الصف السادس ابتدائي وهذه مرحلة اساسيات فقط مثل الكتابة والقراءة والرياضيات والعلوم المبسطة، ثم المرحلة المتوسطة والثانوية وهذه يكون فيها تخصص واختيار للمواد مثل الفنون، العلوم، الهندسة، التجارة وهكذا.
وسبب وجود عدة تخصصات في الثانوية يعود لمتطلبات القبول الجامعي، التي تتطلب وجود درجة معينة مثلا بالرياضيات ودرجة معينة في التجارة وهكذا ليتم قبولك في تخصص ما. ليس كما الدول العربية التي تنقسم فيها المرحلة الثانوية إلى قسمين فقط ادبي و علمي.
مادة الكمبيوتر ليست اجبارية على الجميع، وعلى هذا الاساس من الافضل تطوير مادة الكمبيوتر لتشمل امور عدة وليس البرمجة فقط (مثل التعامل مع مختلف انظمة التشغيل، اساسيات البرمجة، فهم الية عمل المواقع، فهم الية عمل تطبيقات الجوالات وهكذا) .. حالياً في معظم دول اوروبا مادة الكمبيوتر عبارة عن ويندوز وحزمة اوفيس لا اكثر ولا اقل، وفيها الكثير من الملل والامور القديمة.
انما التركيز على امر معين فقط مثل البرمجة ليس بحل جيد. غداً سوف ياتيك مجموعة اطباء ويطلبون تعليم الطالب وبشكل اجباري اساسيات الجراحة واجراء العمليات! .. المتظرر هو الطالب بالنهاية.
لن أسأم أبداً من طرح هايبركارد كمثال لبرنامج ساعد الناس على البرمجة، أناس ليس لهم علاقة بالبرمجة ولا يعملون في هذا المجال بشكل احترافي لكنهم ومن خلال هايبركارد صنعوا برامج لحاجاتهم الخاصة وهذا ما لم يكن ممكناً لهم من خلال لغات برمجة أخرى، ومن ناحية أخرى ليس هناك حل واحد يناسب الجميع، لا يمكن أن تدعي شركة ما أن برامجها تناسب الجميع لذلك البعض صمموا برامجهم الخاصة لتناسب احتياجاتهم.
تعلم البرمجة كمجال احترافي وكما يفعل المحترفون في شركات مختلفة هو أمر غير معقول تماماً كالدعوة إلى أن يتعلم الجميع الطب أو المحاماة، لكن من ناحية أخرى توفير أدوات للبرمجة تبسيط البرمجة على الناس مثل هايبركارد أو آكسس أو إكسل أراه أمراً ضرورياً ويفترض بالناس تعلم البرمجة من خلال هذه البرامج لكي يصمموا الحلول التي تناسبهم بدلاً من الاعتماد على حلول يقدمها آخرون قد لا تناسبهم.
إذن فبالنسبة للأغلبية، برامج مثل (هايبركارد، إكسل..إلخ) قد تغني عن تعلم البرمجة بلغات أكثر تقدما وتعمقا، فتلك البرامج تلبي احتياجات الكثيرين (كحساب معدلات التلاميذ للمدرسين .. والقيام بنفس الأوامر للموظفين..إلخ) .. فمن غير المعقول مطالبة الجميع بتعلم التطوير للويب أو برمجة تطبيقات الهاتف بينما لن يستعملوا هذه المهارات في حياتهم اليومية، ستكون كتلك المعادلات والتمرين الكثيرة التي درسناها في الرياضيات ونتساءل إلى اليوم عن متى سنستعملها في حياتنا اليومية!
أعتقد أن النقطة المهمة التي ذكرها jeff في تدوينته هي "البحث عن المشكلة" ، البرمجة وجدت لتوجد حلول، لنتساءل أولا "هل هنالك مشكلة أصلا تدفع بالشخص لتعلم البرمجة؟" ، أعتقد إذا أجاب الشخص على هذا السؤال فسيستطيع تحديد إن كان يحتاج إلى تعلم البرمجة أم أن الخصائص التي توفرها برامج كـ أوفيس وغيرها تفي بالغرض.
أنا مع أن الجميع يجب أن يتعلم البرمجة ولكن "ليس إتقانها" فالبرمجة مستقبلاً ستصبح مثل اللغة الإنجليزية حالياً متطلب من أجل تسهيل التعاملات، وليس بالضرورة أن تتعلم لغات البرمجة المعقدة أظن أن تعلم أساسيات بعضاً من HTML وجافا سكربت مع لغة برمجة مثل روبي او php ستساعدك على تكوين فكرة بسيطة عن كيفية عمل الأشياء حولك خصوصاً أننا أصبحنا في عصر يعتمد بشكل كبير على الإنترنت والإرتباط بها.
رأي jeff atwood اعتبره صحيح نوعا ما لكن هناك فرق بين ان اتعلم البرمجة او اتعلم السباكة (كما يذكر هو ) او غيرها كأساسيات فقط لاني احتاجها في حياتي اليومية, او اتعلمها لاني احبها واطمح للاحتراف!
, القائمين على موقع code.org يجدون ان للبرمجة مستقبل مشرق جدا سواء في الولايات المتحدة بشكل خاص او العالم بشكل عام , لهذا يريدون تعليم الناس البرمجة ولا اعتقد يودون من الجميع اتقانها , عسى ان يستطيعوا حل بعض المشاكل التي قد تواجههم في المستقبل .
وانا شخصيا ارى وجوب تعليم الناس البرمجة (بشكل عام) ويجب ان يأخذو فكرة عامة عن ما يحدث بالبرامج قبل طرحها للمستخدم وكيف يتعب المبرمج من اجل برامجه , عسى ان يعي بعض الناس ما هم فيه ويتوقفوا عن شراء البرامج المقرصنة ( Crack ) ;)
يجب على الجميع تعلم ثقافة البرمجة وبالذات اصحاب رؤوس الاموال ورجال الاعمال لان البرمجة الان اصبحت جزء مهم من حياتنا ولا يزال الملايين حول العالم لا يفهمون مالذي يجري حولهم وربما يواجه المبرمج صعوبة في ايصال افكاره للمجتمع لذلك يجب على الجميع ان يفهم وليس مهما ان يتقنوا البرمجة ويكتبوا اسطر برمجية فقط مجرد الفهم.
يبقى لمذا تعلمت البرمجة و هل فعلا تعلمتها باحترافية ام فقط اريد تعملها !! هناك من تعلمها للربح عن طريق بيع سكربتات و هناك من تعلمها لتصميم صفحات خاصة به مثل المسوقين و هناك من تعلمها لمشاريع خاصة ... أما اذا اصبحت تدرس في المدارس فاعتقد سيكون مصريها كباقي العلوم الاخرى ( الفيزياء و الرياضيات و علوم الحياة) حيث تجد دائما هذا السؤال : ما الغرض من تعلمي للرياضيات او الفيزياء ؟ لكن على الرغم ستجد فئة اخرى لكن قليلة تبحث في هذا المجال.
هذا كلام خاطئ 100% وكأننا نقول على الجميع أن يصبح مهندساً أو طبيباً .. وحتى إذا تعلم الناس البرمجة فهل كلهم سيصبحون مبرمجين ويتركوا مجالهم الأساسي لأنه من المنطق أنه أصلاً يستطيع الشخص الإنخلاط وإتقان وإحتراف أكثر مجال .. فحتى في البرمجة لا يوجد أي شخص يقن جميع أنواع البرمجة .. ثانياً فلنفترض أن الجميع أصبح مبرمجين .. من سوف يستخدم هذه البرامج إذا أصبح الجميع مبرمجين ولن تجد أي سوق .. و رخص الثمن وعندها ستصبح البرمجة بلا فائدة لأن كلما أراد شخص برجمة شيء قام به ولا يشتري أي برنامج أو تطبيق .. أمر غير منطقي بالمرة !!