أجيال لغات البرمجة

صُنفت لغات البرمجة إلى عدة أجيال . [ 1 ] تاريخيًا، استُخدم هذا التصنيف للدلالة على تزايد قوة أساليب البرمجة. وقد أعاد الكتّاب اللاحقون تعريف المعاني إلى حد ما، إذ أصبحت الفروقات التي كانت تُعتبر مهمة في السابق أقل أهمية في الممارسة الحالية.

أجيال

الجيل الأول (1GL)

لغة البرمجة من الجيل الأول (1GL) هي لغة برمجة على مستوى الآلة. هذه اللغات يمكن تنفيذها مباشرةً بواسطة وحدة المعالجة المركزية (CPU). تُعبَّر التعليمات في لغات الجيل الأول بالنظام الثنائي، ممثلةً بالرقمين 1 و0 (أو أحيانًا بالنظام الثماني أو الست عشري للمبرمج). هذا يجعل اللغة مناسبة للتنفيذ بواسطة الآلة، ولكنه في الوقت نفسه أكثر صعوبةً على المبرمج البشري في التعلم والتفسير. نادرًا ما يستخدم المبرمجون لغات البرمجة من الجيل الأول في القرن الحادي والعشرين، ولكنها كانت شائعة الاستخدام في برمجة الحواسيب القديمة، قبل اختراع لغات التجميع، وعندما كان وقت الحاسوب محدودًا جدًا بحيث لا يسمح بتشغيل برنامج التجميع.

الجيل الثاني (2GL)

أمثلة: لغات التجميع

لغة البرمجة من الجيل الثاني (2GL) هي طريقة تصنيف أجيال لغات التجميع . [ 2 ] [ 3 ] [ 4 ]

الجيل الثالث (3GL)

أمثلة: C ، C++ ، Java ، Python ، PHP ، Perl ، C# ، BASIC ، Pascal ، Fortran ، ALGOL ، COBOL

تتميز لغات الجيل الثالث (3GLs) باستقلاليتها عن الأجهزة (قابليتها للنقل) وسهولة استخدامها من قِبل المبرمجين. ويشمل ذلك ميزات مثل دعم مُحسّن لأنواع البيانات المُجمّعة، والتعبير عن المفاهيم بطريقة تُسهّل عمل المبرمج على حساب الحاسوب. تتفوق لغات الجيل الثالث على لغات الجيل الثاني من خلال جعل الحاسوب يتولى معالجة التفاصيل غير الأساسية. وتُعدّ لغات الجيل الثالث أكثر تجريدًا من لغات الأجيال السابقة، وبالتالي يُمكن اعتبارها لغات ذات مستوى أعلى من نظيراتها من الجيلين الأول والثاني. ومن الأمثلة على لغات الجيل الثالث المبكرة: فورتران ، وألغول ، وكوبول، التي ظهرت لأول مرة في أواخر الخمسينيات .

معظم لغات البرمجة العامة الشائعة اليوم، مثل C و C++ و C# و Java و BASIC ، هي أيضاً لغات من الجيل الثالث، مع إمكانية تقسيم كل لغة منها إلى فئات فرعية أخرى بناءً على خصائصها المعاصرة. تدعم معظم لغات الجيل الثالث البرمجة الهيكلية ، ويدعم العديد منها البرمجة كائنية التوجه . تُستخدم هذه الخصائص غالباً لوصف اللغة ككل، وليس فقط لكونها لغة من الجيل الثالث.

الجيل الرابع (4GL)

أمثلة: ABAP ، Unix shell ، SQL ، PL/SQL ، Oracle Reports ، R ، Halide

تميل لغات الجيل الرابع إلى التخصص في مجالات برمجة محددة للغاية . [ 5 ] [ 6 ] قد تتضمن لغات الجيل الرابع دعمًا لإدارة قواعد البيانات ، وإنشاء التقارير ، والتحسين الرياضي ، وتطوير واجهات المستخدم الرسومية ، أو تطوير الويب .

الجيل الخامس (5GL)

أمثلة: برولوج ، أوبس 5 ، ميركوري ، سي في إكس جين، [ 7 ] [ 8 ] خبير الهندسة

