الصفحة الرئيسية > مجلة أبل في العالم العربي > المجلد الثالث - العدد الثامن والعشرين - كانون الثاني (يناير) ١٩٩٤ > جون كيميني وتوم كيرتز: المخترعان الحقيقيان للغة باسيك الحقيقية
جون كيميني وتوم كيرتز: المخترعان الحقيقيان للغة باسيك الحقيقية
بقلم
من اخترع لغة باسيك؟ بيل غيتس؟ قطعاً لا. وهناك من يقول أنه أتلف هذه اللغة. لقد تم اختراع لغة باسيك لهدف واحد هو جعل البرمجة سهلة قدر المستطاع. وحجة المنتقدين هي أن لغات باسيك التي عرفناها ابتعدت عن هدفها لمحاولة الاقتراب من اللغات الأخرى. ومن أجل فهم هذه الحجة يجب التعمق في أعمال كيميني وكيرتز مخترعا باسيك الحقيقي.
ولد جون كيميني (John Kemeny) في المجر، ولكنه هاجر مع والديه إلى الولايات المتحدة سنة ١٩٤٠ حين كان في الرابعة عشرة من عمره. ويبدو أن تعلمه للغة الإنجليزية لم يؤثر على دراساته الأخرى ولكنه لم يغير لكنته الأوروبية الشرقية التي رافقته طوال حياته. ودرس كيميني الرياضيات في جامعة برنستون، وبعد تخرجه بسنة واحدة تم اختياره للعمل في مشروع لوس ألاموس لبناء القنبلة الذرية حيث أصبح أصغر مساعد لألبرت آينشتاين. وفي لوس ألاموس، كانت المرة الأولى التي يلتقي فيها كيميني بالكمبيوتر على شكل غرفة مليئة بحاسبات «آي.بي.إم.» التي كانت تمضي أسابيع لحل مسألة حسابية بسيطة.
وكانت مهمة كيميني تمضية الساعات الطوال في تدقيق حسابات آينشتاين، واعتاد القول أنه إذا وصل الإثنين إلى النتيجة نفسها، فهناك احتمال كبير أن هذه النتيجة صحيحة. ولم تكن الحاسبات الكبيرة ذات فائدة كبيرة، فقد كان آينشتاين يقول لكيميني أنه يحتاج إلى نوع آخر من الأجهزة، نوع يمكنه التعامل مع الرموز. ولم يدرك كيميني حينها أن مستقبله سيكون في هذا النوع من الأجهزة.
كان مجرى حياة كيميني يتدفق بسرعة. ففي سن الثالثة والعشرين حاز على شهادة الدكتوراه في الرياضيات وفي السابعة والعشرين أصبح أستاذاً محاضراً في الرياضيات بصفة كاملة في كلية دارتموث. وقد اكتشف هكذا موهبته، فبدلاً من الأبحاث النظرية اختار كيميني التعليم وتعليم الكمبيوتر بشكل خاص.
ولم تكن كلية دارتموث الصغيرة التي تم تأسيسها سنة ١٧٦٩ والمتخصصة في العلوم الإنسانية المكان المتوقع لبروز إختراعات مهمة في حقل الكمبيوتر. ولكن غلب على إدارتها الطابع التكنولوجي مما كان له أكبر تأثير على تطور عمل كيميني وكيرتز. ففي سنة ١٩٤٠ حين كان الكمبيوتر في بداياته المتعثرة، شهدت الكلية محاضرة للدكتور ستبليتز من مختبرات «بل» (Bell) عرض فيها استخدام الكمبيوتر عبر خطوط الهاتف، كما نظم جون ماكارثي، أحد أعضاء هيئة التدريس في الكلية ومخترع لغة «ليسب» البرمجية (Lisp)، أول مدرسة صيفية سنة ١٩٥٦ حول الذكاء الصناعي.
كانت بداية دارتموث في مجال الكمبيوتر من خلال جهاز «آي.بي.إم. ٧٠٤» موجود في معهد ماساشوستس للتكنولوجيا (MIT). وكان توم كيرتز (Tom Kurtz) قد نال شهادة الدكتوراه من جامعة برنستون سنة ١٩٥٦ والتحق بقسم الرياضيات في كلية دارتموث، وكان من المحتم أن يلتقي بجون كيميني. وكان عمل كيرتز في دارتموث قد تسبب في انخفاض مهم في راتبه، فسأل كيميني عن وسيلة يمكنه فيها زيادة مدخوله. وكان الاقتراح الأفضل الحصول على زمالة أبحاث «آي.بي.إم.» في قسم الكمبيوتر التابع لمعهد ماساشوستس للتكنولوجيا. وانتهى الأمر بكيميني وكيرتز وماكارثي كعاملين على أكثر الكمبيوترات بدائية.
وفي هذا المركز، اتقن كيميني وكيرتز البرمجة بلغة الكمبيوتر الأساسية «أسمبلي»، وأيقنا سريعاً أن هذه اللغة لا تنفع لتدريس علوم الكمبيوتر. وبرزت جلياً الحاجة إلى لغة برمجة جديدة، ولكنهما لم يضيعا الوقت في اختراع واحدة لأن المواد الخام كانت موجودة في دارتموث على شكل مجموعة من الرموز البرمجية، تم وضعها سنة ١٩٥٦ وعرفت بإسم «دارسيمكو» وهي لفظة مختصرة من (Dartmouth simplified code)، وكانت عبارة عن نظام من النماذج (templates) يحتوي كل منها على عدد قليل من أوامر «أسمبلي».
ولحسن الحظ، بدأت في ذلك الوقت لغة فورتران بالانتشار وأعطت فكرة واضحة عما يجب أن تكونه لغة برمجة من المستوى العالي (أي المبتعد عن لغة الكمبيوتر والمقترب من لغة البشر).

