علم نفسك البرمجة في عشرة أعوام

بيتر نورفيج Peter Norvig


هذه ترجمة لمقال بعنوان “علم نفسك البرمجة في عشرة أعوام” (Teach Yourself Programming in Ten Years) لبيتر نورفيج، منسق البحث العلمي بشركة غوغل. لا تزال هذه الترجمة بحاجة لمزيد من التنقيح، لأية اقتراحات أو ملاحظات أرجو الإتصال بي.
آخر تحديث لهذه الصفحة: 24.2.07


لم الجميع في عجلة من أمرهم؟

فور دخولك إلى أي مكتبة ستجد العديد من الكتب من قبيل “علم نفسك لغة Java سبعة أيام” جنبا إلى جنب مع كتب أخرى تعرض تعليمك Visual Basic و Windows و الإنترنت…خلال بضعة أيام أو ساعات. فقد قمت بإجراء البحث التالي على موقع Amazon.com:

pubdate: after 1992 and title: days and
(title: learn or title: teach yourself)

و حصلت على 248 نتيجة. أول 78 نتيجة كانت كتب حاسوب أما النتيجة رقم 79 فكانت (Learn Bengali in 30 days). عند استبدال كلمة “days/أيام” بكلمة “hours/ساعات” فقد كانت النتيجة قريبة بشكل مذهل، فقد أرجع هذا البحث 253 كتابا. أول 77 منها كانت كتب حاسوب أما الكتاب الذي يليها فكان (Teach Yourself Grammar and Style in 24 Hours) في المنزلة رقم 78. 96% من أول 200 كتاب أرجعها البحث كانت كتب حاسوب.

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

لنحلل ما يمكن أن يعنيه عنوان من قبيل “تعلم لغة Pascal في سبعة أيام“:

تعلم البرمجة في عشرة أعوام

أثبت الباحثون (Hayes, Bloom) أنه يلزم عشرة أعوام تقريبا لتطوير الخبرة في أي من المجالات كلعب الشطرنج أو التأليف الموسيقي أو الرسم أو العزف على البيانو أو السباحة أو التنيس أو علم الأعصاب أو علم طبقات الأرض. لا يبدو أن هنالك أية طرق مختصرة، فحتى موتزارت، الذي كان أعجوبة موسيقية في سن الرابعة، استغرقه الأمر 13 سنة أخرى ليبدأ بإنتاج موسيقى عالمية رفيعة المستوى. أما في لون آخر من الموسيقى، فقد بدا أن فرقة البيتلز بدأت مسيرتها بسلسلة من الأغاني التي حققت المرتبة الأولى و ظهور على برنامج إد سوليفان (Ed Sullivan show) عام 1964. إلا أنهم كانوا يغنون في نواد صغيرة بمدينتي ليفربول و هامبورج منذ عام 1957. و بالرغم من جاذبيتهم الكبيرة منذ البداية، إلا أن أول أغنية حققت لهم نجاحا باهرا (Sgt. Peppers) صدرت عام 1967. سامويل جونسون (Samuel Johnson) يعتقد أن الأمر يستغرق أكثر من عشر سنوات، فهو يقول: “التميز في أي مجال لا يمكن إدراكه إلا من خلال العمل الذي يتطلب عمر الإنسان كله، و لا يمكن إدراكه بأي ثمن أقل من ذلك”. أما تشاوسر (Chaucer) فيشكو من أن: “الحياة قصيرة و تعلم المهنة يتطلب وقتا كثيرا”.

أما وصفتي للنجاح فهي كما يلي:

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

فريد بروكس (Fred Brooks) يصف في مقاله (No Silver Bullets) خطة من ثلاثة أقسام لإيجاد مصممي برامج ممتازين:

  1. قم بتحديد أحسن مصمي برامج بشكل منهجي في أبكر وقت ممكن.

  2. عين معلما يكون مسؤولا عن تطوير ذوي الإمكانات و اتفظ بملفهم الوظيفي.
  3. وفر فرصا للمصممين الذين يتحسنون للتفاعل و تحفيز بعضهم البعض.

هذا كله يفترض أن هنالك أشخاصا يمتلكون مزايا تجعلهم مصممي برامج ممتازين و هنا تصبح مهمتك أن تهتم بهم. ألان بيرليس (Alan Perlis) وضعها بشكل أكثر إيجازا، فهو يقول: “من الممكن تعليم أي إنسان كيف ينحت. أما مايكل أنجلو فكان يجب تعليمه كيف يجب أن لا ينحت. و الأمر ذاته ينطبق على المبرمجين الممتازين”.

بإمكانك الآن شراء كتاب لتعلم لغة Java فقد تحصل منه على بعض الفائدة. إلا أنك لن تغير حياتك أو خبرتك الفعلية كمبرمج في 24 ساعة أو يوم أو حتى شهر.


المراجع

Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.
Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.
Hayes, John R., Complete Problem Solver Lawrence Erlbaum, 1989.
Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday
Life
, Cambridge University Press, 1988.