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

استخدمت اللغة منذ القدم للتواصل والتفاھم بین الأشخاص ومع تقدم العلم ظھرت لغات البرمجة التي یفھم بھا الحاسوب طلب الإنسان.
ومع تطور عتاد الحاسب تطورت ھذه اللغات، ویوجد الیوم المئات من لغات البرمجة التي تختلف في أھدافھا ووظیفتھا، وقد مرت ھذه اللغات بمراحل طویلة من التطور حتى وصلت للشكل المتعارف علیه الیوم، وقد تم تنظیم ھذه المراحل في خمس أجیال تتمایز فیما بینھا بمستویات التجرید، حیث كل جیل یضیف مستوى تجرید متقدم عن سابقه.
ھذه الأجیال واللغات عادة ما تكون بسیطة وبرامج منخفضة المستوى كلما اقتربت من شكل لغة الآلة أو الحاسب وھي ”الأرقام الثنائیة“ بینما تكون عالیة المستوى كلما اقتربت من اللغة التي یستخدمھا الإنسان «اللغة الطبیعیة».

## الجیل الأول

الجيل الأول (1GL) لغة الآلة (بالإنجليزية: Machine Language)‏
یعتمد ھذا الجیل استعمال نظام العد الثنائي (0,1) لتمثیل الأوامر والعملیات الحسابیة والمنطقیة في الحاسوب الحدیث (الذي یدار بالطاقة الكھربائیة)، حیث أن الحاسب یفھم حالتین فقط وجود التیار (1) أو عدم وجوده (0). وتعرف الأوامر المكتوبة بنظام العد الثنائي بلغة الآلة. وفي البدایات البرمجیة كان على المبرمج كتابة البرنامج كاملاً مستخدما لغة الآلة، ولكن ھذه العملیة كانت صعبة ومرھقة وعرضة لكثیر من الأخطاء.

## الجیل الثاني

الجيل الثاني (2GL) لغة التجمیع (بالإنجليزية: Assembly language)‏
وھي لغة تختصر بعض العبارات والرموز المستخدمة ففیھا یتم استبدال الرموز الرقمیة في لغة الآلة بمجموعة من الكلمات الرمزیة «المختصرة» باستخدام اللغة الإنجلیزیة، واعتبرت ھذه اللغة قفزة عملاقة في عالم لغات البرمجة. بعض الامثلة: L for Load , A for Add, B for Brave C for comp

## الجیل الثالث

الجيل الثالث (3GL): اللغات عالیة المستوى الإجرائیة
على الرغم من التمیز الذي أظھرته لغات الجیل الثاني على لغة الآلة، إلا إنھا عانت بعض العقبات فالبرنامج المكتوب بلغة التجمیع معتمد على الآلة التي یتم تنفیذه علیھا ولا یمكن استخدامه على آلة أخرى، إلا بعد إعادة كتابته لیتلاءم مع تكوین ھذه الآلة الجدیدة، عقبة أخرى تتمثل في عملیة تصمیم البرنامج والذي یتطلب من المبرمج التفكیر بدقائق البرنامج جمیعھا وھذا یعني أن على المبرمج أن یبني البرنامج خطوة خطوة من مستوى أدنى لمستوى أعلى. بینما یكون التصمیم الأفضل فیما لو تم التفكیر به من مكونات كلّیة (major features) ومن ثم یتم تقسیم الكلیات لمكونات أكثر تفصیلا. اعتماداً على ھذه الفكرة تم التوجه نحو تطویر لغات برمجة تمكّن المبرمج من بناء برنامج معتمداً على النظرة الكلیة (high-level) ومن ثم تحویلھا لمكونات أدنى (low-level).
ونتج عن ذلك جیل ثالث من لغات البرمجة عرفت باسم لغات البرمجة عالیة المستوى واعتمدت ھذه اللغات على لغة الإنسان الطبیعیة - اللغة الإنجلیزیة - ورموز ریاضیة ومنطقیة معروفة.
ثم ظھرت اللغات الكائنیة التوجه بعد ظھور الویندوز وسمیت موجھة لأنھا توجه الحاسوب لعمل ما یقوم به خطوة خطوة دون الحاجة أیضاً لمعرفة التفاصیل.
ومن أمثلتھا لغة كوبول ومعظم اللغات الحدیثة تعتبر لغات غرضیة التوجه.
من أھم مزایا ھذا الجیل أنھا تمنح المبرمج وقت أكبر للتركیز على احتیاجات المستخدم وبالتالي یصمم برنامج یتوافق مع ھذه الاحتیاجات.

## الجیل الرابع

الجيل الرابع (4GL) اللغات عالیة المستوى الغیر إجرائیة الجیل الرابع سھل الاستخدام أكثر من الجیل الثالث وھو لغة لا تتطلب خطوات لإجرائھا. المبرمج یخبر الحاسب النتیجة المطلوب تحقیقھا بدلا من كیف یمكنه تحقیقھا. ولسھولتھا منحت المبرمج القدرة على تطویر البرامج أنواعھا:
* لغات الجداول الإلكترونیة.
* قواعد البیانـــــات
* اللغة الاستعلامیة: وھي أسلوب محدد لصیاغة عبارات استعلامیة والتي تتم بإدخالھا إلى النظام من خلال محطات استعلامیة في ھیئة أوامر یطلب استرجاع بیانات من ملف معین موجود في قواعد البیانات.
أیضا یستطیع المستخدم بواسطة اللغة الاستعلامیة طرح تساؤلات فیصل إلى إجابات فوریة.

## الجيل الخامس

الجيل الخامس (5GL) اللغات الطبيعية:(بالإنجليزية: Natural Language)‏
وهي لغات صممت لكي يقوم الحاسب بتنفيذ برامج بدون المبرمج ودون الحاجة لمعرفة كيف يتم كتابة الكود بالتفصيل، تستخدم هذه بشكل رئيسي في برامج الذكاء الصناعي وتتميز باهتمامها بالواجهة البينية بين المستخدم والكمبيوتر بحيث يمكن التعامل معها بالصوت والصورة واللغة البشرية، ويمكن اعتبار الفيجوال بيسك مثال بسيط عليها.
* بوابة برمجة الحاسوب