وبدأ الكمبيوتر يأخذ أهمية فعلية في دارتموث عندما تجهزت الكلية بجهاز «إل.جي.بي.-٣٠» (LGP-30) مزود بأسطوانة مغنطيسية توفر ٤ كيلوبايت من كلمات ٣٠ بت ومجموعة من ١٦ أمراً برمجياً. والحال أن هذا الجهاز كان بدائي جداً، ولكن توصل أحد الطلاب إلى تزويده ببروسسور للغات البرمجة عالية المستوى وذلك دون معرفة سابقة بعلم الكمبيوتر. صحيح أن هذا الطالب تفادى صعوبة تصنيف العمليات الحسابية العامة، ولكنه برهن لكيميني وكيرتز أن مهمة وضع لغة برمجة عالية المستوى لم تكن بالصعوبة التي يتصورانها. وكانت هذه الحادثة فريدة من نوعها إذ أنه، حتى في يومنا هذا، تعتبر كتابة أي مصنف للغة برمجة عملية متطورة وصعبة.
وقد نفذ كل من كيميني وكيرتز عدداً من مشاريع تطوير لغات برمجة باشتراك مجموعات من طلاب الكلية. ولكن أي من هذه المشاريع لم يعط حلاً مقنعاً لما كان كيميني وكيرتز يريدان الوصول إليه، غير أنها كانت مفيدة لإغناء تجربتهما. أما المطلوب، فكان لغة برمجة ونظام كمبيوتر يمكن لأي مبتدئ استخدامهما دون المرور بمشاكل وتعقيدات البطاقات المثقوبة وصفوف الانتظار في معالجة التطبيقات.
وبعد زيارة قام بها جون ماكارثي لمعهد ماساشوستس للتكنولوجيا ومشاهدة كمبيوتر «بي.دي.بي. ١» (PDP-1) الذي يتمتع بمقاسمة الوقت (time sharing)، أي يمكن التعامل معه من خلال إدخال الأوامر تباعاً وتنفيذها، إقترح على كيميني وكيرتز أن يحاولا العمل في إتجاه مقاسمة الوقت، فوافق كيميني. ومع تطوير نظام مقاسمة الوقت، قام الباحثان بتطوير لغة برمجة جديدة أطلقا عليها إسم باسيك. وفي البداية، كان مقرراً لهذه اللغة أن تكون فرعاً من فروع فورتران، ولكنهما اقتنعا في ما بعد، أنه من غير الممكن لفرع من لغة موجودة أن يكون لغة متكاملة تلبي كل الحاجات.
في سنة ١٩٦٤، حصلت كلية دارتموث على كمبيوتر «جي.إي. ٢٥٥» (GE255) بفضل بعض المساعدات وحسم على سعر الجهاز، مما سمح لكيميني ومجموعة من الطلاب بالعمل خلال الصيف على تطوير مصنف لنسخة مسودة من لغة باسيك. وتم العمل بسرعة مدهشة لدرجة أنه تم تشغيل اللغة على الكمبيوتر بعد أشهر معدودة من الحصول عليه، وكان ذلك في الرابعة من صباح يوم الأول من أيار (مايو) سنة ١٩٦٤.
وكان الطلاب المبرمجين ينقحون نظام التشغيل الذي يتمتع بمقاسمة الوقت، ويحاولون تشغيله وقتاً كافياً ليتمكن من إطلاق تطبيق أو إثنين. ولم يكن كيميني وكيرتز موجودين في تلك الليلة، ويبدو أن الطلاب اتصلوا بكيميني الذي اتصل بدوره بكيرتز ليبلغه أنه تم تشغيل أول برنامج باسيك. وعندما حصل ذلك، لم يلاحظ أحد أن النجاح قد تحقق لدرجة أن كيرتز علق على الحادثة بقوله: لقد تحدثنا مؤخراً إلى الطلاب الذين عملوا على البرنامج تلك الليلة، ولم يتذكروا أبداً أول برنامج باسيك. ولسوء الحظ لم يكن هناك أي مصور أو أي شيء يخلد الذكرى.
وكانت أول نسخة من باسيك بسيطة جداً وتشبه كثيراً اللغة المخصصة للكمبيوتر الشخصي التي نشرها في ما بعد بيل غيتس. ولكن نجاحها كان كبيراً. فقد ازداد عدد طرفيات الإدخال في الكلية من ثلاث في أيار (مايو) إلى ١١ في حزيران (يونيو) إلى ٢٠ في بداية الخريف. وتميز مصنف اللغة بالبساطة والسرعة، وكان يحتوي على محرر نصوص مدمج ويتصرف كأنه مترجم مباشر لأوامر اللغة. أما نظام التشغيل فكان جزءاً مدمجاً من الكل وكان اسخدامه بسهولة استخدام اللغة نفسها. فكان يحتوي على أوامر مثل مرحباً وجديد وقديم وحفظ وعرض وتشغيل مما زاد في سهولته. أما أوامر باسيك، فكان يتم إدخالها مترافقة بأرقام أسطر تستخدم لتحديد مجرى التنفيذ كما كانت عناوين لأوامر الانتقال داخل التطبيق. ومن جهتها، فكانت أوامر نظام التشغيل تدخل دون أرقام مما كان يشكل الفرق الوحيد الذي يلاحظه المستخدم بين النظام واللغة.
ومن الصعب الآن معرفة كيفية انتشار لغة باسيك خارج حرم الكلية. فكان من الطبيعي أن تكون إحدى لغات البرمجة الصغيرة التي كان يتم تطويرها في الجامعات ثم نسيانها.
ويمكن الجدل طويلاً حول الأسباب التي جعلت من باسيك لغة مختلفة عن اللغات الأخرى، ولكن من الأكيد أن توفير نظام تطوير تطبيقات يتمتع بالسهولة ومقاسمة الوقت كان عنصراً حاسماً في نجاحه. فمن السهل تصور طلاب الجامعات الأخرى، بعد عشر سنوات من تطوير باسيك، يمضون وقتهم في تثقيب البطاقات والانتظار بين أربع وثماني ساعات لكي يحصلوا على نتائج تطبيقاتهم، بينما يجلس طلاب دارتموث أمام طرفياتهم يدخلون الأوامر ويشاهدون أخطاءهم مباشرة لتصحيحها. وعشت شخصياً التجربة نفسها. فبينما كنت، سنة ١٩٨١ في إحدى الجامعات الفرنسية، أمضي الساعات الطوال في تثقيب البطاقات وانتظار دوري لإدخالها وانتظار دوري أيضاً للحصول على النتيجة، كان هناك طلاب في جامعات أخرى يدخلون أوامر باسيك على الشاشة ويحصلون على النتيجة فوراً.
وكانت سهولة استخدام باسيك الهدف الأول من تطويرها. وكانت المعيار الأول لعمل كيميني وكيرتز. ويمكن مقارنة باسيك بلغة ثانية تم تطويرها لأهداف تربوية هي باسكال، وملاحظة نجاح باسيك في عالم الطلاب لأنه تميز أساساً بسهولة مصنفه وفعاليته.
وأصبح باسيك سريعاً، لغة البرمجة المستخدمة في أنظمة الميني كمبيوتر في كل أنحاء العالم، بينما بقيت الكمبيوترات الإيوانية الكبيرة تستخدم لغة فورتران. وكثيراً ما كان ينظر إلى باسيك على أنه لغة مخصصة للأجهزة الصغيرة التي لا يمكنها التعامل مع لغة حقيقية مثل فورتران. لذلك كان من الطبيعي لدى ظهور الكمبيوتر الشخصي أن يبدو باسيك اللغة المناسبة له.
وكان بيل غيتس قد برمج بلغة باسيك أيام المدرسة وطور بمشاركة بول ألن نسخة منها لأجهزة «ألتير ٨٠٨٠» سنة ١٩٧٧. ولم يكونا الشخصين الوحيدين اللذين اعترفا بميزات باسيك التي تشكل حلولاً مناسبة للكمبيوتر الشخصي، ولكنهما كانا من أول من عرف أهمية اللغة وبدأ يطور نخسته الخاصة منها.
وكانت بداية «لغات الشارع» كما كان كيميني وكيرتز يسمون لغات باسيك التي بدأ يطورها الآخرون، هي نفسها بداية إحساسهما بالقلق من جراء التحولات التي كانت تدخل على اللغة.
ففي دارتموث، قاما بتطوير اللغة لتصبح لغة حديثة ومتكاملة، ودخل عليها التنظيم الذي كان يميز اللغات الأخرى والذي مكنها من التعامل مع الروتينات الثانوية (subroutines) والمعطيات. وفي سنة ١٩٧٧، قام ستيفن غارلاند بتطوير نسخة مبنية (structured) كاملة أطلق عليها إسم «إس. باسيك»، وذلك قبل سنة من انتشار نسخة غيتس وألن. وكان من الواضح أن الأمور ليست على ما يرام للغة، بعدما اتضح أن النسخات المتنافسة بدأت تختلف عن بعضها بشكل كبير، كما بدء منتقدو باسيك بالهجوم الشرس على هذه اللغة.
وأتت الضربة الأولى من خلال مقال ظهر في مجلة أكاديمية قال فيه إدغر ديجكسترا، أحد رواد اللغات المبنية، أن الطلاب الذين يتعلمون البرمجة بلغة باسيك ، سيصابون بعاهة عقلية دائمة ولن يتمكنوا من تصحيح طرق تفكيرهم وتعلم لغة مبنية حقيقية. وكثيرون في ذلك الوقت حملوا هذا التهديد على محمل الجد، وتجرأ قليل من الناس على الإشارة إلى تعصب ديجكسترا وضيق أفق تفكيره.

