| أنماط البرمجة |
| --- |
| * فعلية
* مصفوفية
* ذاتية
* متزامنة
	+ فاعلة
	+ كوريغرافية
	+ متعددة المستويات
	+ نسبية
	+ التزامن المنظم
* توجهية البيانات
* تعريفية (عَكسها: أمرية)
	+ وظيفية
		- وظيفية منطقية
		- وظيفية بحتة
	+ منطقية
		- منطقية تبادلية
		- مجموعة الإجابة
		- منطقية متزامنة
		- وظيفية منطقية
		- منطقية استقرائية
	+ قيدية 
		- منطقية تقييدية 
			* منطقية قيدية متزامنة
	+ نقل المُعطيات
		- تدفقية
		- تفاعلية 
			* تفاعلية وظيفية
	+ أنطولوجية  (أنظر: نطولوجية)
	+ إستعلامية
* تفاضلية
* ديناميكية/نصية
* مدفوعة بالحدث
* المستوى الوظيفي  (عَكسها: مستوى القيمة )
	+ ضمنية 
		- تسلسلية
* عامة
* أمرية (عَكسها: تعريفية)
	+ إجرائية
	+ كائنية التوجه
* مُتعمدة
* لغوية 
	+ مخصصة النطاق
* مُتعلمة
* اللغة الطبيعية
* وصفية
	+ تلقائية 
		- استقرائية
	+ إنعكاسية
		- وسمية
	+ ماكرو
	+ وصفية قالبية
* غير مُهيكلة  (عَكسها: مُهيكلة)
	+ مصفوفية
* غير حتمية
* متوازية  
	+ عملية
* احتمالية
* كمومية
* نظرية المجموعات
* مُكدسة 
	+ كُتلة مُهيكلة
	+ كائنية التوجه
		- موجهة للعميل
		- فصيلية
		- كائنية متزامنة
		- نموذجية
		- من خلال فصل الاهتمامات:
			* جانبية المنحى
			* دُورية
			* موضوعية
	+ تكرارية
* رمزية
* قيمية  (عَكسها: وظيفى )
 |
| * ع
* ن
* ت
 |

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

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

فعلى سبيل المقارنة، تعزل لغة البرمجة عالية المستوى دلالات التنفيذ في معمارية الحاسوب عن خصائص البرنامج مما يسهّل عملية التطوير، وتقسم اللغات منخفضة المستوى إلى قسمين: *الجيل الأول* و*الجيل الثاني*.

الجيل الأول
-----------

يعتبر الجيل الأول من لغة البرمجة أو ما يسمى بـ *1GL* أحد لغات الآلة، وهي اللغة الوحيدة التي بإمكان المعالج الدقيق معالجتها مباشرة دون الحاجة إلى تحويل مسبق. ولا يكتب المبرمجون في أيامنا هذه البرامج بلغة الآلة مباشرة وذلك لأن مثل هذا العمل يستلزم الاهتمام بتفاصيل عديدة تقوم اللغات عالية المستوى بعملها تلقائيا بالإضافة إلى البحث في الرموز العددية لكل تعليمة يتم استخدامها في كتابة البرنامج بلغة منخفضة المستوى وتذكرها أيضا، ولهذا السبب فإن الجيل الثاني من اللغات البرمجية يوفر مستوى تجريديا واحد على رأس لغة الآلة.

مثال: إحدى دوال لغة الآلة إكس 86 التي تعمل باستخدام 32 بت لحساب رتبة *ن* من متتالية فيبوناتشي:

```
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3

```

الجيل الثاني
------------

أما الجيل الثاني من لغة البرمجة أو *2GL* في اسم آخر، فهو ما يسمى بلغة التجميع. وتعتبر هذه اللغة إحدى لغات الجيل الثاني على الرغم من أنها لا تخص المعالج الدقيق بشكل خاص، فلا بد أن يكون المبرمج الذي يستخدم لغة التجميع على دراية بمعمارية المعالج الدقيق الفريدة (مثل السجلات والتعليمات)، حيث يتم تجميع هذه التعليمات البسيطة مباشرة إلى لغة الآلة. ويمكن تجريد شيفرة التجميع إلى طبقة أخرى بطريقة تشبه تلك المستخدمة في تجريد لغة الآلة إلى شيفرة التجميع.

مثال: نفس البرنامج المذكور سابقا والمستخدم في حساب متتالية فيبوناتشي، وقد كتب هذه المرة باستخدام لغة التجميع x86 باستخدام تركيب MASM.

```
fib:
 mov edx, [esp+8]
 cmp edx, 0
 ja @f
 mov eax, 0
 ret
 
 @@:
 cmp edx, 2
 ja @f
 mov eax, 1
 ret
 
 @@:
 push ebx
 mov ebx, 1
 mov ecx, 1
 
 @@:
 lea eax, [ebx+ecx]
 cmp edx, 3
 jbe @f
 mov ebx, ecx
 mov ecx, eax
 dec edx
 jmp @b
 
 @@:
 pop ebx
 ret

```

مراجع
-----

1. ↑  "معلومات عن لغة البرمجة منخفضة المستوى على موقع enciclopedia.cat". enciclopedia.cat. مؤرشف من الأصل في 2019-04-18.

انظر أيضا
---------

* لغة برمجة عالية المستوى
* لغة برمجة فائقة المستوى
* قائمة لغات البرمجة

| * ع
* ن
* ت
مواضيع لغة التجميع x86 |
| --- |
| مواضيع | 
* لغة تجميع
* مقارنة المجمعات
* المفكك
* مجموعة التعليمات
* لغة البرمجة منخفضة المستوى
* لغة الآلة
* المجمع الدقيق
* لغة تجميع x86

 |
| مجمعات x86 | 
* A86/A386
* FASM
* GAS
* HLA
* MASM
* NASM
* TASM
* WASM
* YASM

 |
| مسائل برمجية | 
* استدعاء المكدس
* الأعلام (علم الحمل
* علم الطفحان
* علم التصفير)
* كود العملية
* عداد البرنامج
* سجل المعالج
* اتفاقيات استدعاء x86
* قوائم تعليمات x86
* سجلات x86

 |

| * ع
* ن
* ت
أنواع لغات البرمجة |
| --- |
| النمط | 
* مُعتمد على الفاعل
* مصفوفية
* جانبية المنحى
* فصيلية
* تسلسلية
* متزامنة
* نقل المعطيات
* تصريحية
* تفاضلية
* مخصصة النطاق
* ديناميكية
* غير إعتيادية
* مدفوعة بالحدث
* قابلة للتوسع
* وظيفية
* أمرية
* منطقية
* ماكرو
* وصفية
* كائنية
* كائنية التوجه
* أنابيب التجزئة
* إجرائية
* نموذجية
* منعكسة
* قائم على القواعد
* نصية
* مُكدسة
* متزامنة
* لمسية
* قالبية

 |
| المُستوي | 
* التجميع
* مُجمعة
* مُفسرة
* الآلة

* منخفضة المستوى
* عالية المستوى
* فائقة المستوى

 |
| الجيل | 
* الأول
* الثاني
* الثالث
* الرابع
* الخامس

 |
| ذا صلة | 
* غير إنجليزية
* مرئية

 |

* أيقونة بوابةبوابة برمجة الحاسوب

|  |  |
| --- | --- |
| ضبط استنادي: وطنية عدلها في ويكي بيانات | 
* قاعدة البيانات الوطنية التشيكية (NLCR AUT)

 |