الصفحة الرئيسية > مجلة أبل في العالم العربي > العدد الثالث والثلاثين - حزيران (يونيو) ١٩٩٤ > ريتشي وثومبسون: صانعو آلاف المبرمجين

ريتشي وثومبسون: صانعو آلاف المبرمجين

بقلم جورج قندلفت

عندما أتاح الكمبيوتر الشخصي قوة المعالجة للجميع، حدث إنفجار في المواهب الإبداعية وبدأت برامج تنسيق النصوص والجداول الإلكترونية وغيرها تتدفق على الأسواق. وحتى اليوم، إذا كان لديك فكرة جيدة وموهبة تحققها، لا شيء يمنعك من إنتاج تطبيق قد يغيّر العالم. ويتميز اليوم مبدعو البرمجة بالخيال الواسع واتقان التجارة. غير أن هذا النوع من الإبتكار كان موجوداً أيام الأجهزة الإيوانية والميني كمبيوتر. ففي دهاليز شركة «بل» للإتصالات الضخمة، مُنحت لدينيس ريتشي وكينيث ثومبسون حرية اللعب بالأجهزة الثمينة، فأنتجا نظام «يونيكس» ولغة «سي.» للتسلية وحسب.

تماماً مثل أي فريق ناجح، عُرف عن دينيس ريتشي (Dennis Ritchie) وكينيث ثومبسون (Kenneth Thompson) إختلاف الميزات والطبائع وتكاملها.

فقد درس ريتشي علم الفيزياء ثم انتقل إلى علوم الكمبيوتر من خلال الرياضيات. وعمل على أطروحة دوكتوراه حول الدالات التكرارية، ولكنه ضاق ذرعاً من هذا الموضوع ولم يناقش الأطروحة أبداً.

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

من الصعب القول إن ريشتي كان خبير النظريات وثومسون كان عملياً، لكن قد يكون الفرق بين خلفيتيهما هو الذي جمعهما بدلاً من أن يفرقهما.

وجمعهما القدر لأول مرة سنة ١٩٦٨ في مختبرات شركة «بل» (Bell) المشهورة لكونها مركز الأبحاث حول الترانزيستورات وحول أمور أساسية أخرى في مجال الإلكترونيات. وتم تكليفهما بـ«البحث في مسائل شيّقة في علم الكمبيوتر». فقرر الرجلان تطوير نظام تشغيل، ولكن لسوء حظهما، كانت «بل» قد إكتوت بتجربة نظام «ملتيكس» (Multics) الفاشلة. فكان هذا المشروع، إحدى التجارب التي قام بها تجمع من الشركات لإنتاج نظام يدعم تقاسم الوقت، ولكن حين بلغت كلفة المشروع مبالغ خيالية، قررت «بل» الإنسحاب منه. ولم يختر بالتالي ريتشي وثومبسون الوقت المناسب لاقتراح مشروع تطوير نظام تشغيل آخر.

دينيس ريتشي وكينيث ثومبسون: حددا أسلوب تطوير البرامج وأسلوب مطوري البرامج.

وعثر ثومبسون على جهاز ميني كمبيوتر من نوع «بي.دي.بي. ٧» (PDP 7) قديم (حتى في تلك الأيام، كان التطور سريعاً لدرجة أن الأجهزة لم تستخدم طويلاً قبل أن تصبح من طرازات قديمة). فأضاف إليه جهازاً طرفياً تخطيطياً من مخلفات أحد الكمبيوترات الإيوانية، وبدأ الرجلان العمل على نظام التشغيل الذي يحلمان به. ولم تكن المهمة سهلة، فلم يكن جهاز «بي.دي.بي. ٧» متكاملاً مما دفعهما إلى استخدام لغة «أسمبلر» كان ثومبسون قد كتبها لكمبيوتر «جي.إي.» الإيواني. وكان ثومبسون يقوم بمعظم التطوير، غير أن ريتشي ساهم كثيراً في الأفكار النظرية التي أدت إلى إنتاج نظام إدارة الملفات في المشروع.