ورد توم كيرتز على ذلك بقوله أنه في الحقيقة، إذا تعلم الطلاب لغة باسيك، لا يعودون بحاجة إلى تعلم لغة مبنية أخرى.
فيجب اليوم، كما كان يجب بالأمس، على المبرمج نفسه أن يتمتع بأسلوب مبني لا اللغة التي يعمل بها. وهناك براهين عديدة على أن باسيك لغة ممتازة إذا تم تعليمها بشكل سليم. وعودة إلى كيرتز الذي قال أنه من الممكن كتابة أشياء غير مفهومة بواسطة باسيك، لكن ذلك ممكن أيضاً بأية لغة أخرى مثل «باسكال» الذي يعتبر مثال اللغات المبنية.
ومن الواضح أن كيميني وكيرتز تأثراً من الانتقادات خاصة أنهما كانا يدركان أن باسيك كان الأفضل لتعليم غير الأخصائيين البرمجة. وكان يتحتم عليهما القيام بأي شيء للدفاع عن لغتهم وحمايتها من المنتقدين ومن لغات الشوراع على السواء خاصة وأن هذه الأخيرة بدأت تبتعد عن المبدأ الأول وهو سهولة الاستخدام. وجاء ردهما على شكل نسخة من باسيك أطلقا عليها إسم «باسيك الحقيقي» (True Basic) وتتميز بكونها مبنية كلياً ومصنفة (compiled). وأتت هذه اللغة بكثير من الأوامر البرمجية التي تبدو طبيعية اليوم مثل أوامر (if, then, else, do, loop). ولا شك أن باسيك الحقيقي قدم معياراً عملانياً أكيداً لمايكروسوفت والمطورون الآخرون بقدر ما قدمت النسخة الأصلية من اللغة.
ولم يتمكن باسيك الحقيقي من الانتشار كما انتشرت نسخات مثل «جي.دبليو. باسيك» و«كيو. باسيك» و«توربو باسيك» وأخيراً «فيجوال باسيك»، ولكنه سجل نجاحاً أكيداً، خاصة أنه يبقى اللغة الأنسب للأهداف التعليمية ولبعض التطبيقات العلمية والحسابية. وتابع كيميني وكيرتز الدفاع عن لغتهما، ونشرا في هذا الصدد كتاباً إسمه «العودة إلى باسيك، تاريخ وانحراف ومستقبل اللغة» [*] يدافعون فيه عن لغتهم ويبينون عيوب لغات الشوارع.
وفضلاً عن مساهمته في إختراع باسيك، عين كيميني رئيساً لكلية دارتموث حين كان في الثالثة والأربعين من عمره، وبقي في هذا المنصب ١١ سنة، حتى ١٩٨١ حين قرر الاستقالة من المنصب إثر ازدياد نفوذ اليمين العنصري المتطرف في الكلية والعودة إلى التدريس. وفي سنة ١٩٧٩ عينه الرئيس كارتر رئيساً للجنة التي بحثت في أسباب حادث «ثري مايلز أيلاند» النووي حيث وجد أن نظام الكمبيوتر المكلف بإدارة المصنع لا يناسب هذا النوع من العمل. وتوفي كيميني في ٢٦ كانون الأول (ديسمبر) ١٩٩٢ في بلدة ليبانون، ولاية نيو همبشير إثر نوبة قلبية.
أما كيرتز، فقد ترك كلية دارتموث مؤخراً ليكرس نشاطه لإدارة شركة «ترو باسيك» التي تنشر اللغة. ويذكر أن الشركة تسوق نسخة من اللغة لأجهزة ماكنتوش تحمل رقم الإصدار ٢٫٥ إلى جانب نسخات للكمبيوتر الشخصي ومحطة عمل «سبارك» وأجهزة «أميجا» ومحطات عمل«سيليكون جرافيكس».
ولم يكتف كيميني وكيرتز بتسويق لغة باسيك الحقيقية، من خلال شركة «ترو باسيك»، بل قاما بتطوير ونشر منتجات أخرى موجهة أساساً للمدارس والجامعات مثل برامج الرياضيات والحساب والإحصاء والجبر.
ومن الواضح أن كيميني وكيرتز لم يعجبهما ما فعله بيل غيتس بلغتهما، ونظرا إليه كأنه دخيل على هذه اللغة لا يهمه منها إلا التسويق والربح. ولكن من الأكيد أنهما يشاركان غيتس النظرة نفسها إلى باسيك على أنه أكثر اللغات مرونة وعملية. فقد قيل عن غيتس أنه أعلن أمام فريق التطوير في مايكروسوفت أنه يستطيع تنفيذ أي عمل ببضع دقائق باستخدام لغة باسيك. ويجب الاعتراف أن الفضل يعود إلى نسخته من باسيك في تعريف المستخدمين إلى هذه اللغة واستخدامها من قبل الملايين. ولكن يبقى انتقاد كيميني وكيرتز للغة «مايكروسوفت» صحيحاً لجهة رغبة الأخيرة جعل باسيك يشبه لغات «باسكال» أو «سي» التي لا تشكل تمهيداً سليماً لعلم الكمبيوتر.
|
| |
|---|---|---|
| الإسم: تاريخ الولادة: تاريخ الوفاة: البلد: الإختصاص: النظرية: المنتجات: الشركات: |
جون كيميني ١٩٢٦ ١٩٩٢ الولايات المتحدة البرمجة والرياضيات غير موجود باسيك وباسيك الحقيقي ترو باسيك |
توماس كيرتز ١٩٢٨ ٢٠٢٤ الولايات المتحدة البرمجة والرياضيات غير موجود باسيك وباسيك الحقيقي ترو باسيك |
[*] “Back to Basic, the History, Corruption and Future of the Language”, John G. Kemeny, Thomas E. Kurtz - Addison Wesley Publishing Company, 1985.