لغة البرمجة من الجيل الخامس (5GL) هي أي لغة برمجة تعتمد على حل المشكلات باستخدام قيود محددة للبرنامج، بدلاً من استخدام خوارزمية يكتبها المبرمج. [ 9 ] وقد تستخدم هذه اللغات تقنيات الذكاء الاصطناعي لحل المشكلات بهذه الطريقة. معظم لغات البرمجة القائمة على القيود ولغات البرمجة المنطقية ، وبعض اللغات التصريحية الأخرى، هي لغات من الجيل الخامس.

بينما صُممت لغات البرمجة من الجيل الرابع لبناء برامج محددة، صُممت لغات الجيل الخامس لتمكين الحاسوب من حل مشكلة معينة دون تدخل المبرمج. وبهذه الطريقة، لا يحتاج المستخدم إلا إلى تحديد المشكلات التي يجب حلها والشروط الواجب توافرها، دون الحاجة إلى التفكير في كيفية تنفيذ روتين أو خوارزمية لحلها. تُستخدم لغات الجيل الخامس بشكل رئيسي في مجال الذكاء الاصطناعي وأبحاثه. تُعد OPS5 و Mercury مثالين على لغات الجيل الخامس، [ 10 ] وكذلك ICAD ، التي بُنيت على لغة Lisp . أما KL-ONE فهي مثال على فكرة مشابهة، وهي لغة الإطار .

تاريخ

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

في البداية، كانت جميع لغات البرمجة التي تتجاوز مستوى التجميع تُسمى " الجيل الثالث "، ولكن في وقت لاحق، تم تقديم مصطلح " الجيل الرابع " لمحاولة التمييز بين اللغات التصريحية الجديدة (مثل Prolog واللغات الخاصة بالمجال) التي ادعت أنها تعمل على مستوى أعلى، وفي مجال أقرب إلى المستخدم (على سبيل المثال على مستوى اللغة الطبيعية) من لغات البرمجة الأصلية عالية المستوى مثل Pascal و C و ALGOL و Fortran و BASIC وما إلى ذلك .

لم يكن التصنيف "الجيلي" للغات البرمجة عالية المستوى (الجيل الثالث وما بعده) دقيقًا تمامًا، وربما تم التخلي عنه لاحقًا، مع شيوع استخدام تصنيفات أكثر دقة، مثل البرمجة كائنية التوجه ، والبرمجة التصريحية، والبرمجة الوظيفية. انبثقت لغة C من لغة C++ ، ثم من Java و C# ؛ ومن Lisp إلى CLOS ؛ ومن Ada إلى Ada 2012 ؛ وحتى من COBOL إلى COBOL 2002. وقد ظهرت لغات جديدة في ذلك "الجيل" أيضًا.

انظر أيضاً

مراجع

  1. "جيل لغات البرمجة" . GeeksforGeeks . 22-10-2017 . تم الاطلاع عليه بتاريخ 15-01-2025 .
  2. "أمل الحاسوب، لغات الجيل" .
  3. بروكشير، ج. جلين (2012). علم الحاسوب : نظرة عامة ( الطبعة الحادية عشرة). أديسون-ويسلي. الصفحات 240-241 . ISBN    978-0-13-256903-3.
  4. فاس، بيتر. "أجيال لغات البرمجة ونماذج البرمجة" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 29-01-2020.
  5. المؤتمر الدولي الخامس والثلاثون في هاواي لعلوم الأنظمة - 1002 لغة خاصة بالمجال لهندسة البرمجيات . مؤرشف في 16 مايو 2011، في Wayback Machine .
  6. آري فان ديورسن؛ بول كلينت؛ جوست فيسر (1998). "لغات خاصة بالمجال: ببليوغرافيا مشروحة" . مؤرشف من الأصل بتاريخ 2009-02-02 . تم الاطلاع عليه بتاريخ 2009-03-15 .
  7. NAE، الجسر ، الهبوط الدقيق المستقل للصواريخ الفضائية، 19 ديسمبر 2016، المؤلف: لارس بلاكمور.
  8. CVXGEN: توليد الكود للتحسين المحدب ، cvxgen.com، 4 ديسمبر 2013.
  9. دونغ، جيلين، محرر. (2007). قاموس الشبكات . ساراتوغا، كاليفورنيا: شركة جافين تكنولوجيز، ص 195. ISBN  9781602670006.
  10. إي. بالاغوروسامي، أساسيات الحاسوب ، ماكجرو هيل للتعليم (الهند)، 2009، رقم ISBN 978-0070141605، ص 340.