وبعد سنتين من العمل (ماذا كانا يقولان لشركة «بل» حتى صبرت هذه المدة؟ ألله أعلم!)، تخطى نظام التشغيل الجديد إمكانات جهاز «بي.دي.بي. ٧» وأصبحا يتطلعان إلى جهاز «بي.دي.بي. ١١» الذي اعتبر في ما بعد سلف الكمبيوتر الشخصي، كونه يتمتع بهندسة صغيرة الحجم وأداء يتيح له تشغيل التطبيقات التحاورية. ولكن لم يتمكنا من إقناع «بل» بتقديم هذا الجهاز لأن ذكرى فشل «ملتيكس» كانت لا تزال قوية. فاستخدما أسلوباً ملتوياً وقدما إقتراحاً يقضي بمكننة فرع إدارة البراءات في الشركة. ولا نعرف هل هي سذاجة من «بل» أو بُعد نظر، إلا أنها وافقت على الإقتراح وحصل ريتشي وثومبسون على جهاز «بي.دي.بي. ١١».

وكانت المرحلة الأولى في مشروع مكننة الفرع تثبيت نظام «يونيكس» (Unix) كما سميا نظامهما. ولم يستغرق ذلك وقتاً طويلاً بفضل خبرة ريتشي وثومبسون. فقد توصلا سريعاً إلى نظام يعمل من دون مشاكل، ومجموعة أولى من المستخدمين. وبدأ هذا النظام يلاقي نجاحاً كبيراً داخل شركة «بل». وكان كمبيوتر «بي.دي.بي. ١١» من أهم عوامل هذا النجاح، لأنه كان جهازاً ممتازاً غير أن النظام الذي كان يأتي معه كان عديم الجدوى. وكانت العوامل نفسها أدت، بعد عشر سنوات، إلى نجاح نظام «سي.بي./إم.»، حين ظهرت الكمبيوترات الشخصية. فجاء كل من «يونيكس» و«سي.بي./إم.» لملء فراغ في مجال أنظمة التشغيل.

وعاش يونيكس طويلاً داخل جدران «بل» فلم يعلم به كثيرون خارج الشركة. وكانت أبرز تغطية إعلامية حصل عليها هذا النظام، سنة ١٩٧٣ خلال ندوة نظمتها «آي.بي.إم.» حول أنظمة التشغيل. ولا شك أن عدم إنتشار الأخبار حول نظام يونيكس ساعد في تطويره بشكل هادئ وفعّال لا سيما بفضل تحرّره من هموم تحقيق الأرباح السريعة.

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

فتتم عادة كتابة أنظمة التشغيل بلغة «أسمبلي» (أي لغة الكمبيوتر) لأنها تحتاج إلى سرعة الأداء التي تميز هذه اللغة. فلا يكفي تطوير نظام تشغيل، اللجوء إلى لغة «أسمبلي»، بل يجب على المطور أن يغوص في مكونات الجهاز وكيفية عملها، مما يعني أن نظام التشغيل مرتبط عضوياً بالجهاز الذي يديره وبالتالي، فمن الصعب العثور على برنامج أقل قابلية للإنتقال من نظام التشغيل.

وقرر الرجلان حل المسألة على مرحلتين. فعمدا أولاً إلى تطوير لغة برمجة عالية المستوى (أي مبتعدة عن لغة الكمبيوتر) ولكنها قريبة من هندسة الجهاز لزيادة فعاليتها.

ثانياً، قاما بإعادة كتابة نظام يونيكس بهذه اللغة التي تجمع بين قربها من هندسة الجهاز وسرعة أدائها.

وبدأ ريتشي بالعمل على لغة البرمجة، معتمداً في تصميمه على لغة أخرى إسمها «بي.سي.بي.إل.» (BCPL)، وهي لغة تطوير أنظمة تم اختراعها في بريطانيا سنة ١٩٦٧. وكان ثومبسون قد صمم نموذج لغة يعتمد على «بي.سي.بي.إل.» لنظام جهاز «بي.دي.بي. ٧» الداعم ليونيكس في إصداره الأول سنة ١٩٧٠. وكان إسم هذا النموذج «بي.» ويمكن وصفه بأنه نسخة مختصرة من «بي.سي.بي.إل.».

