انتهى الجزء الأول بأنني قد تعلمت البرمجة. ولكن كيف مارستها وطورت نفسي فيها؟
كان الامر يعتمد على البيئة المحيطة، والبيئة المحيطة كانت جيدة جداً. في البداية كان في مكتبة المدرسة سلسلة كتب من دار النشر الانجليزية Usborne، وهي كتب من تأليف ورسم اشخاص شديدي الموهبة في جميع مجالات العلوم. اتجهت لكتب البرمجة فيها. إن كتب Usborne هي كنوز لم اجد لها بديلاً حتى الآن..كانت مشاريع البرمجة تتضمن العاباً، برامج مفيدة، مؤثرات..
كما كانت الكتب متقدمة تكنولوجياً. هناك كتب تعلمك تركيب sensor ضوءي بالكمبيوتر وصنع برنامج إنذار لو مر شخص او شيء أمام الsensor. هناك كتاب في السلسلة عن البرمجة بالـmachine language...
نعم. لغة الآلة، للاطفال، في الثمانينات. هذا هو الكتاب على موقع امازون إن لم تصدقني، وإن المقابلة رهيبة بين الغلاف الطفولي الملون وبين عنوانه الذي يرتجف له الكثير من طلبة هندسة وحاسبات :]
وهناك من يشك حتى هذه اللحظة في موضوع تعليم الأطفال البرمجة. هأ!
المصدر الآخر كان الكتب التي نشرتها شركة العالمية (المسؤولة عن كمبيوتر صخر)..كنت اخذ امي لمحل الكمبيوتر كل فترة لتشتري لي نسخة. هذه صور الاغلفة من مقال سابق كتبته..
كنت قد قرأت وقتها قصة في مجلة ماجد عن لغات الكمبيوتر (بطولة ذكية الذكية إن أردت أن تسأل) وذكروا اسماء بعض اللغات الشهيرة وقتها مثل Fortran, Cobol وذكرت أيضا لغة لوغو. تقول زكية "وهي عبارة عن سلحفاة صغيرة اوجهها بأوامري".
سلحفاة؟ لغة برمجة؟ ما الأمر؟ كان قد جاء مع كمبيوتر صخر كتالوج بكل البرامج التي صممتها "العالمية" له (وكانت كثيرة) منها صخر لوغو. وكانوا يرسمون في الكتالوج سلحفاة.
ذهبت انا وامي الى محل الكمبيوتر، وبحثت عن اللوغو، وقلت انني أريد أن أشتريه. قال البائع: هذا ليس لعبة أو برنامج تعليمي مثل البرامج السابقة، وهو برنامج صعب ولا يشتريه إلا من سيأخذ فيه دورة تدريبية.
- ولكني أريده!
قالت أمي: هل أنت متأكد أنه سيفيدك؟
- نعم!
وهكذا دفعت امي المائة ريال، وعدت ومعي لغة برمجة جديدة. الحق انني - مثل الكثيرين من جيلي - لا يرى اهله خبراء نموذجيين في التربية ويقول انهم كانوا يفرضون الوصاية...الخ لكنهم والحق يقال لم يحرمونني قط من مصدر للعلم. لقد وثقت امي بكلمتي امام كلمة البائع بلا تردد.
لم يكن برنامجا عادياً، كان دليل الاستخدام كثيفاً وليس بضع صفحات كالبرامج السابقة. وبدأت أقرأ. إن لغة Logo لها قصة فهي صممت اصلا للتعليم ومبنية على مباديء علمية حديثة اسمها constructionist learning وصممها خبير تعليمي اسمه Seymour Papert، وكانت لغة متطورة بها اشياء لم اكن احلم بها في الbasic:
- subroutine calls
- list data structures
- tail-call elimination
- سلحفاة
...ومع ذلك لم احبها كثيراً. إن كتابة كود بلغة بيسك تبدو كبرمجة، بينما لوجو تبدو كرياضيات او شيء..لم احب اللوجو حقا إلا حين احضرت كتاب "تعلم مع صخر لوغو" (وهو ترجمة موفقة لكتاب اجنبي) وحينئذ اكتشفت ان لوجو ليست مصممة كلغة بقدر ما هي وسيلة للتفكير في الهندسة، الرياضيات...الخ بوسيلة برمجية. بداية للتفكير الحوسبي كما يقولون.
وحين صنعت لغة "كلمات" كان تصميمي منذ البداية أن تبدو مثل البيسك وليس اللوجو. أريد لكود كلمات أن تبدو كبرمجة: سطور وراء بعضها كل سطر فيه امر، تحكم في تدفق مسار البرنامج. كلمات هي الوريث الفكري لصخر بيسك، مع تحديث طبعا وقوة اكبر بكثير :)

لكن مازالت "الوراثة" ظاهرة :)
جربت أيضا برمجة بعض الاجهزة الغريبة مثل Casio PB 1000، وهو يعتبر جد، جد، جد الPDAs أو الSmartphones الحديثة. كانت الشاشة اربع سطور..أربعة!! هذه صورته الأنيقة جداً. هلم وشاهدها قبل ان تحذفها الويكيبديا :]
حين عدت إلى مصر كنت قد اعتدت فكرة "البحث عن العلم بنفسي"، واجوب المكتبات في مصر بحثا عن الكتب البرمجية. كانت فترة انتقال بدأ فيها عصر "صخر" وامثاله يتلاشى ويظهر الحاسب الشخصي، ويعلو نجم DOS ومن بعده ويندوز. ورأيت لغات قوية لكنها رديئة الشكل مثل لغة اسمها السي. أول نموذج لكود سي رأيته في حياتي ولم افهمه وقتها كان هذا (لاحظ ان طريقة الكتابة مختلفة قليلا عن السي العصرية):
strlen(s)
char *s;
{
int n=0;
while(*s++) n++;
return n;
}
char *s;
{
int n=0;
while(*s++) n++;
return n;
}
ما هذا؟؟ هل هي رسالة بالشفرة؟ أين هذا من PRINT, FOR, NEXT؟ أين هذا حتى من اوامر صخر لوغو عالية المستوى مثل اقرأ.حرف أو كرر؟ لا تظنني جاهل في السي او غير معترف بأهميتها، لغة كلمات مكتوبة بالسي++، لكن الآن أعتقد أنك قد عرفت لماذا اللغة اسمها 'كلمات' وليس 'رموز'.
مادمت قد قرأت المقال حتى النهاية عزيزي القاريء، سأقدم لك هدية اضافية: برنامج البيسك على صخر الذي نفذت به رسم الدالة في الصورة اعلاه. ارجو ان يعجبك :]

هناك تعليقان (2):
اقل ما يقال عنك انت مدون اكثر من رائع !!!
@معاً لدعم كلمات
أخجلتم تواضعنا :)
إرسال تعليق