تاريخ لغات البرمجة
يمتد تاريخ لغات البرمجة من توثيق الحواسيب الميكانيكية الأولى إلى الأدوات الحديثة لتطوير البرمجيات . كانت لغات البرمجة المبكرة متخصصة للغاية، معتمدة على الرموز الرياضية وبنية نحوية غامضة مماثلة . [ 1 ] على مدار القرن العشرين، أدى البحث في نظرية المترجمات إلى ابتكار لغات برمجة عالية المستوى ، تستخدم بنية نحوية أكثر سهولة لتوصيل التعليمات.
كانت لغة البرمجة Plankalkül أول لغة برمجة عالية المستوى ، وقد ابتكرها كونراد تسوزه بين عامي 1942 و1945. [ 2 ] أما أول لغة برمجة عالية المستوى مزودة بمترجم، فقد ابتكرها كورادو بوم عام 1951، كجزء من أطروحته للدكتوراه . [ 3 ] وكانت لغة FORTRAN (ترجمة الصيغ) أول لغة متاحة تجاريًا ، وقد طُوّرت عام 1956 (ظهر أول دليل استخدام لها عام 1956، ولكن طُوّرت لأول مرة عام 1954) من قِبل فريق بقيادة جون باكوس في شركة IBM .
التاريخ المبكر
خلال الفترة من 1842 إلى 1849، قامت آدا لوفليس بترجمة مذكرات عالم الرياضيات الإيطالي لويجي مينابريا حول أحدث آلة اقترحها تشارلز باباج : المحرك التحليلي ؛ وأكملت المذكرات بملاحظات حددت بالتفصيل طريقة لحساب أعداد برنولي باستخدام المحرك، وهو ما يعتبره معظم المؤرخين أول برنامج حاسوبي منشور في العالم. [ 4 ]
تم تصميم كل من أنوال جاكارد ومحرك الفرق لتشارلز باباج لاستخدام البطاقات المثقبة ، [ 5 ] [ 6 ] والتي من شأنها أن تصف تسلسل العمليات التي يجب أن تقوم بها آلاتها القابلة للبرمجة.
كانت أولى رموز الكمبيوتر متخصصة لتطبيقاتها: على سبيل المثال، تمكن ألونسو تشيرش من التعبير عن حساب التفاضل والتكامل لامدا بطريقة صيغية، وكانت آلة تورينج عبارة عن تجريد لعملية آلة وضع العلامات على الشريط.
لغات البرمجة الأولى
في أربعينيات القرن العشرين، تم ابتكار أولى الحواسيب الحديثة التي تعمل بالكهرباء. أجبرت السرعة المحدودة وسعة الذاكرة المحدودة المبرمجين على كتابة برامج بلغة التجميع يدوياً . وفي نهاية المطاف، أُدرك أن البرمجة بلغة التجميع تتطلب جهداً فكرياً كبيراً.
كان أحد المقترحات المبكرة للغة برمجة عالية المستوى هو Plankalkül ، الذي طوره كونراد تسوزه لجهاز الكمبيوتر Z1 الخاص به بين عامي 1942 و1945، ولكن لم يتم تنفيذه في ذلك الوقت. [ 7 ]
كُتبت أولى لغات البرمجة العملية المصممة لتوصيل التعليمات إلى الحاسوب في أوائل خمسينيات القرن العشرين. وكانت لغة "الرمز المختصر" لجون موشلي ، التي طُرحت عام ١٩٤٩، من أوائل لغات البرمجة عالية المستوى التي طُوّرت للحاسوب الإلكتروني . [ ٨ ] وعلى عكس لغة الآلة ، مثّلت عبارات "الرمز المختصر" التعبيرات الرياضية بصيغة مفهومة. مع ذلك، كان لا بد من ترجمة البرنامج إلى لغة الآلة في كل مرة يُنفّذ فيها، مما جعل العملية أبطأ بكثير من تشغيل لغة الآلة المكافئة.
في أوائل خمسينيات القرن العشرين، طوّر أليك غليني لغة البرمجة "أوتوكود "، التي يُحتمل أنها أول لغة برمجة مُجمّعة، في جامعة مانشستر . وفي عام ١٩٥٤، طُوّرت نسخة ثانية من اللغة، عُرفت باسم "مارك ١ أوتوكود"، لجهاز مارك ١ على يد آر. إيه. بروكر . كما طوّر بروكر، بالتعاون مع جامعة مانشستر، لغة أوتوكود لجهاز فيرانتي ميركوري في خمسينيات القرن العشرين. وفي عام ١٩٦١ ، ابتكر دوغلاس هارتري من مختبر الرياضيات بجامعة كامبريدج نسخةً لجهاز إيدساك ٢. عُرفت هذه النسخة باسم إيدساك ٢ أوتوكود، وكانت تطويرًا مباشرًا للغة ميركوري أوتوكود، مع تكييفها لتناسب الظروف المحلية، واشتهرت بتحسينها لرمز الكائن وتشخيصها للغة المصدر، والتي كانت متقدمةً في ذلك الوقت. وفي سياقٍ مُعاصرٍ ولكن مُنفصل، طُوّرت لغة أطلس أوتوكود لجهاز أطلس ١ التابع لجامعة مانشستر .
في عام 1954، تم ابتكار لغة فورتران في شركة آي بي إم على يد فريق بقيادة جون باكوس ؛ وكانت أول لغة برمجة عامة الأغراض عالية المستوى واسعة الانتشار ذات تطبيق عملي، على عكس كونها مجرد تصميم نظري. [ 9 ] [ 10 ] عند ظهور فورتران لأول مرة، قوبلت بشكوك بسبب الأخطاء البرمجية، والتأخير في التطوير، والكفاءة النسبية للبرامج المكتوبة يدويًا بلغة التجميع. [ 11 ] مع ذلك، وفي سوق الأجهزة الذي كان يشهد تطورًا سريعًا، اشتهرت اللغة بكفاءتها. ولا تزال لغة شائعة في مجال الحوسبة عالية الأداء [ 12 ] ، وتُستخدم في برامج قياس وتصنيف أسرع 500 حاسوب فائق في العالم . [ 13 ]
ابتكرت غريس هوبر في الولايات المتحدة لغة برمجة مبكرة أخرى، أطلقت عليها اسم FLOW-MATIC . طُوّرت هذه اللغة لجهاز UNIVAC I في شركة ريمنجتون راند خلال الفترة من عام 1955 إلى عام 1959. لاحظت هوبر أن عملاء معالجة بيانات الأعمال لم يكونوا مرتاحين للرموز الرياضية ، وفي أوائل عام 1955، كتبت هي وفريقها مواصفات لغة برمجة باللغة الإنجليزية ونفذوا نموذجًا أوليًا لها. [ 14 ] أصبح مُترجم FLOW-MATIC متاحًا للجمهور في أوائل عام 1958، واكتمل تطويره بشكل كبير في عام 1959. [ 15 ] كان لـ FLOW-MATIC تأثير كبير في تصميم لغة COBOL ، حيث كانت هي ولغة AIMACO، وهي اللغة المنحدرة منها مباشرة، اللغتين الوحيدتين المستخدمتين في ذلك الوقت. [ 16 ]
من بين اللغات الأخرى التي لا تزال مستخدمة حتى اليوم لغة ليسب (1958)، التي ابتكرها جون مكارثي ، ولغة كوبول (1960)، التي طورتها لجنة المدى القصير. ومن الإنجازات البارزة الأخرى في أواخر الخمسينيات من القرن الماضي، نشر لجنة من علماء الحاسوب الأمريكيين والأوروبيين "لغة جديدة للخوارزميات"؛ تقرير ALGOL 60 ( لغة ALGO الحسابية ). وقد جمع هذا التقرير العديد من الأفكار المتداولة آنذاك، وعرض ثلاثة ابتكارات لغوية رئيسية:
- بنية الكتلة المتداخلة: يمكن تجميع تسلسلات التعليمات البرمجية والتصريحات المرتبطة بها في كتل دون الحاجة إلى تحويلها إلى إجراءات منفصلة ومسماة بشكل صريح؛
- النطاق المعجمي : يمكن أن تحتوي الكتلة على متغيراتها الخاصة وإجراءاتها ووظائفها، غير المرئية للتعليمات البرمجية خارج تلك الكتلة، أي إخفاء المعلومات .
وكان هناك ابتكار آخر ذو صلة بهذا الأمر، وهو كيفية وصف اللغة:
- استُخدمت صيغة باكوس-ناور (BNF)، وهي صيغة رياضية دقيقة، لوصف بنية اللغة. وقد استخدمت جميع لغات البرمجة اللاحقة تقريبًا صيغةً مختلفةً من صيغة باكوس-ناور لوصف الجزء غير السياقي من بنيتها.
كان للغة ALGOL 60 تأثير بالغ في تصميم اللغات اللاحقة، والتي سرعان ما اكتسب بعضها شعبية واسعة. صُممت أنظمة بوروز الكبيرة لتُبرمج باستخدام مجموعة فرعية موسعة من لغة ALGOL.
تم مواصلة تطوير الأفكار الرئيسية للغة ALGOL، مما أدى إلى إنتاج ALGOL 68 :
- أصبحت البنية النحوية والدلالات أكثر استقلالية، مع إجراءات مجهولة المصدر، ونظام كتابة متكرر مع وظائف من الدرجة العليا، وما إلى ذلك؛
- لم يتم تعريف الجزء الخالي من السياق فحسب، بل تم تعريف بناء الجملة والدلالات الكاملة للغة بشكل رسمي، من حيث قواعد فان وينجاردن ، وهي شكلية مصممة خصيصًا لهذا الغرض.
أدت العديد من ميزات لغة ALGOL 68 قليلة الاستخدام (مثل الكتل المتزامنة والمتوازية) ونظامها المعقد من الاختصارات النحوية وتحويلات الأنواع التلقائية إلى عدم شعبيتها بين المطورين، واكتسبت سمعة بأنها صعبة. وقد انسحب نيكلاوس ويرث فعليًا من لجنة التصميم لإنشاء لغة باسكال الأبسط .
من بين اللغات البارزة التي تم تطويرها في هذه الفترة ما يلي:
- 1951 – لغة الجمعية الإقليمية
- 1952 – أوتوكود
- 1954 – IPL (سلف LISP)
- 1955 – FLOW-MATIC (التي أدت إلى COBOL)
- 1957 – لغة فورتران (أول مترجم)
- 1957 – كومتران (البرنامج السابق لكوبول)
- 1958 – لغة ليسب
- 1958 – ALGOL 58
- 1959 – FACT (سلف COBOL)
- 1959 – آر بي جي
- 1960 – كوبول
- 1960 – ALGOL 60
- 1962 – APL
- 1962 – سيمولا
- 1962 – سنوبول
- 1963 – CPL (سلف C)
- 1964 – سبيك إيزي
- 1964 – بيسك
- 1964 – PL/I
- 1966 – جوس
- 1966 – المومبس
- 1967 – BCPL (سلف C)
- 1967 – لغة Logo (لغة تعليمية أثرت فيما بعد على Smalltalk و Scratch ).
- 1968 – ألغول 68
إرساء النماذج الأساسية
شهدت الفترة الممتدة من أواخر الستينيات إلى أواخر السبعينيات ازدهاراً كبيراً في لغات البرمجة. وقد تم ابتكار معظم نماذج اللغات الرئيسية المستخدمة حالياً خلال هذه الفترة.
- سبيك إيزي ، الذي طُوّر عام 1964 في مختبر أرغون الوطني (ANL) على يد ستانلي كوهين ، هو نظام برمجة كائنية التوجه (OOP)، يشبه إلى حد كبير برامج MATLAB و IDL و Mathematica اللاحقة. يتميز سبيك إيزي ببنية أساسية واضحة للغة فورتران . وقد استُخدم في البداية لتحسين كفاءة الحوسبة الفيزيائية داخليًا في مختبر أرغون الوطني، ثم عُدّل للاستخدام البحثي (تحت اسم "موديل إيزي") لصالح مجلس الاحتياطي الفيدرالي في أوائل سبعينيات القرن الماضي، ثم أُتيح تجاريًا؛ ولا يزال سبيك إيزي وموديل إيزي قيد الاستخدام حتى اليوم.
- كانت لغة Simula ، التي ابتكرها نيغارد ودالفي أواخر الستينيات كمجموعة فرعية من ALGOL 60، أول لغة مصممة لدعم البرمجة الموجهة للكائنات .
- تم تصميم لغة البرمجة FORTH ، وهي أقدم لغة برمجة تجميعية، بواسطة تشارلز مور في عام 1969 كنظام تطوير شخصي أثناء عمله في المرصد الوطني لعلم الفلك الراديوي (NRAO).
- تم تطوير لغة البرمجة C ، وهي لغة برمجة أنظمة مبكرة ، بواسطة دينيس ريتشي وكين تومسون في مختبرات بيل بين عامي 1969 و 1973.
- قدمت لغة سمول توك (منتصف السبعينيات) تصميمًا كاملاً من الصفر للغة كائنية التوجه.
- كانت لغة البرمجة Prolog ، التي صممها آلان كولميراور وفيليب روسيل وروبرت كوالسكي في عام 1972 ، أول لغة برمجة منطقية .
- قام ML ببناء نظام أنواع متعدد الأشكال (اخترعه روبن ميلنر في عام 1973) على لغة Lisp، [ 17 ] مما أدى إلى ريادة لغات البرمجة الوظيفية ذات الأنواع الثابتة .
كل لغة من هذه اللغات أنجبت عائلة كاملة من السلالات، ومعظم اللغات الحديثة تضم واحدة على الأقل منها في أصولها.
شهدت الستينيات والسبعينيات من القرن العشرين نقاشًا واسعًا حول مزايا " البرمجة الهيكلية "، والتي كانت تعني أساسًا البرمجة دون استخدام goto. اعتقدت شريحة كبيرة من المبرمجين أنه حتى في اللغات التي توفر goto، يُعد استخدام أسلوب برمجة سيئًا إلا في حالات نادرة. ارتبط هذا النقاش ارتباطًا وثيقًا بتصميم اللغة: فبعض اللغات لم تكن تحتوي على goto، مما أجبر على استخدام البرمجة الهيكلية.
ولتوفير أوقات تجميع أسرع، تم تصميم بعض اللغات لـ " مترجمات المرور الواحد " التي تتوقع تعريف الإجراءات الفرعية أولاً، كما هو الحال مع باسكال ، حيث يكون الإجراء الرئيسي، أو وظيفة التشغيل، هو القسم الأخير من قائمة البرنامج.
من بين اللغات البارزة التي تم تطويرها في هذه الفترة ما يلي:
ثمانينيات القرن العشرين: التوحيد، والوحدات، والأداء
شهدت ثمانينيات القرن العشرين فترة ترسيخ نسبي للغات البرمجة الإجرائية . فبدلاً من ابتكار نماذج جديدة، ركزت جميع هذه الحركات على تطوير الأفكار التي طُرحت في العقد السابق. جمعت لغة C++ بين البرمجة الكائنية والبرمجة النظامية. وقامت حكومة الولايات المتحدة بتوحيد لغة Ada ، وهي لغة برمجة نظامية مُخصصة للاستخدام من قِبل شركات المقاولات الدفاعية. وفي اليابان وغيرها، أُنفقت مبالغ طائلة على دراسة ما يُسمى بلغات البرمجة من الجيل الخامس التي تضمنت بنيات البرمجة المنطقية. واتجه مجتمع اللغات الوظيفية نحو توحيد لغتي ML وLisp. وبدأ البحث في لغة Miranda ، وهي لغة وظيفية ذات تقييم كسول ، يترسخ في هذا العقد.
كان أحد الاتجاهات الجديدة المهمة في تصميم اللغات هو التركيز المتزايد على برمجة الأنظمة واسعة النطاق من خلال استخدام الوحدات البرمجية ، أو وحدات تنظيمية واسعة النطاق من التعليمات البرمجية. وقد طورت لغات Modula وAda وML أنظمة وحدات برمجية بارزة في ثمانينيات القرن الماضي. وغالبًا ما كانت أنظمة الوحدات البرمجية مرتبطة ببنى البرمجة العامة : حيث أن البرمجة العامة هي في جوهرها وحدات برمجية ذات معلمات (انظر أيضًا تعدد الأشكال (علوم الحاسوب) ).
على الرغم من عدم ظهور نماذج جديدة رئيسية للغات البرمجة الإجرائية، فقد قام العديد من الباحثين بتوسيع أفكار اللغات السابقة وتكييفها مع سياقات جديدة. على سبيل المثال، قامت لغات نظامي أرجوس وإميرالد بتكييف البرمجة الكائنية التوجه مع أنظمة الحوسبة الموزعة .
شهدت ثمانينيات القرن العشرين تطورات ملحوظة في مجال تطوير لغات البرمجة. فقد طرحت حركة الحواسيب ذات مجموعة التعليمات المختصرة (RISC) في هندسة الحواسيب فكرة تصميم الأجهزة لتتوافق مع المترجمات البرمجية بدلاً من تصميمها لمبرمجي لغة التجميع. وبفضل التحسينات التي طرأت على سرعة وحدة المعالجة المركزية (CPU) والتي أتاحت استخدام أساليب ترجمة أكثر تطوراً، أثارت حركة RISC اهتماماً متزايداً بتقنية المترجمات البرمجية للغات البرمجة عالية المستوى.
استمر تطور تكنولوجيا اللغة على هذا المنوال حتى تسعينيات القرن العشرين.
من بين اللغات البارزة التي تم تطويرها في هذه الفترة ما يلي:
- 1980 – C++ (كـ C مع الفئات ، أعيد تسميتها في عام 1983)
- 1983 – آدا
- 1984 – لغة الشلل العام
- 1984 – MATLAB
- 1984 – dBase III، dBase III Plus ( Clipper و FoxPro باسم FoxBASE )
- 1985 – إيفل
- 1986 – أوبجيكتيف سي
- 1986 – LabVIEW ( لغة برمجة مرئية )
- 1986 – إرلانغ
- 1987 – بيرل
- 1988 – PIC (لغة الترميز)
- 1988 – Tcl
- 1988 – لغة وولفرام (كجزء من ماثيماتيكا ، ولم تحصل على اسم منفصل إلا في يونيو 2013)
- 1989 – فلوريدا (باكوس)
التسعينيات: عصر الإنترنت
شكّل النمو السريع للإنترنت في منتصف التسعينيات الحدث التاريخي الأبرز التالي في لغات البرمجة. فمن خلال فتح منصة جديدة كليًا لأنظمة الحاسوب، أتاح الإنترنت فرصةً لاعتماد لغات جديدة. وسرعان ما اكتسبت لغة جافا سكريبت شعبيةً واسعةً بفضل تكاملها المبكر مع متصفح نتسكيب نافيغيتور. كما حققت لغات برمجة نصية أخرى انتشارًا واسعًا في تطوير تطبيقات مخصصة لخوادم الويب، مثل PHP. لم تشهد التسعينيات أي ابتكارات جوهرية في لغات البرمجة الإجرائية ، بل شهدت إعادة دمج وتطويرًا للأفكار القديمة. وبدأت هذه الحقبة انتشار لغات البرمجة الوظيفية ، حيث كان أحد أهم مبادئها الأساسية هو إنتاجية المبرمج. وظهرت العديد من لغات التطوير السريع للتطبيقات (RAD)، والتي عادةً ما كانت تأتي مع بيئة تطوير متكاملة (IDE) وخاصية جمع البيانات المهملة ، وكانت مشتقة من لغات أقدم. جميع هذه اللغات كانت كائنية التوجه ، ومنها أوبجكت باسكال ، وأوبجكتيف كامل (التي أعيد تسميتها إلى OCaml )، وفيجوال بيسك ، وجافا . وقد حظيت جافا باهتمام كبير.
كانت لغات البرمجة النصية الجديدة أكثر جذرية وابتكارًا من لغات التطوير السريع للتطبيقات (RAD) . لم تنحدر هذه اللغات مباشرةً من لغات أخرى، بل تميزت ببنية نحوية جديدة ودمج أوسع للميزات. يرى الكثيرون أن لغات البرمجة النصية هذه أكثر إنتاجية حتى من لغات التطوير السريع للتطبيقات، ولكن غالبًا ما يعود ذلك إلى خيارات تجعل البرامج الصغيرة أبسط، بينما تجعل البرامج الكبيرة أكثر صعوبة في الكتابة والصيانة. ومع ذلك، أصبحت لغات البرمجة النصية الأكثر استخدامًا في مجال الويب.
تضمنت بعض لغات البرمجة لغات أخرى ضمن توزيعاتها لتوفير وقت التطوير. على سبيل المثال، تضمنت كل من بايثون وروبي لغة Tcl لدعم برمجة واجهات المستخدم الرسومية (GUI) من خلال مكتبات مثل Tkinter .
من بين اللغات البارزة التي تم تطويرها في هذه الفترة ما يلي:
- 1990 – هاسكل
- 1991 – بايثون
- 1991 – فيجوال بيسك
- 1993 – لوا
- 1993 – R
- 1994 – نظام كائنات Common Lisp (CLOS) (جزء من ANSI Common Lisp )
- 1995 – روبي
- 1995 – آدا 95
- 1995 – جافا
- 1995 – دلفي ( أوبجكت باسكال )
- 1995 – فيجوال فوكس برو
- 1995 – جافا سكريبت
- 1995 – PHP
- 1996 – OCaml
- 1997 – ريبول
العقد الأول من الألفية الثانية: نماذج البرمجة
يستمر تطور لغات البرمجة، ويتم استخدام المزيد من نماذج البرمجة في الإنتاج.
تضمنت بعض هذه الاتجاهات ما يلي:
- زيادة الدعم للبرمجة الوظيفية في اللغات السائدة المستخدمة تجارياً، بما في ذلك البرمجة الوظيفية البحتة لجعل الكود أسهل في الفهم والتوازي (على المستويين الجزئي والكلي).
- بنى لدعم البرمجة المتزامنة والموزعة .
- آليات لإضافة التحقق من الأمان والموثوقية إلى اللغة: التحقق الثابت الموسع، والكتابة المعتمدة ، والتحكم في تدفق المعلومات، والسلامة الثابتة للخيوط .
- آليات بديلة للتركيب والنمطية: المزيجات ، والسمات ، وفئات الأنواع ، والمفوضون ، والجوانب .
- تطوير البرمجيات الموجهة نحو المكونات.
- تزايد الاهتمام بلغات البرمجة المرئية مثل سكراتش ولاب فيو
- البرمجة الوصفية ، أو البرمجة الانعكاسية (الانعكاس)، أو الوصول إلى شجرة بناء الجملة المجردة
- البرمجة الموجهة نحو الجوانب (AOP) التي تسمح للمطورين بإدراج التعليمات البرمجية في وحدة أو فئة أخرى عند "نقاط الربط".
- لغات خاصة بالمجال وتوليد التعليمات البرمجية
- لغة XML للواجهة الرسومية ( XUL ، لغة ترميز التطبيقات القابلة للتوسيع (XAML))
قدمت شركات التكنولوجيا الكبرى العديد من لغات البرمجة الجديدة المصممة لتلبية احتياجاتها. على سبيل المثال:
- أطلقت مايكروسوفت لغتي C# و F#
- أطلقت جوجل لغة البرمجة Go
من بين اللغات البارزة التي تطورت خلال هذه الفترة ما يلي:
العقد الثاني من القرن الحادي والعشرين: عصر الهواتف المحمولة
يستمر تطور لغات البرمجة مع ظهور مجالات برمجة جديدة.
- ازداد الاهتمام بالتوزيع والتنقل.
- التكامل مع قواعد البيانات، بما في ذلك قواعد بيانات XML وقواعد البيانات العلائقية .
- المصادر المفتوحة كفلسفة تطوير للغات، بما في ذلك مجموعة مترجمات GNU (GCC) ولغات مثل PHP و Python و Ruby و Scala .
- لغات معالجة متوازية ضخمة لوحدات معالجة الرسومات (GPUs) ومصفوفات الحواسيب العملاقة ، بما في ذلك OpenCL
- الأبحاث المبكرة في مجال الحوسبة الكمومية ولغات البرمجة الكمومية
- حاولت العديد من لغات البرمجة الجديدة توفير بديل حديث للغة البرمجة C.
- تتأثر العديد من لغات البرمجة الجديدة باللغات الديناميكية الشائعة وتعد بإضافة أمان النوع دون تقليل الإنتاجية.
- تستخدم العديد من لغات البرمجة الجديدة LLVM في تطبيقها.
واصلت العديد من شركات التكنولوجيا الكبرى طرح لغات برمجة جديدة مصممة لتلبية احتياجاتها وتوفير دعم من الدرجة الأولى لمنصاتها. على سبيل المثال:
- قدمت مايكروسوفت لغات البرمجة TypeScript و Q# و Bosque
- أطلقت جوجل لغة دارت
- أطلقت شركة آبل لغة سويفت .
- قدمت ميتا برنامج الاختراق .
ومن بين اللغات البارزة التي تم تطويرها خلال هذه الفترة: [ 18 ] [ 19 ]
وتشمل لغات البرمجة الجديدة الأخرى Elm و Ballerina و Red و Crystal و V (Vlang) و Reason .
العقد الثالث من القرن الحادي والعشرين: الاتجاهات الحالية

