فى زمن كان كل ما كمبيوتر جديد بينزل السوق كان بيتعمله لغة برمجة جديدة كان فى اتنين موظفين فى معامل بيل (Bell Labs) اسمهم دينس ريتشي وكين تومسون الشباب دول عملوا نظام تشغيل صغير “بسيط” وسموه UNIX كانوا بيشتغلوا على كمبيوترات اسمها PDP أحجام كبيرة جداً بمواصفات قوية جداً ساعتها ولكنها حاجة تضحك النهاردة لو قلتلك ان العملاق PDP7 كان فيه 9KB memory فأنت غالباً هتقف شوية تستوعب الرقم ده صح ولا غلطة فى الكتابة بس هو صح تسعة كيلو بايت ذاكرة.
فى الوقت ده لغات زي Fortran و CPL و حتى BCPL وغيرهم كانوا موجدين فى الدنيا .. وكين تومسون كان عايز يحط لغة منهم على ال PDP7
لكن ال 9 كيلو بايت بتوع PDP مكنوش كفاية علشان اللغة تشتغل وده لأن متاح ليها نصف مساحة الذاكرة فقط .. والعهدة على كين تومسون فى الكلام ده.
وبدأ يعمل لغة جديدة عبارة عن نسخة مستوحاة من BCPL و Fortran علشان تقدر تشتغل على 4k فقط من الذاكرة .. وسماها B .. وكان ده الهدف من اللغة .. انها تشتغل على 4K فقط من الذاكرة.
جدير بالذكر ان BCPL كانت نسخة مبسطة من CPL .. وب B نسخة مبسطة او معدلة من النسخة المبسطة بتاعة ال CPL .. واللى عايز اقوله ان CPL كانت لغة متكاملة وفيها حاجات كتير من اللى انت تعرفها النهاردة زي ال data types وال call by reference و call by value وحتى ال lambda expressions .. وكان فيها pointers اللى انت بتحبها .. وتخيل كان فيها garbage collector !!
وغيرها من ال features .. بس كانت مشكلتها ان مع كتر ال features دي بقى صعب ان تكتب لها compiler لكل كمبيوتر .. وصاحبها اضطر يشيل منها feature كتير علشان تبقى سهل تنزل على كمبيوترات كتير وسمى النسخة المبسطة منها BCPL.
خدت بالك ان الشباب مشاكلهم مع اللغات مش ان اللغة ضعيفة ولا بعيده عن الهاردوير ولا اى كلام من ده! .. مشكلتهم ان اللغة مش مناسبة للمكنة اللى هيشتغلوا عليها.
المهم بعد كدة بفترة قصيرة الشركة المنتجة لأجهزة PDP نزلت اصدار جديد اسمه PDP11 بمواصفات اعلى .. فبدأ كين وريتشي يفكروا فى استغلال المواصفات الأعلى دي فى انهم يعيدوا كتابة Unix بلغة high level شوية .. لأن Unix الى هذا الوقت كان مكتوب بـ Assembly.
دينس ريتشي هو اللى اخد على عاتقه تحويل لغة B الى لغة جديدة وسماها C علشان يستخدموها فى إعادة كتابة Linux.
= الـ C تبقى high level اازى معلش ؟؟
يا عم ده كلام اللي عملوها .. متتكلمش معايا انا .. روح اتخانق مع كين ودينس.