برمجة سي/التاريخ

بدأ مجال الحوسبة كما نعرفه اليوم في عام 1947 مع ثلاثة علماء في مختبرات بيل للهاتف - ويليام شوكلي ووالتر براتين وجون باردين - واختراعهم الرائد، الترانزستور وذلك في عام 1956، تم الانتهاء من تطوير أول كمبيوتر يعمل بالترانزستور بالكامل والمُسمي تي اكس-0، في معهد ماساتشوستس للتكنولوجيا. تم إنشاء أول دارة متكاملة في عام 1958 بواسطة جاك كيلبي في شركة تكساس إنسترومنتس، ولكن من ناحية أخرى تواجدت أول لغة برمجة عالية المستوى قبل ذلك.

تم تطوير مشروع فورتران أو "نظام آي بي إم لترجمة الصيغ الرياضية" في عام 1954 بواسطة شركة آي بي إم. ((بالإنجليزية: The IBM Mathematical Formula Translating System) = Fortran)، كان الغرض من المشروع هو إنشاء وتبني تطوير لغة برمجة إجرائية إلزامية مناسبة بشكل خاص للحسابات الرقمية والحوسبة العلمية. كانت فورتران طفرة من حيث الإنتاجية وسهولة البرمجة (مقارنة بلغة المُجمع) والسرعة (كانت برامج فورتران تعمل بسرعة تقارب، وفي بعض الحالات، بنفس سرعة البرامج المكتوبة في لغة المُجمع). علاوة على ذلك، تمت كتابة لغة فورتران بمستوى عالٍ بدرجة كافية (وبالتالي كانت مستقلة عن الآلة بدرجة كافية) لتصبح أول لغة برمجة مُعتمدة على نطاق واسع. تم اشتقاق اللغة الخوارزمية (خوارزم 58) من لغة فورتران في عام 1958 وتطورت إلى خوارزم 60 في عام 1960. ثم تم إنشاء لغة البرمجة المدمجة (سي بي إل) من خوارزم 60 في عام 1963. وفي عام 1967، تطورت إلى لغة البرمجة الأساسية المختلطة (بي سي بي إل) ، والتي كانت الأساس للغة البرمجة بي والذي تم تدشينها في عام 1971، حيث كانت بمثابة الأساس للغة سي.

تم إنشاء اللغة بي بواسطة كين تومسن في مختبرات بيل، وكان الإصدار بي عبارة عن نسخة مُجردة من بي سي بي إل والتي كانت أيضًا لغة مُجمعة (انظر الدليل للغة بي) أستخدمت في الإصدارات الداخلية المبكرة من نظام التشغيل يونكس. كما أشار دينيس ريتشي في تطويره للغة سي:

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

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

بدأ المعهد القومي الأمريكي للمعايير العمل على توحيد معايير اللغة سي في عام 1983، وأكمل عمله في عام 1989. كان المعيار المُسمي "ANSI X3.159-1989 - لغة البرمجة سي" ، بمثابة الأساس لجميع مترجمات اللغة سي. تم تحديث المعايير لاحقًا في عامي 1990 و1999، مما سمح بالميزات التي كانت إما شائعة الاستخدام أو كانت تظهر في اللغة سي++.