يستمر تطوير لغات برمجة جديدة. تسعى بعض اللغات الجديدة إلى توفير مزايا لغات معروفة مثل C++ (متعددة الاستخدامات وسريعة) مع إضافة ميزات الأمان أو تقليل التعقيد. بينما تسعى لغات أخرى إلى توفير سهولة الاستخدام كما في لغة بايثون مع إعطاء الأولوية للأداء.
تتضمن بعض لغات البرمجة الجديدة البارزة ما يلي:
- 2021 – باور إف إكس
- 2022 – الكربون
- 2023 – موجو
الشخصيات الرئيسية
بعض الشخصيات الرئيسية التي ساهمت في تطوير لغات البرمجة:
- آدا لوفليس ، نشرت أول برنامج حاسوبي
- آلان كوبر ، مطور لغة البرمجة فيجوال بيسك .
- آلان كاي ، صاحب العمل الرائد في مجال البرمجة الكائنية التوجه، ومبتكر لغة سمول توك .
- أندرس هيلسبرغ ، مطور لغات البرمجة Turbo Pascal و Delphi و C# و TypeScript .
- آرثر ويتني ، مطور A+ و k و q .
- برتراند ماير ، مخترع برج إيفل .
- بيارن ستروستروب ، مطور لغة C++ .
- براد كوكس ، أحد مؤسسي لغة البرمجة Objective-C .
- بريندان إيتش ، مطور جافا سكريبت .
- برايان كيرنيغان ، المؤلف المشارك لأول كتاب عن لغة البرمجة C مع دينيس ريتشي ، المؤلف المشارك للغتي البرمجة AWK و AMPL .
- تشاك مور ، مخترع لغة فورث ، وهي أول لغة برمجة تسلسلية، واسم بارز في تصميم المعالجات الدقيقة لآلات المكدس .
- كريس لاتنر ، مبتكر Swift و Mojo و Clang / LLVM .
- كليف مولر ، مبتكر برنامج MATLAB .
- دينيس ريتشي ، مخترع لغة C. نظام التشغيل يونكس، نظام التشغيل بلان 9.
- قام دوغلاس ماكلروي بالتأثير على لغات مثل SNOBOL و TRAC و PL/I و ALTRAN و TMG و C++ وتصميمها .
- غريس هوبر ، أول من استخدم مصطلح " المترجم " ومطورة لغة FLOW-MATIC ، أثرت في تطوير لغة COBOL . كما ساهمت في نشر لغات البرمجة المستقلة عن الآلة ومصطلح " تصحيح الأخطاء ".
- غيدو فان روسوم ، مبتكر لغة بايثون .
- جيمس جوسلينج ، المطور الرئيسي للغة جافا وسلفها، أوك .
- جان إشبيا ، كبير مصممي آدا ، آدا 83 .
- جان إيف جيرارد ، المخترع المشارك لحساب التفاضل والتكامل متعدد الأشكال لامدا (النظام F).
- جيف بيزانسون ، المصمم الرئيسي، وأحد المطورين الأساسيين للغة جوليا .
- جيفري سنوفر ، مخترع برنامج PowerShell .
- جو أرمسترونج ، مبتكر لغة إرلانج .
- جون باكوس ، مخترع لغة فورتران ، تعاون في تصميم ALGOL 58 و ALGOL 60 .
- جون سي. رينولدز ، المخترع المشارك لحساب التفاضل والتكامل متعدد الأشكال لامدا (النظام F).
- جون مكارثي ، مخترع لغة LISP ، عضو لجنة تصميم ALGOL 60 .
- جون فون نيومان ، مبتكر مفهوم نظام التشغيل .
- غرايدون هوار ، مخترع لغة البرمجة Rust .
- كين تومسون ، مخترع B و Go .
- كينيث إي. إيفرسون ، مطور لغة البرمجة APL ، والمطور المشارك للغة J مع روجر هوي .
- قام كونراد تسوز بتصميم أول لغة برمجة عالية المستوى ، وهي Plankalkül (التي أثرت على ALGOL 58 [ 20 ] ).
- كريستين نيغارد ، رائدة في مجال البرمجة الكائنية التوجه، شاركت في اختراع لغة البرمجة سيمولا .
- لاري وول ، مبتكر لغة البرمجة بيرل (انظر بيرل وراكو ) .
- مارتن أوديرسكي ، مبتكر لغة سكالا ، ومساهم سابق في تصميم لغة جافا .
- قام مارتن ريتشاردز بتطوير لغة البرمجة BCPL ، وهي اللغة السابقة للغتين B و C.
- ناثانيال روتشستر ، مخترع أول جهاز تجميع (IBM 701).
- نيكلاوس ويرث ، مخترع باسكال ، ومودولا ، وأوبرون .
- أولي يوهان دال ، رائد البرمجة الكائنية التوجه، شارك في اختراع لغة البرمجة سيمولا .
- راسموس ليردورف ، مبتكر لغة PHP .
- ريتش هيكي ، مبتكر لغة البرمجة كلوجر .
- روبرت جنتلمان ، أحد مبتكري برنامج R.
- روبرت غريسمر ، أحد مؤسسي لغة البرمجة Go .
- روبن ميلنر ، مخترع لغة ML ، ويشارك في الفضل في استنتاج النوع متعدد الأشكال لهيندلي-ميلنر .
- روب بايك ، المشارك في ابتكار لغة البرمجة Go ، ونظام التشغيل Inferno، ونظام التشغيل Plan 9، والمؤلف المشارك لنظام التشغيل.
- روس ايهكا ، أحد مؤسسي R.
- ستانلي كوهين ، مخترع برنامج Speakeasy ، الذي تم إنشاؤه باستخدام نظام برمجة كائنية التوجه (OOPS)، في أول ظهور له عام 1964.
- ستيفن وولفرام ، مبتكر برنامج Mathematica .
- والتر برايت ، مبتكر D.
- يوكيهيرو ماتسوموتو مخترع روبي .
انظر أيضاً
مراجع
- ↑ هوبر (1978) ص 16.
- ↑ كنوت، دونالد إي .؛ باردو، لويس تراب. "التطور المبكر للغات البرمجة". موسوعة علوم وتكنولوجيا الحاسوب . 7. مارسيل ديكر: 419-493 .
- ↑ أطروحة الدكتوراه لكورادو بوم
- ↑ Fuegi, J.; Francis, J. (أكتوبر–ديسمبر 2003)، "Lovelace & Babbage and the creation of the 1843 'notes'"، حوليات تاريخ الحوسبة ، 25 (4): 16-26 ، رمز Bibcode : 2003IAHC...25d..16F ، doi : 10.1109/MAHC.2003.1253887
- ↑ بالز، ريبيكا (24 يوليو 2023). "شرح محرك تشارلز باباج التحليلي" . history-computer.com .
- ↑ سويد، دورون. "المحركات" . computerhistory.org . تم الاطلاع عليه بتاريخ 23 فبراير 2024 .
- ↑ في عامي 1998 و2000، تم إنشاء مترجمات للغة كتمرين تاريخي. روخاس، راؤول ، وآخرون (2000). "بلانكالكول: أول لغة برمجة عالية المستوى وتطبيقها". معهد إطار المعلوماتية، جامعة برلين الحرة، التقرير الفني B-3/2000. (النص الكامل)
- ↑ سيبستا، دبليو إس (2006). مفاهيم لغات البرمجة . بيرسون/أديسون-ويسلي. ص 44. ISBN 978-0-321-33025-3.
- ↑ "وفاة جون باكوس، مبتكر لغة فورتران - التكنولوجيا والأجهزة" . أخبار إن بي سي. 20 مارس 2007. تاريخ الاطلاع: 25 أبريل 2010 .
- ↑ "CSC-302 99S : الدرس الثاني: نبذة تاريخية عن لغات البرمجة" . Math.grin.edu. مؤرشف من الأصل بتاريخ 15 يوليو 2010. تم الاطلاع عليه بتاريخ 25 أبريل 2010 .
- ↑ بادوا، ديفيد (فبراير 2000). "مترجم لغة فورتران 1" (ملف PDF) . الحوسبة في العلوم والهندسة . 2 (1): 70-75 . رمز Bibcode : 2000CSE.....2a..70P . doi : 10.1109/5992.814661 . تاريخ الاسترجاع: 7 نوفمبر 2019 .
- ↑ يوجين لوه (18 يونيو 2010). "لغة البرمجة المثالية للحوسبة عالية الأداء" . مجلة ACM Queue . 8 (6). رابطة آلات الحوسبة.
- ↑ "HPL - تطبيق محمول لمعيار Linpack عالي الأداء لأجهزة الكمبيوتر ذات الذاكرة الموزعة" . تم الاطلاع عليه بتاريخ 21-02-2015 .
- ↑ هوبر (1978) ص 16.
- ↑ ساميت (1969) ص 316
- ↑ ساميت (1978) ص 204.
- ↑ غوردون، مايكل جيه سي (1996). "من LCF إلى HOL: تاريخ موجز" (ملف PDF) . ص 3. تم الاطلاع عليه بتاريخ 4 مايو 2015.
تم تنفيذ Edinburgh LCF، بما في ذلك مترجم ML، بلغة Lisp.
- ↑ "مؤشر TIOBE، أفضل 100 لغة برمجة وفقًا لمؤشر TIOBE" . www.tiobe.com . مؤشر TIOBE . 22 فبراير 2024.
- ↑ "مؤتمر GitHub's Octoverse 2018" . مؤرشف من الأصل بتاريخ 22-03-2019.
- ↑ روخاس، راؤول؛ هاشاجن، أولف (2002). الحواسيب الأولى: التاريخ والبنى . مطبعة معهد ماساتشوستس للتكنولوجيا. ص 292. ISBN 978-0262681377تم الاطلاع عليه بتاريخ 25 أكتوبر 2013 .
للمزيد من القراءة
- روزن، شاول ، (محرر)، أنظمة ولغات البرمجة ، ماكجرو هيل، 1967.
- ساميت، جان إي. ، لغات البرمجة: التاريخ والأساسيات ، برنتيس هول، 1969.
- ساميت، جان إي. (يوليو 1972). "لغات البرمجة: التاريخ والمستقبل" . مجلة اتصالات رابطة مكائن الحوسبة . 15 (7): 601-610 . doi : 10.1145/361454.361485 . S2CID 2003242 .
- ريتشارد ل. ويكسلبلات (محرر): تاريخ لغات البرمجة ، دار النشر الأكاديمية 1981.
- توماس ج. بيرجين وريتشارد ج. جيبسون (محرران): تاريخ لغات البرمجة ، أديسون ويسلي، 1996.
- سيبستا، روبرت و. مفاهيم لغات البرمجة. بيرسون للتعليم الهند، 2004.
روابط خارجية
- تاريخ الحوسبة
- تاريخ علوم الحاسوب
