# الجيل الرابع من لغات البرمجة

يشكل الجيل الرابع من لغات البرمجة في الفترة (من سبعينيات حتى تسعينيات القرن الماضي) (والذي يتم اختصاره إلى (4GL)لغة برمجة أو بيئة برمجة مصممة بأغراض خاصة تم وضعها في الاعتبار، مثل تطوير برمجيات الأعمال التجارية. وفي تاريخ علوم الحاسب الآلي، تبع الجيل الرابع من لغات البرمجة الجيل الثالث من لغات البرمجة في توجه تصاعدي نحو تجرد عالي وقوة بيان. وتبع الجيل الرابع من لغات البرمجة العديد من الجهود الرامية إلى تعريف واستخدام الجيل الخامس من لغات البرمجة.
وقد عملت اللغة الطبيعية، والنمط المنظم للمجموعة للجيل الثالث من لغات البرمجة على تحسين عملية تطوير البرمجيات ومع ذلك فإن أساليب تطويرالجيل الثالث من لغات البرمجة كانت بطيئة وعرضه للخطأ. وقد أصبح من الواضح أن بعض التطبيقات يمكن تطويرها بشكل أسرع عن طريق إضافة مستوى عالي من لغات البرمجة والمنهجيات الأمر الذي من شأنه إنتاج ما يعادل التعليمات المعقدة للغاية للجيل الثالث من لغات البرمجة مع قدر أقل من الأخطاء. وفي بعض المدركات، نهضت هندسة البرمجيات لتعالج مشاكل تطوير الجيل الثالث من لغات البرمجة. وقد كانت مشروعات الجيل الرابع والجيل الخامس من لغات البرمجة موجهة بشكل أكبر نحو حل المشكلات وهندسة النظم.
وقد تم تصميم جميع لغات الجيل الرابع من لغات البرمجة من أجل تقليل الجهود المبذولة في البرمجة، والوقت الذي يتم استغراقه في عملية تطوير البرمجيات، وتكلفة تطويرها أيضا. وفي كثير من الأحيان لم تنجح هذه المهمة، وفي بعض الأحيان تكون الشفرة غير منظمة وليس لديها القدرة علي البقاء. ومع ذلك ونظرا للمشكلة الحقيقة، فإن استخدام جيل رابع مناسب من لغات البرمجة يمكن أن يؤدي إلي نجاح مذهل كما رأينا في لغة البرمجة «مارك الرابع» (MARK-IV) ونظام إدارة قواعد البيانات «مابر» (MAPPER). وقد سمحت التحسينات في قابلية الاستخدام التي يتحصل عليها من خلال بعض لغات الجيل الرابع من لغات البرمجة (وبيئاتها أيضا) ببحث أفضل من أجل استكشاف حلول تجريبية أكثر من ما حقق الجيل الثالث من لغات البرمجة.
وقد قام كابيرز جونز بوضع تعريف كمي للجيل الرابع من لغات البرمجة كجزء من عمله على تحليل النقاط الوظيفية. كما قام جونز بتعريف أجيال متنوعة من لغات البرمجة من ناحية إنتاجية المطور. والتي يتم قياسها بالنقاط الوظيفية للعاملين كل شهر. هذا وقد تم تعريف الجيل الرابع من لغات البرمجة علي أنه لغة تدعم 12-20 FP/SM. وهذا يرتبط بحوالي 16-27 خط من خطوط الشفرة لكل نقطة وظيفية يتم تنفيذها في الجيل الرابع من لغات البرمجة. وغالبا ما تمت مقارنة الجيل الرابع من لغات البرمجة مع لغات البرمجة المختصة المجال DSLs. وقد أفاد بعض الباحثين أن الجيل الرابع من لغات البرمجة هو فرع من لغات البرمجة المختصة المجال ونظرا لاستمرار لغة تجميع حتى الآن، في بيئات تطوير متقدمة (مايكروسوفت ستوديو)، توقع أحدهم أن هذا النظام عبارة عن مزيج من جميع الأجيال، مع استخدام محدود للغاية للجيل الأول منها.

## التاريخ

على الرغم من استخدامه سابقا في الأوراق والمناقشات، فقد استُخدم مصطلح الجيل الرابع من لغات البرمجة رسميا لأول مرة من قبل جيمس مارتن في كتابه في عام 1982 تحت عنوان تطوير التطبيقات بدون مبرمجين(Application Development Without Programmers) بهدف الإشارة إلي لغات التوصيف عالية المستوي والغير إجرائية. وبطريقة بسيطة إلى حد ما، يمكن وصف لغة البرمجة RPG لآي بي إم (1960) علي أنها أول لغة برمجة من لغات الجيل الرابع التي تبعها مباشرة غيرها من اللغات، مثل لغة MARK-IV من شركة Informatics في عام (1967) ونظام مابر MAPPER من شركة Sperry (للاستخدام المحلي عام 1969، وتم اًصداره في عام 1979). تعددت الدوافع الكامنة وراء إنشاء الجيل الرابع من لغات البرمجة والاهتمام المستمر به. ويمكن أن يسري هذا المصطلح على العديد من منتجات البرمجيات. كما يمكن أن يسري علي النهج الذي يبحث عن خصائص دلالية وقوة تنفيذ أفضل. وكما قدم الجيل الثالث من لغات البرمجة قوة أكبر للمبرمج، فكذلك فتح الجيل الرابع من لغات البرمجة بيئة التطوير لعدد كبير من المبرمجين.
بمعنى أو بآخر، فإن الجيل الرابع من لغات البرمجة يعد مثال علي معالجة صندوق أسود (سبرانية) وكل جيل (بنفس المعني الوارد في الصفحة) هو أبعد من الآلة (انظر تاريخ علوم الحاسب الآلي فيما يخص تحسينات بنية البيانات وإخفاء المعلومات). إنها تلك الطبيعة الأخيرة المرتبطة مباشرة بالجيل الرابع من لغات البرمجة التي لديها أخطاء، في كثير من الحالات يصعب تصحيحها. ومن حيث التطبيقات فيمكن أن يكون الجيل الرابع من لغات البرمجة مستخدما في مجال الأعمال أو يمكن أن يتعامل مع المجال التقني. بمنأى عن أن الآلة تنطوي على كونها أقرب إلي المجال. ونظرا للتفاوت الكبير للمفاهيم والأساليب عبر المجالات، فإن قيود الجيل الرابع من لغات البرمجة تدفعنا إلى الاعتراف باحتياجنا إلى الجيل الخامس من لغات البرمجة.
وقد اعتمد مخطط الإدخال الأول للجيل الرابع من لغات البرمجة على الإدخال المدعوم للبيانات في حدود 72 حرف للبطاقات المثقبة (8 بايت مستخدمة في التسلسل) حيث يمكن للبطاقة التعرف علي النوع أو الوظيفة. ومع الاستخدام الحكيم لعدد قليل من البطاقات، يمكن لسطح الجيل الرابع من لغات البرمجة تقديم مجموعة كبيرة من إمكانات المعالجة وإعداد التقارير حيث أن الوظيفية المعادلة والمشفرة في الجيل الثالث من لغات البرمجة يمكن أن تصنف على أنها صندوق كامل أو عدد من البطاقات. الاستعارة ذات 72 حرف التي استمرت لفترة من الوقت كجهاز تم تطويره إلى ذاكرة أكبر وواجهات طرفية. حتى مع هذه الحدود، فإن هذا النهج قد دعم تطبيقات على درجة عالية من التعقيد. ونظرا لتحسن الواجهات والسماح بأطوال عبارات أكثر طولا ومعالجة إدخال قواعد نحوية موجه، فقد تلا ذلك قوة أكبر. وتم شرح مثال على ذلك في الصفحة المرتحلة. وهناك مثال آخر علي القوة المرتحلة شرحه نيكولاس رولينغز في تعليقاته لمتحف تاريخ علم الحاسوب حول نظام NCSS (انظر الاقتباس أدناه). وذكر أن جيمس مارتن طلب من رولينجز حلا للمشاكل القياسية والتي سماها مارتن بمشاكل المهندس: «عن طريق منح زيادة 6% للمهندسين الذين بلغت معدلات تقييمهم متوسط 7 أو أفضل» وقد قام مارتن بتقديم «الكثير من الصفحات حول لغة البرمجة كوبول وبعد ذلك صفحة أو صفحتان عن مارك الرابع MARK IV، من شركة Informatics.» وقد قام رولينجز بتقديم العبارة المفردة الأتية، ونفذ عملية ضبط خلال زمن "set-at-a-time".
وقد تأثر تطوير الجيل الرابع من لغات البرمجة بعدة عوامل، فضلا عن قيود الأجهزة ونظام التشغيل التي تتمتع بوزن كبير. وعندما تم إنتاج الجيل الرابع من لغات البرمجة لأول مرة، عمل مزيج متباين من الأجهزة ونظم التشغيل على تعديل دعم تطوير التطبيقات التي كانت مخصصة للنظام بهدف دعم وضمان المبيعات. أحد الأمثلة هو نظام مابر (MAPPER) والذي طورته شركة سبيري (Sperry). رغم أن له جذور تعود إلي البداية، وقد أثبت النظام نجاحه في العديد من التطبيقات وتم نقله إلي المنصات الحديثة. وتم دمج الاختلاف الأخير في عرض خادم معلومات الأعمال BIS لشركة يونيسيس. وحاليا يعرف مارك الرابع (MARK IV) بباني الرؤية (VISION-BUILDER) وتقدمه شركات حاسب آلي زميلة. أما السكة الحديد «سانتا في» فتستخدم مابر من أجل تطوير نظام، في مشروع كان يعد من أوائل الأمثلة علي الجيل الرابع من لغات البرمجة. النماذج الأولية السريعة، والبرمجة من خلال المستخدمين. والمسألة تكمن في سهولة تعليم خبراء السكة الحديد استخدام مابر من تعليم المبرمجين (تعقيدات عمليات السكة الحديد). تعد راميز (Ramis) إحدى اللغات الأولى (والمحمولة) التي تتمتع بخصائص الجيل الرابع من لغات البرمجة والتي قام بتطويرها جيرلاند سي كوهين في ماثيماتيكا Mathematica، شركة برمجيات مختصة بعلم الرياضيات.
وقام كوهن بترك ماثيماتيكا وأسس إنفورماشن بلدر Information Builders من أجل إنشاء لغة برمجة مشابهة من الجيل الرابع تتولى إعداد التقارير، وتدعى فوكس (Focus). وترتبط الأنواع الحديثة من لغات الجيل الرابع من لغات البرمجة بنظام قاعدة بيانات وتختلف كثيرا عن الأنواع الأولى من حيث استخدامها لتقنيات ومصادر نتجت عن التحسن العام للمعالجة بمرور الوقت. وتمثل التحول المدهش إلى مشهد الجيل الرابع من لغات البرمجة في إدراك أن الواجهات الرسومية والاستنتاجات ذات الصلة التي تمت بواسطة نموذج المستخدم (اللغة) الذي يصعب فهمه.

## الأنواع

A number of different types of 4GLs exist:
* Table-driven (codeless) programming,
هناك العديد من الأنواع المختلفة من لغات برمجة الجيل الرابع الموجودة حاليا:
- برمجة (بدون شفرة) بجدول تشغيل، عادة ما تعمل بإطار زمن تشغيل ومكتبات. وبديلا عن استخدام الشفرة، يقوم المطور بتعريف المنطق الخاص به من خلال اختيار عملية من قائمة محددة مسبقا من ذاكرة أو جدول بيانات أوامر معالجة. وبعبارات أخرى، كبديل عن الشفرة، يقوم المطور باستخدام برمجة خوارزمية بجدول توجيه (انظر أيضا جداول التحكم التي يمكن أن تستخدم في مثل هذه الأغراض). ومثال جيد علي هذا النوع من لغات الجيل الرابع من لغات البرمجة هو (E DEVELOPER). يمكن استخدام هذا النوع من الأدوات في تطوير تطبيقات الأعمال والتي عادة ما تتكون من حزمة تسمح لكل من معالجة بيانات الأعمال وإعداد التقارير، وبالتالي تأتي مع شاشات واجهة المستخدم الرسومية (GUI) وأدوات تحرير التقارير. وعادة ما تقدم دمج بقوائم ربط بيانات ذات مستوى منخفض تصدر من لغة برمجة نمطية تنتمي إلى الجيل الثالث من لغات البرمجة وذلك عندما زادت الحاجة إلى المزيد من الأجهزة وعمليات نظم التشغيل المحددة.
- تتخذ لغات البرمجة المولدة – للتقارير وصفا لتنسيق البيانات والتقارير من أجل توليدها ومن ذلك فإنها إما أن تولد التقرير المطلوب مباشرة أو يتم توليد برنامج لتوليد التقرير. انظر أيضا لغة البرمجة RPG.
- وبالمثل، تدير مولدات النماذج التفعالات على الإنترنت مع مستخدمي نظام التطبيق أو تولد برامج لعمل ذلك.
- وتحاول لغات البرمجة الأكثر طموحا التي تنتمي إلى الجيل الرابع (تسمى أحيانا بيئات الجيل الرابع) أن تولد النظام بأكمله بشكل ذاتي من مخرجات أدوات CASE، مواصفات الشاشات والتقارير، فضلا عن مواصفات بعض عمليات منطق المعالجة الإضافية.
- تعمل إدارة البيانات الجيل الرابع من لغات البرمجة مثل SAS، SPSS وStata على توفير أوامر تشفير معقدة من أجل معالجة البيانات، إعادة تشكيل ملف، واختيار الحالة وتوثيق البيانات خلال عملية إعداد البيانات من أجل إحصاءوهو التحليل الإحصائي وإعداد التقارير.
تتمتع بعض لغات برمجة الجيل الرابع بأدوات مدمجة والتي تسمح بالتوصيف اليسير لكافة المعلومات المطلوبة:
- وقد تم تحويل منهج تطوير نظم هندسة المعلومات الذي يملكه جميس مارتن إلى نظام آلي بهدف السماح بإدخال نتائج تحليل النظم والتصميم في شكل مخططات تدفق بيانات، ومخططات علاقة الكيان، ومخططات تاريخ حياة الكيان، الخ والتي يمكن أن تتولد منها مئات الآلاف من خطوط لغة كوبول (COBOL) في الليلة. - في الآونة الأخيرة: يمكن دمج حزمة مطوري أوركل ومصمم أوراكل بشركة أوراكل ومنتجات الجيل الرابع من لغات البرمجة لإنتاج تعريفات قاعدة بيانات وأشكال وبرامج إعداد التقارير.

## بعض لغات الجيل الرابع
### الاستخدام العام / التنوع

* كليبر
* كيوكومبر
* كونيوس باور هاوس - الجيل الرابع من لغات البرمجة
* داتافليكس
* ديكوفري ماشين موديلير
* فورتي تول (لغة موجهة شيئية خاصة بالأعمال)
* فوكسبرو
* لغة جيل المؤسسات (EGL) لآي بي إم
* ليسيا كوريكس - الجيل الرابع من لغات البرمجة
* بينثر
* باوربلدر
* شيرباور - الجيل الرابع من لغات البرمجة (ميكروسوفت أوفس فقط)
* إس كيو إل ويندوز/ تيم ديفيلوبر
* آب! الجيل الخامس من لغات البرمجة
* يونيفيس (لغة برمجة)
* فيجوال داتافليكس
* وينديف
* إكسبيز++

### قواعد بيانات لغات استعلام

* فوكس
* جينيرو
* إنفورمكس - الجيل الرابع من لغات البرمجة
* ليسيا كوريكس - الجيل الرابع من لغات البرمجة
* ناتورال
* بروجرس - الجيل الرابع من لغات البرمجة
* انجرس - الجيل الرابع من لغات البرمجة
* إس كيو إل

### مولدات تقارير

* بيلد بروفيشونال
* جي أي إم بيز
* آي دي إل- بي في/ ويف
* مجمع شبكة المعلومات والمنطق LINC
* ناتورال
* تقارير أوركل
* بروجريس - الجيل الرابع من لغات البرمجة نتائج/ استعلام
* كويست
* ريبورت بلدر
* لغة البرمجة RPG-II

### لغات معالجة البيانات وتحليلها وإصدار تقارير

* أب إينيشيو
* أباب
* أوبت – الجيل الرابع من لغات البرمجة
* لغة أوامر المراجعة
* لغة البرمجة كلاريون
* كورفيجن
* كولبريت
* أي دي إس/ أون لاين (بالإضافة إلى معالجة العمليات)
* دي أي إس إل
* إيزيتريف
* فوكس
* آي دي إل
* إجرو برو
* إنفورمكس – الجيل الرابع من لغات البرمجة
* لانسا
* لابفيو
* مابر (يونيسي/ سبيرّي) حاليا جزء من بي آي إس
* مارك الرابع (ستيرلينج/ إنفورماتكس) حاليا فيجن: بلدر لسي أي
* ماثيماتيكا
* ماتلاب
* ناتورال
* نوماد
* بي إل/ إس كيو إل
* بروجريس الجيل الرابع
* برويف
* ليسيا هيرميس كويركس الجيل الرابع
* آر
* راميز
* إس
* شيلاب
* إس أي إس
* إس بي إس إس
* ستاتا
* ساينون
* إكس بيز++
* إس كيو آر
* إكس كويري متوافق ارتجاعيا مع إس كيو إل ومتوافق إلى الأمام مع مصادر بيانات إكس إم إل

### لغات انسياب البيانات

* أي بي أي
* أي في إس
* إريس إكسبلورير

### تطوير تطبيق واجهة المستخدم الرسومية بتوجيه قاعدة بيانات

* نظام طلب عمل
* جينيكساس
* إس بي/ سيستم بلدر
* بروجرس دايناميك
* يونيفيس

### مولدات وراسمات الشاشات

* فورجين أدوات كيس من أجل تطوير التطبيق السريع عن طريق جيلاني
* إس بي+/ سيستم بلدر
* نماذج أوركل
* بروجريس الجيل الرابع بروفيجن
* يونيفاي أكسيل

### منشئ واجهة المستخدم الرسومية

* البعد الرابع (برمجيات)
* المطور الإلكتروني
* دليل ماتلاب
* استوديو أومنيس
* أوبنرود
* بروجرس الجيل الرابع آببلدر
* لغة برمجة الدوران
* اسكلبتور – الجيل الرابع من لغات البرمجة
* إكس يو إل يمكن استخدامها مع إكس كويري من أجل إنشاء تطبيقات قاعدة بيانات واجهة المستخدم الرسومية

### التحسين الرياضي

* نظام وضع نماذج متعددة الأبعاد تفعالية متقدمة AIMMS
* لغة برمجة رياضية AMPL
* نظام وضع نماذج جبرية عامة GAMS

### لغات تطوير الويب

* كولدفيوجن
* ويفميكر منصة تطوير تقوم على متصفح، مفتوحة المصدر من أجل تطوير أجاكس بناء على دوجو، سبرينج، هايبرنات.
* آوت سيستيمز

## انظر أيضا

* تطوير تطبيقات سريع

## مراجع

* ↑ Appgen Collaborative Commerce Platform نسخة محفوظة 20 مارس 2013 على موقع واي باك مشين.
* ↑ 35th Hawaii International Conference on System Sciences - 1002 Domain-Specific Languages for Software Engineering نسخة محفوظة 14 يوليو 2017 على موقع واي باك مشين.
* ↑ Arie van Deursen (1998). "Domain-Specific Languages:An Annotated Bibliography". مؤرشف من الأصل في 2012-05-02. اطلع عليه بتاريخ 2009-03-15. {{استشهاد ويب}}: الوسيط غير المعروف |مؤلفين مشاركين= تم تجاهله يقترح استخدام |authors= (مساعدة)
* ↑ جيمس مارتن (عالم). Application Development Without Programmers. Prentice-Hall, 1981. ISBN 0-13-038943-9.
* ↑ Columbia University Computing History: IBM Cards نسخة محفوظة 13 مايو 2011 على موقع واي باك مشين.
* ↑ يونيسيس. Business Information Server (BIS). نسخة محفوظة 14 سبتمبر 2009 على موقع واي باك مشين.
* ↑ Louis Schlueter, User-Designed Computing: The Next Generation, 1988. [book on report generator and MAPPER systems]
* ↑ McNurlin & Sprague. Technologies for Developing Systems Information Systems Management in Practice. Prentice Hall, 2003. ISBN 0-13-101139-1 "نسخة مؤرشفة". مؤرشف من الأصل في 2020-05-31. اطلع عليه بتاريخ 2020-05-31.{{استشهاد ويب}}: صيانة الاستشهاد: BOT: original URL status unknown (link)
* بوابة علم الحاسوب
* بوابة تقانة
* بوابة برمجة الحاسوب