ودفع الإنتقال إلى جهاز «بي.دي.بي. ١١» والحاجة إلى لغة تطوير للإصدار التالي من يونيكس بريتشي للعمل على تعديل لغة «بي.» وتوسيعها. ومن أهم التحسينات التي أدخلها، إضافة وظائف إدخال البيانات لتتناسب مع وحدات التخزين والوظائف المختلفة المتاحة في جهاز «بي.دي.بي. ١١». ولكن التحسينات كانت عديدة لدرجة أن اللغة الجديدة ابتعدت كثيراً عن لغة «بي.» وبالتالي ظهرت ضرورة إعطائها إسم جديد. فكانت لغة «سي.»!

وإنتقلت «سي.» من لغة تعمل تحت نظام يونيكس إلى لغة تمت كتابة يونيكس بها. غير أنه تم تجميع أجزاء النظام المتعلقة بهندسة الجهاز إضافة إلى بعض الأجزاء المهمة الأخرى مع بعضها وكتابتها بلغة «أسمبلر»، وعُرفت بنواة النظام. أما باقي النظام (أي ما يعادل ٩٠ ٪ منه)، فتمت كتابته بلغة «سي.». ونتج عن ذلك أول إصدار منقول من يونيكس (أي يمكن تركيبه على أجهزة لها هندسات مختلفة) وبداية إنتشاره.

بعض أجهزة خدمة ملفات تعمل بنظام يونيكس.

فإذا أردت تشغيل يونيكس على جهاز كمبيوتر غير مألوف، ما عليك إلا كتابة مصنّف لغة «سي.» (C compiler) لتركيب النظام وتحويل نواته إلى لغة «أسمبلي» الخاصة بالجهاز. وقد تعتقد أن كتابة مصنّف جديد للغة «سي.» يشكل مهمة صعبة، ولكن يونيكس شمل كل الأدوات اللازمة لتسهيل هذه المهمة. ويمكنك كذلك إذا توفرت لديك نسخة من نظام يونيكس أن تكتب مصنّف «سي.» ونواة جديدة لجهاز آخر بوقت معقول.

وانتشر يونيكس بين أجهزة مختلفة بسرعة غير إعتيادية لنظام تشغيل. ولم تكن ميزة الإنتقال التي يتمتع بها العامل الوحيد لانتشاره. فبما أن شركة «بل» لم تر في هذا النظام أية إمكانات تسويق، كان يتم تبادل يونيكس بما يشبه المجان. واعتمدته المؤسسات التربوية على أنه نظام تشغيل زهيد السعر ومرتفع الأداء مما يجعل منه أداة تعليم مميزة إضافة إلى قدرته على تنفيذ مهمات حقيقية وليس فقط أكاديمية. وبعد عشر سنوات من طرحه، أصبح من الصعب العثور على جامعة لا تملكه. وبرزت أجيال عديدة من الطلاب الذين تعمقوا في هذا النظام في الشكل والمضمون وأصبحوا على دراية بكل مكوناته. وكان يونيكس جزءاً من منهاج الدراسة مما أدى إلى ظهور حالتين مهمتين.

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

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

مع ذلك، من المستغرب النظر إلى يونيكس (الذي فاق عمره العشرين سنة)، حتى الآن على أنه نظام تشغيل المستقبل. فمعظم شركات الكمبيوتر الكبيرة طورت نسختها الخاصة من يونيكس ليس أقلها «آي.بي.إم.» (ونظام «إيه.آي.إكس.») و«أپل» (مع نظام «إيه./يو.إكس.») فضلاً عن شركات صناعة محطات العمل وأجهزة خدمة الملفات.

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

