‏إظهار الرسائل ذات التسميات computer-history. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات computer-history. إظهار كافة الرسائل

الجمعة، 9 نوفمبر 2012

التاريخ والأشياء الصغيرة

أهوى علم لغات البرمجة (علم مختلف عن الـcompilers). وأفكر دائماً في لغة البرمجة "النموذجية" التي يمكن التعبير بها عما تريد بدون فجوة بين الفكرة في دماغك والكود التي تكتبها. يتفرع من هذا فكرة لغة البرمجة التعليمية التي يمكن لأي شخص أن يدخل منها عالم البرمجة، ولغة البرمجة "الديموقراطية" التي تمكّن أي شخص (صحفي، محامي) أن يكتب برنامجاً في مجال تخصصه، وهكذا.

وأقوى سلاح في هذه الرحلة هو التاريخ. وهكذا تجدني أقضي الساعات في القراءة عن لغات البرمجة القديمة منذ الستينات وما بعدها.

Algol - Icon -  CLU - Simula - Self - Forth - Logo - CleanSheet - ObjectVision

..بحثاً عن فكرة عبقرية لكن مفقودة.



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

وفي أيام معركة الجمال في الثورة، ابتكر الثوار - وحدهم - طرقاً حربية مشابهة لما كان يفعله الرومان. حائط بشري يمسك دروع طويلة ويزحف بها... Testudo formation

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

تلك المخطوطات منذ أيام الحضارة الإسلامة فيها أسلوب معين لكتابة الكتب: العنوان الطويل لكل فقرة الذي يصلح ملخصاً للفقرة. هناك كاتب أجنبي استخدم هذا الاسلوب في كتابه للذكاء الاصطناعي (الكاتب Patrick Henry Winston)، واستخدمته أحياناً في مقالات على المدونة. في الواقع الكتب الإسلامية القديمة كان بها ميزة ظريفة جداً هي أن الكاتب كان يصنع الكتاب خليطاً من الكتابة والرسم ينسابان مع بعضهما في حرية. كان الكتاب عملاً فنياً وليس مجرد وسيلة تقديم معلومات، وربما نحتاج أن تكون المزيد من الكتب بهذه الطريقة.

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

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

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

الاثنين، 14 أبريل 2008

هؤلاء العباقرة و حبهم للأجهزة المحمولة

في عام 1968 كان فريق من الباحثين في مركز Xerox PARC يعمل في مشروع كمبيوتر محمول اسمه ال Dynabook. و كان العالِم Alan Kay عضوا اساسيا في ذلك الفريق.
لم يكن ال Dynabook جهازا محمولا عاديا مثل ما نرى الآن و لكن كان أقرب لخليط من ال iPhone و ال Tablet PC و كان من أكثر المشاريع طموحا في عالم الكمبيوتر و البرمجة. و توقف المشروع بعد فترة و لم يحقق نجاحا تجاريا, و لكن أحد منتجاته كان لغة Smalltalk.

بعد هذا طورت ال Smalltalk و استخدمت في مشروع آخر هو ال Xerox Alto.
كان ال Alto من اوائل الأجهزة في العالم التي تعتمد على ال GUI. و كانت ال Smalltalk من اوائل لغات البرمجة ال Object Oriented. لم تكن اول لغة من هذا النوع لكنها طورت هذا العلم و دفعته إلى الإنتشار و ساهمت فيه مساهمات كثيرة ,ليس أقلها أن Alan Kay هو واضع مصطلح Object Oriented Programming!

و في زيارة لمركز PARC وجد Steve Jobs رئيس شركة Apple ما اوحى اليه بتصميم ال Macintosh و من بعده صممت Microsoft ال Windows.

إذن أحد العوامل الرئيسية في استخدامنا للGUI و ال Object Oriented Programming هو حلم Alan Kay في تصميم الحاسوب المحمول المثالي. و هو حلم لم يتحقق بعد.

و في التسعينات كان فريق من الباحثين في شركة Sun يحاول ابتكار لغة جديدة لبرمجة الأجهزة الإلكترونية. و حين جاء وقت تجربة بعض أجزاء اللغة, حاولوا صنع كمبيوتر محمول سُمي Star7. في عام 1994 تم استخدام اللغة في تشغيل البرامج عبر الأنترنت و ظهرت ال Java.

و في 1992 قدمت Apple جهاز Newton. و كان جهازا محمولا سابقا لزمنه عمل فيه بعض انبغ علماء Apple,و فيه على سبيل المثال تكنولوجيا للتعرف على الكتابة بخط اليد و يتم برمجته بلغة مبدعة هي NewtonScript التي بنيت على افكار من لغة Self. و Self هي نفس الغة التي بني عليها الكثير من أسس ال JavaScript.

يا لهؤلاء العباقرة! كل عشر سنوات يأتينا من يحدث قفزة في اساليبنا التي نبرمج بها أو نتعامل بها مع المعلومات. و نراهم مشتركون في الحلم بتصميم الجهاز المحمول المثالي!
حين ترى Steve Jobs يسعى لإنتاج ال iPhone تشعر كأنه هدف شخصي وليس مجرد منتج. ما الذي يدفعه؟
و ما الذي جعل Bill Gates يصر على إنتاج ال Tablet PC برغم عدم انتشاره نسبيا مقارنة بأجهزة ال Laptop العادية؟

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

و السؤال الأخير, بعد ان أوشك ال Dynabook على أن يتحقق و رأينا ال iPhone و Google Android يقتربون من امكانياته, بم سيحلم صانعو التكنولوجيا بعد ذلك؟
هل تعرف أنت؟