تاريخ لغات البرمجة
أوَّل لُغات البرمجة

ظهرت الحواسب الكهربائيّة الأولى في العصر الحديث في السنوات 1940 (الأربَعينيَّات). وَإِنَّ محدوديّة السرعة وَقدرة الذاكرة فرضت كتابة برامج تستغرق وقتًا طويلًا بلغة الأسمبلي (لغة التجميع). وقد كانت تتطلّب الكثير من الجهد الفكريّ، وكانت تؤدي لأخطاء عديدة.
صُمِّمَت أوَّل لغات البرمجة لِإيصال التعليمات إلى الحاسِب في الخمسينيَّات 1950. صُمِّمَت أقدم لغة برمجة عالية المُستوى لِلحاسِب بين عامي 1943 وَ 1945، دُعيت بلان كال كيل، طَوَّرها كونراد زوس من أجل زد3. لكنَّها لم تُنَفَّذ حتَّى 1998 وَ 2000.
عُرضت لغة البرمجة رِمازٌ(شِفرةٌ) قصيرٌ  ‏ في عام 1949 من قِبَل جون ماكلي، كانت مِن أوائل مَن اللُّغات عالية المُستوى الَّتي طُوِّرت لِلحاسِب الإلكترونيّ. بعكس لغة الآلة، تُمَثَّل تعابير إفادات statements لغة رِمازٌ قصير الرِّياضيَّاتيَّة بِصيغةٍ مفهومة. لكن، يجب أن يُترجم البرنامج إلى لغة الآلة في كُلِّ مرَّةٍ يُشَغَّل، مِمَّا يجعل العمليَّة أبطأ من تشغيل رِماز(شِفرة) الآلة المكافئة للبرنامج.
طُوِّرَت أوتوكود في جامعة مانشستر في أوائل الخمسينيَّات. هي لغة برمجة تستخدم مُجَمِّعًا لِتحويل اللُّغة آليًّا إلى لغة الآلة. طُوِّرَت أوَّل شِفرة(رِماز) وَمُجَمِّع في 1952 لِحاسوب مارك 1 في جامعة مانشستر وَتُعتَبَر أوَّل لغة برمجة مُجَمَّعَة عالية المُستوى.
طُوِّرَت ثانِ أوتوكود من أجل مارك 1 من قِبَل رالف أنتوني «طوني» بروكر  ‏ في 1954 وَسُمِّيَت «أوتوكود مارك 1»(Mark 1 Autocode). وَأيضًا طَوَّرَ طوني بروكر أوتوكود من أجل فيرَّانتي ميركيوري  ‏ في الخمسينيَّات 1950s بالتعاون مع جامعة مانشستر. ابتُكِرَ إصدارٌ من أجل الحاسِبة الآليَّة الإلكترونيَّة متأخِّرة التخزين  ‏ 2 (EDSAC) من قِبَل دايفيد فيلدينغ هارتلي من مختبر الرِّياضيَّات في جامعة كامبردج  ‏ في 1961. عُرفت بِاسم EDSAC 2 Autocode، كانت تطوُّرًا مُباشرًا من ميركيوري أوتوكود مُهيَّئةً لِظروفٍ خاصَّة، وَلوحظت بسبب تمثيل الشِّفرة الكائنيَّة وَتشخيصات اللُّغة المصدريَّة حيثُ كانت مُتَقَدِّمَة في وقتها. تطويرٌ مُعاصِرٌ موازٍ لكن مُنفصل، كانت أطلس أوتوكود تُطَوَّر من أجل آلة أطلس 1 لِجامعة مانشستر.
عام 1954، اخترع جون باكوس لغة الفورتران في آي بي إم؛ كانت أوَّل لغة عالية المُستوى واسعة الاستخدام تمتلك تنفيذات إجرائيَّة functional implementation، بِعَكسِ التَّصميم الورقيّ. ماتزال لُغَةً شعبيَّة لِلـحوسَبة عالية الأداء  وَتُستَخدم لِلبرامج كمعيار وَترتيب لِـأسرع الحواسيب الفائقة العالميَّة.
لغة برمجة أخرى مبكِّرة ابتُكرت من قِبَل جريس هوبر في الولايات المتحدة، وَدعيت فلو ماتيك  ‏. لقد طُوِّرَت من أجل يونيفاك 1 في ريمنغتون راند  ‏ خلال الفترة بين 1955 وَ 1959. وجدت هوبر أنَّ عُملاء معالجة بيانات العمل لم يكونوا مرتاحين للترقيم الرِّياضيَّاتيّ، وَفي بداية عام 1955 قامت هي وَفريقها بكتابة تخصيصات للغة برمجة إنكليزيَّة وَنفَّذوا نموذجًا بِدئيًّا. أصبح مجمِّع فلو ماتيك مُتاحًا للعامَّة في بداية عام 1958 وَاكتمل في عام 1959. كان لِـفلو ماتيك تأثير كبير على تصميم كوبول، وَقد انحصر استخدامها في ذلك الحين على إدارة معدات وتجهيزات القوات الجوية الأمريكية  ‏.
لغات أخرى ماتزال تستخدم ليومنا هذا مُتضمَّنةً ليسب (1958) الَّتي اخترعت من قِبَل جون مكارثي وَكوبول (1959) الَّتي أنشئت من قِبَل لجنة المجال القصير(Short Range Committee). مَعلَمٌ آخر في آواخر الخمسينيَّات(1950) هو نشر «لغة جديدة للخوارزميَّات» من قِبَل لجنة علماء الحاسوب الأمريكيَّة الأوروبيَّة؛ دعيت ALGOL 60 (أخذ الاسم من ALGOrithmic Language «لغة خوارزميَّاتيَّة»). هذا التَّقرير يُعَزِّز العديد من الأفكار الحائمة في وقتنا هذا وَيُبرِز ثلاثة إبداعات للغة مفتاحيَّة:
بنية طوب مُعَشِّشَة: يمكن لسلاسل الشفرات وَالإعلانات(التصريحات) أن تُجَمَّع ضمن طوب (برمجة)  ‏ دون الحاجة لأن تُحَوَّل إلى إجراءات منفصلة وَمسمَّية بوضوح؛
الحيِّز المُعجميّ: طوب له متغيراته وإجراءاته وَدوالُّه الخاصَّة وَمخفيّ عن الشِّفرات خارجه، وهذا ما يُدعى بإخفاء البيانات.
ابتكار جديد قريب من هذا، كان عن كيفيَّة وصف اللُّغة:
استُخدمت صيغة باكوس نور(ترقيم رياضيَّاتيّ مضبوط) لوصف نحويَّة اللُّغات. وتقريبًا، كل لُغات البرمجة اللّاحقة استَخدَمت العديد من صيغ باكوس نور لوصف قواعد حرية السياق في نحويَّاتِها.
كان للغة ألغول 60 تأثيرًا بائِنًا على تصاميم اللُّغات اللَّاحقة، وقد أصبح لبعضها شعبيَّة واسعة. وقد صُمِّمَ نظام بورّوفز الكبير ليكون امتدادًا فرعيًّا لِألغول.
استمرَّت أفكار ألغول المِفتاحيَّة مُنتجةً ألغول 58:
أصبحت النَّحَويَّة وَالدلالات أكثر توافقيَّة، وَبِروتينٍ مجهولٍ بزغ نظام الكتابة التَعَاْوُدِيَّة recursive بدوالٍّ أعلى تنظيمًا.
لم يُعَرَّف فقط جزء «حريَّة السِّياق» بل أيضًا عُرِّفَت رسميًّا كل نَحَويَّة ودلالات اللُّغة بشروط قواعد فان ويجنجارد  ‏؛ وَهي شكليَّات صُمِّمَت خِصِّيصًا لِهذا الغرض.
إنَّ الاستخدام القليل لِميِّزات لغة ألغول 68 (كمثال، الكُتَل(الطوب) المُتلاقية وَالمُتوازِية) وَنظامها المُعَقَّد من اختصارات الدلالات وَتحديد الأنواع الإجباريّ آليًّا جعلتها لغةً غير شعبيَّة لدى المُستخدمين وَاكتسبت سُمعَةً بِكونها لُغَةً «صعبة». وَقد خرج نيكلاوس ويرث من اللَّجنة لِيُنشِئ لغةً أبسط هي باسكال.
بعض اللُّغات البارزة الَّتي طُوِّرت في هذه الحِقبة:
| 0 | 1 |
| --- | --- |
 1951 – لغة التجميع الإقليمية  1952 – أوتوكود (لغة برمجة)  1954 – لغة معالجة المعلومات (مُمَهِّدَةَ لِـليسب)  1955 – فلو ماتيك  ‏ (أوصلتنا للغة كوبول)  1957 – فورتران (أوَّل مُجَمِّع)  1957 – كومتران (طَليعة لِكوبول)  1958 – ليسب  1958 – ألغول 58  1959 – تقنية تجميع آلية كليا  ‏ (مُمَهِّدَةَ لِـكوبول)  1959 – كوبول:  1959 – آر بي جي  1962 – إيه بي إل(أخذت من: A Programming Language، اختصارًا: APL)  1962 – سيمولا  1962 – سنوبول  1963 – لغة برمجة متحدة  ‏ (مُمَهِّدَةَ لِـسي)  1964 – حانة (بيئة حوسبية)  ‏  1964 – بيسيك  1964 – لغة البرمجة واحد  ‏  1966 – نظام متجر جونياك المفتوح  ‏  1967 – لغة البرمجة الأساسية المختلطة (مُمَهِّدَةَ لِـسي)