وفي سنة ١٩٨٣ نال دينيس ريتشي وكينيث ثومبسون جائزة «تورينغ» من جمعية أجهزة الكمبيوتر (Association of Computing Machinery -ACM) التي نوّهت بنظام يونيكس بقولها: «نتج نجاح يونيكس من مجموعة رفيعة من الأفكار الأساسية وتجميعها الأنيق. فقد دفع نموذج نظام يونيكس جيلاً كاملاً من مطوري البرامج إلى اعتماد طرق جديدة في التفكير. وتكمن عبقرية يونيكس في الإطار الذي يتيحه للمبرمجين ليكونوا على اطلاع دائم على أعمال غيرهم من أجل تحديث أعمالهم».

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

نظام «إيه./يو.إكس.»: نسخة «أپل» من يونيكس.

العمل للتسلية

هناك جانب من حياة كينيث ثومبسون لا له علاقة بيونيكس أو «سي.» أو أي منتج كمبيوتر يعرف الناس أنه عمل عليه علناً.

فعندما كان صغيراً، كان،إضافة إلى تعلقه بالإلكترونيات، مولعاً بالشطرنج. وبما أنه اتقن علوم الكمبيوتر، كان من الطبيعي أن يقوم لاحقاً بتطوير برامج وأجهزة للعب الشطرنج. ففي سنة ١٩٧٢، بدأ ثومبسون العمل على «بيل» (Belle)، وهو برنامج للعب الشطرنج يعتمد على تقنيات بحث تقليدية وقاعدة بيانات تحتوي على مباريات كاملة.

وفي سنة ١٩٧٦، وبالتعاون مع شخص إسمه جو كوندون، قام بتطوير نموذج لجهاز يتكفل بكل نقلات الحجارة التي يشملها برنامج «بيل» (قد يكون أول جهاز في التاريخ متخصصاً في لعبة الشطرنج). وبحلول سنة ١٩٨٠، تطور الجهاز من ٢٠٠ نقلة في الثانية إلى ١٢٠٠٠٠ نقلة في الثانية، واستخدم ١٧٠٠ شريحة ونفذ كل المهمات التي تميز لعبة الشطرنج العالية المستوى للمحترفين.

وكانت الإصدارات الأولى من البرنامج تعمل على جهاز «بي.دي.بي. ١١»، ولكن نسخة ١٩٨٠ من «بيل» كانت تنفذ كل شيء بمفردها، وربحت ثلاث بطولات في ألعاب جمعية أجهزة الكمبيوتر (Association of Computing Machinery) لسنوات ١٩٨٠ و١٩٨١ و١٩٨٢. ودخلت في التاريخ على أنها أول برنامج ينال رتبة «أستاذ» في الولايات المتحدة، ونال مصمموها جائزة ٥٠٠٠ جنيه إسترليني من مؤسسة فريدكين.

وتوصل ثومبسون خلال عمله على «بيل» إلى تغيير قواعد الشطرنج. فتفرض قاعدة الخمسين نقلة أنه بعد خمسين نقلة إذا لم يتحرك فيها أي بيدق ولم يتم القبض على أي حجر، تعتبر اللعبة منتهية. ومن خلال إستخدام قاعدة البيانات الموجودة في «بيل» لتحليل نهايات بسيطة للعبة، أظهر ثومبسون أنه يمكن ربح مباريات من هذا النوع إذا سُمح لها تخطي الخمسـين نقلة. فتم تغيير قاعدة الخمسـين نقلة ولكن تبين لاحقاً أن ذلك مستحيل عملياً فأعيد إدخال القاعـدة.


بطاقة هوية
الإسم:
تاريخ الولادة:
تاريخ الوفاة:
البلد:
الإختصاص:
النظرية:
الشركات:
المنتجات:
دينيس ريتشي
١٩٤١
٢٠١١
الولايات المتحدة
البرمجة
غير موجود
غير موجود
يونيكس، سي وأكثر
كينيث ثومبسون
١٩٤٣
– 
الولايات المتحدة
البرمجة
غير موجود
غير موجود
يونيكس، سي وأكثر

صالة العرض

أي رسالة أو تعليق؟

مراقبة استباقية

هذا المنتدى مراقب استباقياً: لن تظهر مشاركتك إلا بعد التصديق عليها من قبل أحد المدراء او المديرات.

من أنت؟
مشاركتك

لإنشاء فقرات يكفي ترك سطور فارغة.