البرمجة ليست للجميع
- thamood
- 2014-02-24T08:53:52+00:00
الكثير ينادي بأن يتعلم الجميع البرمجة وأن البرمجة "للجميع" وأعتقد أن هذه الفكرة سخيفة لأننا لو طبقنا نفس المفهوم على الفيزياء أو الطب فسوف يعتبرك البعض مجنوناً، ،مع ذلك توجد بعض المحاولات من أجل نشر ثقافة البرمجة على نطاق واسع وجعلها مثل تعلم اللغة الإنجليزية وهو أمر مختلف كلياً فالبرمجة هي حالة تعلم مستمر ومتجدد بعكس تعلم التحدث بلغة ما.
بالطبع هذا لايمنع أن يكون الناس فكرة عن البرمجة وكيفية بناء تطبيقات معينة ولكن أن يقال أن أي شخص يستطيع أن يبرمج هو أمر غير واقعي فعلياً لأننا لو قسنا على ذلك فإن أي شخص يعرف إسم دواء السعلة يمكن أن يصنف نفسه على أنه طبيب.
هل مازال أحدكم يظن أن البرمجة للجميع؟
البرمجة متاحة للجميع. وأنت من تحدد تعلمها أم لا. وهي ليست موهبة وإنما شي مكتسب عبر القرائة والتجربة والممارسة.
أعتقد المقصود انه لا يجب على الجميع أن يكونوا مبرمجين حتى ينجحوا في أعمالهم. فصاحب الفكرة أو المال أو المدير الناجح لا يجب عليه أن يتعلم البرمجة ليطبق فكرته فهو سيفشل بالتأكيد (هناك استثناءات لا يمكن القياس عليها).
البرمجة هي جزء (وإن كان الأهم) من نجاح المشروع، لكن هي ليست كل شيء.
هناك مبرمجين ممتازين لكن بإدارة سيئة ومسوق سيئ ومصمم أسوأ لن نصل الى شي.
أحترم وجهة نظرك. لكن أرى أنها شيئ مكتسب عبر التجربة والقرائة وليست موهبة.
اذا قرأت عن coding standard والتزمت بها فسوف يتحسن طريقة كتابة الكود.
اذا تعلمت عن design pattern سوف تكتب كود أفضل وقابل للصيانة والتطوير.
اذا تعلمت algorithm & data structure سوف تكتب كود يعمل بكفائة أفضل.
كلما تعلم الشخص أكثر ، كلما تطورت لديه القدرة على كتابة كود أفضل.
ألن كاي يخالفك الرأي هنا، إن ولد طفل هندي في فرنسا وتبنته من أول يوم عائلة فرنسية سيتكلم الفرنسية، لكن أقرانه في الهند إن لم يتعلموا الفرنسية بعد سنوات قد ينعتون بالفشل في تعلمها وربما لأنهم لا يملكون موهبة تعلمها، وهذا غير منطقي، ضع طريقة فعالة لتعليم أي شيء لأي شخص ويمكن أن يتعلمه، شخصياً كنت أظن أنني فاشل في الرياضيات - وقد كنت في المدرسة - لكنني أدرك الآن أن من فشل في تعليمي هو السبب، الآن أتعلم الرياضيات بنفسي وأستمتع بذلك، كذلك الحال معك، ربما لم تجد الوسيلة المناسبة لتعلم الرياضيات.
تعلم شيء في رأيي لا يتعلق بالموهبة، قد يمتلك بعض الناس مواهب مسبقاً لكن لا يعني أن من لا يملكها لا يمكن أن يتعلم ويتقن ويمتلك الموهبة بالممارسة، الأمر صعب ومتعب لكنه ليس مستحيلاً، هناك كتب وأبحاث وأمثلة تثبت ذلك.
ولكن ألا يوجد فرق بين مهارات العيش التي "يجب تعلمها" من أجل التعامل مع المجتمع وبين المهارات التي ليس لها علاقة بهذا الشيء؟
تعلم اللغة والتعامل مع الأخرين ضرورة لابد منها من أجل أن تعيش ولكن البرمجة ليست ضرورة فطرية للشخص ممايعني أنها تعتمد على مدى تقبلك لها وهو مايطلق عليه البعض إسم الموهبة والملكة.
يبدو أننا نختلف على مسميات لا أكثر، هناك أمثلة كثيرة لأناس فشلوا في طفولتهم في مجالات مختلفة ثم نجحوا لاحقاً عندما تعلموا بأنفسهم، فهل اكتسبوا موهبة لم تكن لديهم في طفولتهم؟ الإنسان ليس كائن ثابت لا يتغير، بإمكانه أن يتعلم إن أراد ووجد الطريقة المناسبة، لا أظنك تخالفني هنا.
اكتسبوا ام اكتشفوا :P
انت تفترض تساوي القدرات بين الافراد، و الفرق هو الرغبة و الاصرار إلخ؟
يعني الكل يستطيع ان يلعب كرة السلة لو وجدت الرغبة عند الكل؟
انا عندي مثال حقيقي حصل امامي، واحد لديه رغبة شديدة و معلم جيد و الثاني لا يهتم و نفس المعلم، صاحب الرغبة و المثابرة فشل في تعلم (البرمجة) على عكس الثاني، و لا يوجد في الفرق الثقافي بينهما، منا حية تربية الأهل أو ادراسة (كلية التجارة).
طيب لنغير من "التحليل المنطقي" التي نختلف عليها هنا كموهبة ام مكتسبة إلى "قوة الذاكرة" هل تستطيع ان تفترض ان قوة الذاكرة متساوية عند الكل و الفرق هو التنمية او الضعف الذي يحصل لها؟
هل هي (قوة الذاكرة) موهبة ام ممكن اكتسابها.
لن نصل لاتفاق ولا يجب أن نتفق، دعنا نتفق على أننا نختلف في الرأي هنا، ألخص رأيي: المرء أدرى بنفسه، إن وجد طريقة تناسبه لتعلم أي شيء وحاول بجدية وبطرق مختلف ففي الغالب سينجح في تعلم أي شيء، قصة وتجارب الأفراد لا تعني الكثير ما لم تصبح دراسة علمية على آلاف الناس لنعرف بشكل نهائي ما هو موهبة لا يمكن اكتسابها أو مهارة يمكن تعلمها واكتسابها.
أتفق معك أنه يمكنك تعلم أي شيء و اتقانه أيضا ..لكن أن تصبح مبدعا فيه تحتاج لمواهب فطرية ... فالقدرات متفاوتة بين الأشخاص فمثلا ليس كل الأطباء و لا المهندسين ولا العلماء بنفس الدرجة ... الموهبة ربما تأخذ وحدها نسبة 30 في المائة و الباقي بين التعلم و المثابرة و غيرها من العوامل
لدي إيمان أنه بإمكانه أن يتعلم البرمجة __إن أراد ذلك__ ووجد الطريقة المناسبة له والتوقيت المناسب له، بما أنه لا يرغب في ذلك فلا مشكلة، كنت أؤمن أنني غبي في الرياضيات حتى كبرت وتعلمت بنفسي، لدي الرغبة والطريقة المناسبة لي، من ناحية أخرى، لن أتعلم الفيزياء مثلاً لأنني لا أرغب في تعلمها، لا أنكر المواهب لكنني على يقين أن من يريد تعلم شيء ووجد الظروف والوسائل المناسبة سيتعلم، الرغبة والإرادة أمران مطلوبان.
صحيح عند وجود الارادة، لكن الحقيقة مع وجودها يمكن ان يفشل، مثل المطرب ذو الصوت البشع، لن يستطيع ان يغني مهما كان عنده اراده.
الفكرة صعب علي ان اثبت انا هنالك شيء في المخ يدعم تعلم البرمجة، هذا الشيء له ارتباط بالتحليل المنطقي، اتحدث عن تجارب طويلة فعلية، تغلب الشكل النظري.
الصعوبات التي قد تواجهها في الرياضيات مثلا قد تكون صعوبة ذاكرة لا فكر رياضي تحليلي (هذا ما حدث معي ايضا).
نفس الشيء في البرمجة قد يكون النقص في امور اخرى قد يستطيع تعويضها بوسائل اخرى معتمد على الاصرار.
لكن اذا كان عنده مشكلة في المنطق، لا اتوقع ولو انفق على نفسه الكثير.
كل شخص يستطيع أن يتعلم الرسم إلى درجة معينة لكن ليس كلهم نستطيع أن نقول عنه رسام فنان .... أنت تنكر وجود الموهبة تماما ...فبالموهبة مثلا ما تتعلمه أنت و أنا في شهر يستطيع أن يستوعبه شخص موهوب في مجال معين في يوم أو يومين
نعم هذه اﻷشياء التي ذكرتها يُمكن تعلّمها، لكن حتى من يتعلمها يمكن أن يفشل في بناء برنامج عملي بطريقة صحيحة، فمن ينجح في عمل برنامج لحساب المضروب أو الرقم اﻷولى أو لعمل مثال بإستخدام أي design pattern ربما يفشل عندما يعمل برنامج حسابات أو برنامج للإتصال مع المقسمات أو لعمل برنامج للتعامل مع برتوكول اﻹتصالات أو للإتصال بأي أجهزة أخرى. احياناً من ليست لديه الموهبة لا يعرف كيف يبدأ في كتابة البرنامج.
في الجامعة اﻷشخاص الذين تحصلوا على درجات عالية (المرتبة اﻷولى) لم يصبحوا مبرمجين في النهاية، مع أنهم كانو يفهمون جميع لغات البرمجة، بل أحياناً يقومون بتدريسها، لكنهم فشلوا في الواقع العملي، ومنهم من عملت كسرتيرة بعد أن كانت اﻷولى على دفعتها.
وكان لي صديق خريج هندسة إلكترونية وكان اﻷول على دفعته، طلب منه أحدهم أن يقوم بإصلاح تلفازه المعطل، فأعتذر له أنه لا يستطيع اصلاح التلفاز لكن إذا كانت عنده مسألة فسوف يحلها.
كلامك صحيح بعد وجود الموهبة الاصلية، حسب خبرتي، استطيع ان احكم على الشخص انه سيتعلم ام لا، و إذا كان لا، فلن يتعلم ولو بذل 10 اضعاف المجهود، هي معالجة منطقية في المخ، ملكة منذ الصغر.
لا اتكلم عن تجربة واحدة بل تجارب عديدة في تعليم الآخرين، جربها بنفسك نفس المنهاج و نفس العناية، المعالجة المنطقية تختلف، منهم من يتعلم و يبدع و منهم يبقى علمه روتينيا.
حتى الفرق ملموس في الحياة اليومية بدون برمجة.
ليست موهبة فقط، فلابد أن تكون هواية حتى ينجح المرء.
يمكن أن يكون شخص لديه موهبة في الرياضيات، أي له القدرة أن يفهم كل مايتعلق بالرياضيات، لكن بدلاً من أن يصبح عالم رياضي مثلاً يمكن أن يكون لديه هواية في علوم اﻷحياء مثلاً فيدرس كلية متخصصة في اﻷحياء مثل زراعة، طب، بيطرة، إلخ، فبذلك تكون قد ضاعت موهبته هباءً ولم يستفد منها، وتخصص في هوايته بدلاً من موهبته.
الخلاصة أن اﻷثنين مطلوبين.
اخي زاهر ، هي ليست بالفطرة برأي حتى تكون موهبة لان الموهبة معناته شي معطى للإنسان دائما
وفعلا قد تكون كذلك اذا توفرت له البيئة والأدوات والأجهزة بالاضافة انه تجتمع في الشخص ( رغبة ) وحب للمعرفة والاطلاع وحب للتقنية و لكل مبرمج أداء متميز عن غيره في مجال أو أكثر من المجـالات التقنية لتوفر المواد اللازمة له في ذلك المجال وقد يجمع اكثر من مهارة وتنقصه مهارة اخرى.
لكن كلامك صحيح موهبة ( اذا رغب ) في التعلم.
البرمجة يعتبر نمط تفكير ينمي ملكة تحليل المشاكل وإيجاد حلول لها، وهذا لا يصلح للجميع لأن هناك أنماط مختلفة للشخصية، منها ما هو حدسي ومنها ما هو حسي ، والنمط الحسي لا يتوافق مع طبيعة البرمجة،
كالفرق بين الفرع الأدبي والفرع العلمي في الدراسة
ولكن يمكن أن يتعرف الناس عن ماهية البرمجة وليس شرطا العمل بها ، أي من باب العلم بالشيء وزيادة المعرفة والثقافة ، وليس من أجل المهارة.
سبق أني كتبت سلسلة دروس توضح ما هي البرمجة - 30 درس أسميتها سلسلة تبسيط البرمجة - وافترضت أن القارئ لم يسمع بالبرمجة من قبل أو سمع بها بالاسم فقط، وحاولت أن أوصله إلى نقطه يستطيع إدراك معنى البرمجة.
ونويت منذ أيام أن أطرحها هنا ولكني احترت في الكيفية أي في أي مجتمع وهل أضعها كروابط منفصلة أم مجموعة روابط في موضوع واحد أم أنسخها إلى هنا على هيئة دروس
أرجوا إبداء النصيحة إن كانت فكرة طرحها هنا جيدة.
طالما لم يعلق أحد على مسألة طرح الدروس ، اجتهدت رأيي وبدأت بسم الله ، متوكلا عليه.
لو طبقنا نفس المفهوم على الفيزياء أو الطب فسوف يعتبرك البعض مجنوناً
تعلم البرمجة للأطفال يشبه تعليمهم الإسعافات الاولية. لغة لوغو أو أي لغة مشابهة لا تهدف لتعليم الأطفال ما يحتاجه السوق (لأنه ما أن يكبروا سيكون السوق قد تغيّر) لكن الهدف هو تعليمهم التفكير الإجرائي وحل المشكلات.
الناس اهتمامات، يجب ان نعترف بختلافات اهتماماتنا. لأني طالب الجامعة متخصص بـsoftware engineering (هندسة البرمجية) هناك عدد كبير ( بل الأغلب ) من الطلاب في السنة الاولى من لتخصص معدلاتهم عالية في مواد اخرى اضافية ك(اللغة الامانية) والعكس تماما مع مواد البرمجة ! لا ادري لماذا يختارون تخصصاً لا يحبونه. وتراهم في السنة الثانية يقاتلون البرمجة ويقاتلون انفسهم ليحصلون فقط على نسبة نجاح لو كانت C ومعظمهم يفكر في تغيير التخصص، ويجده صعباً لان القرار متأخر.
حقيقةً البرمجة محمسة في شكلها الظاهري وجذابة جداً. ولكن يبدو العمل عليها معقداً ويحتاج تطوير خبرة ولا يستمتع بها الا ما ندر من شخصيات معينة من البشر.
بعض الطلاب يحب مثلاً الألعاب الاكترونية ويستمتع بها جداً ويتمنى لو يستطيع تعلم تطويرها وبرمجتها. وعندما يدخل مجال التخصص ينصدم. ليس لصعوبة الامر ! لكن ربما لايناسبه. وربما يفكر متعة البرمجة كمتعة اللعب بمنتجات المبرمجين واستخدامها. وكثير منهم لايضع اللوم على نفسه ولا يعترف ان البرمجة ليست تخصص ملائم له! بل يحمّل الجامعة اللوم، والمناهج واسلوب التدريس وو .. !
فعلاً اوافقك الرأي البرمجة ليست للجميع
كلامك صحيح ... هذا ماشاهدته في الجامعه ... طبعاً الأمر معكوس معي, مواد التخصص (البرمجة و قواعد البيانات و ماشابه) درجاتي فيها عاليه ... وفي أسهل المواد التي ليس من مواد التخصص بالكاد أنجح بها! مع أن الجميع يحصل فيها على A+.
و أوافق الأخ ثمود في كلامه, كُنت مستغرباً جداً عندما رأيت مشروع (code.org).
اعتقد عندما يقصد بتعليم البرمجة للجميع. مثل مايقصد بتعليم اساسيات الرياضيات وهي متتطلبة لمعرفتها للنجاح في اي مهنة او في الحياة العملية. مع اعتمادنا الكبير على التقنية فمعرفة البرمجة مهمة ان كان طبيب او عالم فيزياء لانهم سوف يحتاجونها في ابحاثهم و عملهم فغير المعقول توظيف مبرمج مع كل طبيب او عالم فيزياء للعمل معهم وغير ذالك برمجة تطبيقات طبية تحتاج إلمام بالطب وهناك اقسام كبيره مثل biomedical engineering و bioinformatics التي تتطلب إلمام بالاحياء وعلوم الحاسب وغيرها.
- حذف بواسطة المستخدم
انا اوافقك الرأي , و اظن اهمية معرفة استعمال الكمبيوتر اهم من تعلم البرمجة لعامة الناس
لا يمكن ان يصبح الجميع مبرمجين كما انه لا يمكن ان يكون الجميع خبازين أو سائقين ... ولكن ان تتاح تعلمها هذا امر آخر ... كما يتاح للجميع فرصة ان يكون خباز او سائق ....
انا اظن ان المقصود بالتعلم البرمجة للجميع هو اتاحة وتوفير فرصة تعلمها لمن يشاء ولكن ليس للكل الناس هذا ما اعتقده في الامر
أما عن موضوع التى طرح في أجوبة البعض .... أظن أن الموهبة عامل مهم لاكتساب اي مهارة اضافية للإنسان لكن ليس بالموهبة وحدها يعيش الإنسان ... البرمجة كأي شئ في الدنيا علم يكتسب بالتعلم والممارسة قد يكن للموهبة دور في الابداع والقدرة علي الابتكار واضافة لمسات ابداعية للكود والتصميم... لكن بلا تعلم جيد والممارسة لن يكون هنالك مبرمج ... كما أنه ليس بالموهبة وحدها سنجد مبرمجين .... ليس كل من يبدأ في تعلم البرمجة سيستمر في تعلمها للنهاية ولو استمر ليس شرطا ان ينجح كمبرمج سيبقي فقط من يمتلك الموهبة والاصرار علي التعلم والممارسة الحقيقية ...
من خلال اختلاف التعليقات يظهر لي أننا يجب أن نفرق بين تعلم البرمجة بقدر حاجتنا لتيسير أعمالنا وبين البرمجة من أجل الإنتاج الإبداعي أو الروتيني
البرمجة موهبة فى المقام الاول ويصعب مقارنة من يعملوا بها بأى عمل اخر
بعد رؤيتي لمشروع ساعة البرمجة hour of code
اغتظت فعلا ... من ناحية ليس اي شخص يمكن ان يتعلم البرمجة وايضا المشروع يعلمهم على واجهات الDrag and Drop
يعني انهم مقيدين بعدة اوامر ولم يستفيديو شيئا بل اخذو فكرة ان البرمجة سهلة والمبرمجين اطفال
بشكل عام اعتقد ان تعلم اي شئ متخصص هو استثمار وقت ومجهود، البرمجة حالة معينة، ربما يستطيع اي أحد تعلم البرمجة، لكن العلم درجات، وهنالك فرق بين هذا وذاك، قد تواجه شخص ما مشكلة ولا يستطيع حلها بينما غيره يستطيع حلها.
اي انها بشكل رئيسي تعتمد على طريقة تفكير الشخص نفسه، وشخصياً ما جذبني لعالم البرمجة هي الفكرة نفسها، بدلاً من سابقاً كنت المستهلك، اصبحت المتحكم، اصبحت الصانع، اصبحت صاحب سلطة في عالم مثالي (تقريباً) حيث ما افعله وما اكتبه ينفذ بالحرف، اعتقد لكي فعلاً تتعلم البرمجة كما يجب، يجب ان يكون لديك عدة شروط:
الدافع الذي يجعلك تستمر فيها، او الحافز، وقد لا تجده الا اذا كانت موهبة متأصلة فيك.
الفضول عن كيفية عمل الامور، ومعرفة التقنيات المختلفة لانجاز نفس الامر.
عقل متفتح للغاية ويستوعب اعقد الامور اذا ما تسنت له الفرصة.
قدرة كبيرة على التخيل حيث ستساعدك في رسم المشكلة في ذهنك ووضع خطة الحل المحتملة لها.
عدم اليأس او الاستسلام او الاصابة بالاحباط الناتج من الفشل المتكرر كثيراً في هذا العالم.
ان تكون منهجياً في اسلوب حياتك، حيث كل شئ فعلته بأذن الله كان قد تم التفكير فيه جيداً والتخطيط له (باستثناء ظروف القدر)، اي انك من النوع المخطط، لا تحب المضي قدماً في شئ الا بعد حساب كل سيناريو ممكن ووضع خطتك لتنتج افضل ناتج في اسوأ ظروف ممكنة.
هذا رأيي الشخصي واجد للكثيرين هنا اراء افضل مني، لكن البرمجة بالتأكيد ليست للجميع، مهما كنت ذكياً مهما كنت صبوراً البرمجة تعتمد على عدة خصال ليست توجد في الجميع.
كلنا تعلمنا في المدرسة مبادئ في الفيزياء والرياضيات والكيمياء والبيولوجيا والجيولوجيا.... اذن ومع التقدم الحاصل في العالم أعتقد أنه على المدارس أن تضيف مواد تدرس البرمجة لكي يتعلم مبادئ هذا المجال :-))
ذكرتني بمبادرة code.org لتعليم البرمجة للجميع، مع حملة إعلامية ضخمة، شارك فيها اوباما وبيل غيتس ومارك وغيرهم، وما زالت مستمرة.
تساءلت لماذا كل هذا الاهتمام بتعليم البرمجة للجميع؟ لا أحد تحت ال 30 الآن إلا ويعرف كيف يستخدم الحاسب والجوال والإنترنت (منطقياً لا تستطيع الإطلاق، لكن نستطيع قول ذلك).
الجواب المنطقي المقنع، هو أن المستقبل هو للمعلومات وعلومها. وسيأتي يوم يكون فيه من لا يجيد كتابة بضعة أسطر من الكود، كمن لا يجيد استعمال مفك البراغي!
إذا سألت شخصاً كيف تعمل مروحة السقف ولم يستطع إجابتك، ألا تستغرب جهله؟
طبعاً ليس كل من يستطيع استخدام المفك، يمكنه تركيب خزانة للملابس، أو صناعة مروحة للسقف.
لكن من لا يستطيع شد برغي في خزانة، أو أن مروحة السقف تبدو له اختراعاً معقداً، هو شخص أمّي بالفعل.. أو ربّما مدلّل إلى حد كبير!
حقيقة أرى أن هناك خلط ما بين ( النبوغ ) والتعلم.
أي علم من وجهة نظري يمكن تعلمه ( إلا بالطبع لو كان هناك عائق نفسي أو عقلي ).
لكن كم شخص سيتفوق في هذا العلم ؟!
البرمجة متاحة للجميع , كلما تعلمت أكثر كلما فُتحت لك آفاق جديدة , كلما شاهدت برمجيات أكثر وأكثر وراجعت أكواد مشاريع وغيره , كلما زادت حصيلتك وكلما زاد تفوقك.
الخلط ما بين المبرمج العادي والمبرمج ( الطفرة ) هو ما قد يشعرنا بأن البرمجة ليست للجميع كما أظن.
صحيح، الفارق هُنا هو متى نطلق على الشخص مُبرمج، هل عندما يتعلم البرمجة، أم عندما يستطيع أن يصنع برامج بها، أم عندما يستطيع فعل أي برنامج يُطلب منه بطريقة صحيحة واﻷخير يكون نابغة في هذا المجال.
رأيت عدد من اﻷشخاص من يتعلمون البرمجة ويعملون كمبرمجين سنوات عدة ويقرأون عدد من الكُتب، لكن بعد هذا كله لم ينبغوا في البرمجة والبرامج التي يقومون بتطويرها مازالت ضعيفة. اعتقد أنهم سوف ينهزمون في النهاية ويختارون وظيفة اخرى، مثلاً وظيفة إدارية في نفس مجات تقنية المعلومات. اعتقد أن الشخص يستطيع تمييز نفسه باكرا هل البرمجة تُناسبه أم لا.
اذا كنت تجد الخيال والابتكار أمر صعبا فاختر مجالا اخر
اذا كنت لاتحمل الفضول لـ (كيف تعمل الاشياء ) فاختر مجالا اخر
اذا كنت لا تعترف بأن احتبارات الأداء أفضل من سؤال (ما أفضل و ما أسرع) فاختر مجالا اخر
اذا كنت مقتنع بأن البرمجة نسخ ولصق فاختر مجالا اخر
اذا كنت مقتنعا بأن اصلاح برنامج لا يعمل يعتمد على محاولات بتغييرات عشوائية فاختر مجالا اخر
اذا كنت مقتنعا بأن البرمجة أمر ممتع فأكمل ما تستمع به
كيف اعرف ان البرمجة تناسبني وانا لم ادخل اي نوع من المدارس في حياتي وكل ما اعربفه تعلمته بمفردي
تعليم المرء شيئًا ليس بالضرورة جعله محترفًا فيها. على سبيل المثال "الرياضة للجميع"، يستطيع أي واحد هنا ممن لا تمنعه إعاقة ما من ممارسة الرياضات المختلفة، لكن هل سنكون محترفون كما هم أصحابها الحقيقيون؟ بالتأكيد لا، لكن هذا لا يمنع أن نلعب بما نستطيع ونمرح.
تعليم البرمجة للأطفال ليس المغزى منه إنشاء جيل يعرف البرمجة كليًا، ولكن يفهم ماهية البرمجة، وأملا في أن يخرج منهم ثلة مبدعون. نقول الرياضيات للجميع، والطلاب كلهم يدرسونها، ولكن هل كلهم يعرفونها حقًا؟ وهل مستواها كما هي تدرس نفس مستوى الرياضيات التي تدرس وتطبق في مختلف المجالات؟ أبدًا!
البرمجة مستويات وأنواع وسنختلف حول ما يعتبر برمجة أم لا، لذلك أرى أن تحدد أي نوع من البرمجة تعني، لأنني مثلاً أرى أن إنشاء قاعدة بيانات في آكسس مثلاً هو نوع من البرمجة لكنك لا تقصد ذلك كما أتوقع.
بشكل عام أوافقك، البرمجة ليست للجميع تماماً كالطب وعلوم الفضاء.
( البرمجة للجميع ) اظن انها لا تعني التخصص، فقط مجرد الالمام بالاساسيات ، ومع تطور التقني السريع اعتقد انه لابد على الشخص ان يفهم بعض اساسيات البرمجة حتى لا يكون مستهلك جاهل و يحسن استغلال التقنية بالشكل الامثل.
ما يميز البرمجة حقيقة هو أسلوب التفكير المميز فيها فهي تتطلب منا أن نفكر على مستويين :
الأعلى : هو التفكير على مستوى منطق العمل أي ما هي الوظائف التي يجب على البرنامج القيام بها
الأدنى : هو التفكير على مستوى التعليمات البرمجية نفسها أي ما هي التعليمات المطلوبة لإنجاز الوظائف المحددة في المستوى السابق و لما كان هذا المستوى يتطلب دقة في تحديد التعليمات و ترتيبها و معرفة أثر ذلك على حالة البيانات و لذلك من الصعب جدا أن تصبح مهارة البرمجة للجميع لكن هذه الفكرة أصبحت راسخة في أذهان الكثيرين ربما لكثرة توافر الأدوات التي تسهل عمل برامج بسيطة لغير المختصين - أذكر أنني عندما كنت في السنة الأولى في الجامعة جادلني أحدهم بأن لغات البرمجة كلها غير مفيدة مقارنة بالفلاش!!!!-
لكن ذلك لا يمنع وجود محاولات واعدة في تسهيل البرمجة لعموم الناس فلقد جربت سابقا App Inventor لعمل تطبيق أندرويد و رغم أنه لا يشكل بديلا حقيقيا لأدوات البرمجة الحالية إلا أنني أظن أنها قد تتطور أكثر على المستوى البعيد
اختلف معك تماما اخ "ثمود" البرمجة هى مثل اى عمل قد يقول البعض ان البرمجة تختلف كثيرا عن اى عمل اخر نعم هى تختلف عن اى عمل لكن عندما يشارك الجميع فى العمل على بناء التطبيقات ومواقع فهذا يساعد الجميع على خلق ابتكارات جديدة الامر هنا ليس احتكارا على فئة معينة يدخلون على الانترنت واخذ دورات تدريبية فى البرمجة وكما سمع الجميع كلمة اوباما حث فية الشعب الامريكى للاتنقال من مرحلة الاستهلاك الى مرحلة الانتاج كما يدعو ايضا الشعب الأمريكي لتعلم لغات البرمجة حتى يزيدوا من تطور دولتهم ولقد شاهدت فى التلفاز شخص فى فرنسا قام بعمل تطبيق للاغاثة البرمجة ليست مقتصرة على فئة معينة وانما هى للجميع وشكرا.
رغم ان البرمجة بشكل خاص و العلوم الاخرى بشكل عام متاحة للجميع، انا لا اتفق و الاسباب كالآتي:
يجب ان نتفق ما هو المستوى المطلوب من تعلم البرمجة، هل معرفة كيفية كتابة تطبيق بسيط ام كتابة تطبيق معقد؟ للهواية ام للوظيفة و كسب الرزق؟!
لكي تتعلم البرمجة بشكل محترف يحب معرفة هيكلة و طريقة عمل الحاسب، الذاكرة، القرص الصلب و المعالج الرئيسي (ليس بالضرورة لمن يريد ان يكتب تطبيقات بسيطة و صفحات انترنت بسيطة)
هنالك اساسيات للبرمجة بجيب معرفتها، المتغيرات و خوارزميات البحث و غير ذلك
من مستلزمات البرمج المعرفة و الموهبة بالرياضيات
اذن الطب للجميع، الكيمياء للجميع، كل شيء للجميع ... البرمجة تخصص و مهنة معقدة
هنالك الكثير من خريجي تخصص البرمجة لا يستطيعون العمل في السوق بسبب قلة المهارة، المعرفة و الموهبة
تخصصات البرمجة لا تعد ولا تحصى
صدقوني يوجد مبرمجين بالشركات بخبرة لا تقل عن اربع و خمس سنوات ولا يعرفون البرمجة على اصولها
البرمجه انواع يا اخي.
هناك برمجه من باب العلم. مثلا اثبات نظريه معينه.
هناك برمجه من باب الخدمه. مثلا برمجة انظمة التشغيل و البرامج المهمه مثل اوفيس.
هناك برمجه من باب الهوايه. مثلا شخص يريد فقط صنع برامج بسيطه جدا.
وتوجد انواع اخرى كثيره من البرمجه.
انا اعتقد ان تعلم البرمجه من باب الهوايه ممكن. اما عدا ذلك فيتطلب اسس يجب ان تتوفر في الشخص فمثلا يجب ان يكون لديه معرفه بافكار البرمجه عموما وهي افكار اقرب للرياضيات مثل discrete math و algorithms and data structures ثم يبدا التعمق في البرمجه الى مستوى الهندسه. software engineering
وفي النهايه يصدق حديث الرسول عليه الصلاة والسلام:
"أَجْمِلُوا في طلب الدنيا فإن كل ميسر لما خلق له"
البرمجة ليس للجميع؟؟ البرمجة متاحة للجميع، و كل شخص و ما يحبه،هناك من يريد تعلمها و هناك من لا يريد هذا، من يريد تعلم البرمجة يجب أن يتحلى بالارادة و العزيمة لتعلمها، و يجب على المرء أن يجرب لكي يعرف إن كانت تناسبه أم لا، فأبسط الأمثلة عن هذا: "توماس اديسون أخبره معلمه بأنه لا يصلح لتعلم أي شئ و اخترع المصباح بعد ألف محاولة فاشلة" ، "سير جايمس دايسون بعد 5126 محاولة فاشلة لصنع مكنسة كهربائية ، نجح جايمس في صنع أكثر المكنسات الكهربائية نجاحا و شهرة " ، و كما يقول بعض المبرمجين "بيل غيتس :زبائنك الغير راضين هم أعظم مصدر لتعلمك " و يضيف"عالم البرمجة ملئ بالمفاجأت ونحن لا ندري من أي جهة ستأتي الفكرة العظيمة المقبلة" "روبرت فويت مؤسس دروب بوكس: البرنامج الأول الذي كتبته كان أسئلة مثل ماهو لونك المفضل ، كم عمرك " "جايب نويل مؤسس فالف: المرة الأولى صنعت شئ يظهر و يقول أهلا ، جعلت الكمبيوتر يفعل ذلك "برونون غريمز technical artist for valve : لا يجب أن تكون عبقريا لتكون مبرمجا"وكما يقول اينشتاين " ليست الفكرة في أني فائق الذكاء، بل كل ما في الأمر أني أقضي وقتاً أطول في حل المشاكل! ” ، "المعرفة ليست المعلومات، فمصدر المعرفة الوحيد هو التجربة والخبرة “،"“عليك أن تتعلم قواعد اللعبة أولاً، ثم عليك أن تتعلم كيف تلعب أفضل من الآخرين”، فإذا كنت تريد تعلم البرمجة فعلى الانسان المحاولة ، كقوله تعالى :" وَاتَّقُواْ اللّهَ وَيُعَلِّمُكُمُ اللّهُ وَاللّهُ بِكُلِّ شَيْءٍ عَلِيمٌ " صدق الله العظيم ، وأقول لكل مؤيد لهذه المقالة أن تساعدوا من يريد تعلم البرمجة ، لا أن تحطوا من عزيمته ، و في الأخير آسف للإطالة عليكم و لست هنا للمشاجرة فأنا أخ و قد أبديت رأيي و انا آسف ان اسألت لأي شخص هنا ، و نتمنى المزيد من الابداعات في الوطن العربي
ليست البرمجة إلا تفكير منطقي مكتوب بأكواد ما. أساسها هو «المنطق» وحده لا أكثر، وهذا على ما أعتقد متوفر للجميع وليس حكرًا لأحد دون آخر.
كلامك صحيح وفي رأي المتعلم نفسه سوف يقف عند حد معين ويقول انا لست من هذا العالم....... رغم صعوبة التعليم الذاتي وقلت المصادر و اعترافي التام بأن التعليم الأكاديمي هو الأفضل لاكن لايزال املي في التعلم موجود و ايماني أنه بالمتابعة يستطيع " المهوس" بعلوم الكمبيوتر أن يصل إلى هدفه رغم طول المدة الزمنية للتعلم
فى الواقع يمكن لأى كان أن يتعلم البرمجة إذا كان لدية الوقت الكافى و الإرادة القوية انا سخصيآ كنت اظن اننى فاشل فى مادة الحاسب الالي و قد اتضح اننى لست فاشلا بل شرح المدرس غير مفهوم بحث عن لغة HTML فى YouTube و لقد تعلمت النماذج و بعدها تعمقت قليلآ فاكتشفت اننى استطيع أن انسق الصفحة بإستخدام CSS فبحثت عن لغة CSS فى YouTube ولقد تعلمت القليل و ليس كلها و لكن أقر اننى تعلمت الاساسيات فى HTML و CSS وبعدها اكتشفت الوسم <script> فى HTML و بالطبع بحثت عن ذلك الوسم فى محرك البحث جوجل فإتصح انه يشغل اكواد ال JavaScript مما أعاد الذكريات اننى قد درست هذة اللغة فى الإعدادية فبحثت عن هذا اللغة و لقد و جدتها معقدة بعض الشئ و لكن تعلمت بضعة أمور لا بأس بها لذا إذا إمتلكت الإصرار الكافى يمكنك فعل أى شئ
نعم هي للجميع وفيه قصص نجاحات كثير لغير مبرمجين نجحوا في البرمجة لانهم احتاجوا ان ان ينشروا بعض خدماتهم على الانترنت
قصص النجاح لا أحد ينكرها وهؤلاء قد يكون تخصصهم بعيد عن البرمجة (في البداية) ولكنهم تعلموا ووجدوا أنهم يحبون البرمجة وأبدعوا فيها ولكن السؤال هو هل بإمكان أي شخص أن يبرمج؟ هل بإمكانك إقناع آخيك بأن يبرمج ويبدأ في تطوير التطبيقات؟ هذا الأمر من وجهة نظري غير ممكن.
كلامك صحيح فيه ناس كثيره لاتريد البرمجه وللاسف هناك حتى خريجين من جامعه الحاسب لايريدون ذالك
تماماً البرمجة هي موهبة أيضاً، يعني يمكنك تعلم آلة موسيقية ولكن بدون موهبة لن تبدع وسوف تتوقف عاجلاً أم آجلاً، والبرمجة نفس الوضع، عدم وجود موهبة وشغف في هذا المجال لن يثمر عنه أي نتاج، ومع أول فشل أو حتى عدم تحقيق الأهداف المرجوّة سوف يتوقف المستخدم ولن يتابع في هذا المجال.
أضيف مثال صغير : أصدقائي في كليّة هندسة المعلوماتية والاتصالات تخصص اتصالات، دائماً مايرسبون في مواد البرمجة على الرغم من أن فرعهم هو متعلق بهذا المجال، وقلّة منهم استطاعو فعلاً النجاح في هذه المواد.
فكرة تم تسويقها بقوة في الغرب و في المنطقة العربية أيضا، كتب إلكترونية، دروس و مواقع كلها تحمل نفس الفكرة بأن البرمجة للجميع.. طبعا لا!
متفق معك تماما أخي ثمـود، فلكل مهنة أهلها !
سأتكلم عن نفسي، بداياتي الأولى كانت مع لغة كويك بيزيك وتعلمت معها المنطق العام للمبرمجة والدوال الشهيرة وبرمجت بعض البرامج الهامة من بينها طبعاً hello world .. بعدها انتقلت إلى فيجوال بيزيك كونها واجهات رسومية ولكني عانيت من بدء صعوبة الأكواد .. عقلي لم يتفق مع الوظائف التي يتطلبها عقل المبرمج .. لم أفكر بطريقة برمجية لحل المشاكل او الوصول إلى هدفي لذا كنت اعتمد أكثر شيء على الأكواد الجاهزة.
في الجامعة كان لدينا مادة برمجية واحدة وتعلمنا فيها لغة سي بلس بلس واستمرت معاناتي من اختلاف نمط تفكيري وعقلي عن المهارات التي يجب ان يتحلى بها فطرياً عقل المبرمج
لذا قررت أن البرمجة لا تناسبني وهذا أمر فطري وطبيعي
- حذف بواسطة المستخدم
طلام منطقي...
احترم رأيك لكن اظن انك مخطى لان البرمجة للجميع
فى الواقع يمكن لأى كان أن يتعلم البرمجة إذا كان لدية الوقت الكافى و الإرادة القوية انا سخصيآ كنت اظن اننى فاشل فى مادة الحاسب الالي و قد اتضح اننى لست فاشلا بل شرح المدرس غير مفهوم بحث عن لغة HTML فى YouTube و لقد تعلمت النماذج و بعدها تعمقت قليلآ فاكتشفت اننى استطيع أن انسق الصفحة بإستخدام CSS فبحثت عن لغة CSS فى YouTube ولقد تعلمت القليل و ليس كلها و لكن أقر اننى تعلمت الاساسيات فى HTML و CSS وبعدها اكتشفت الوسم <script> فى HTML و بالطبع بحثت عن ذلك الوسم فى محرك البحث جوجل فإتصح انه يشغل اكواد ال JavaScript مما أعاد الذكريات اننى قد درست هذة اللغة فى الإعدادية فبحثت عن هذا اللغة و لقد و جدتها معقدة بعض الشئ و لكن تعلمت بضعة أمور لا بأس بها لذا إذا إمتلكت الإصرار الكافى يمكنك فعل أى شئ
مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.