لاشك ان البرمجة اصبحت مؤخرًا اهتمام الكثيرين , سنتحدث فى هذا المقال عن أنواع لغات البرمجة لتتمكن من فهم الفروقات بين لغات البرمجة ولتتمكن من تحديد اللغة الانسب لك ولمشروعك.
وقبل ذلك لنتعرف سريعًا على ماهى البرمجة , البرمجة ببساطة هى مجموعة من الاوامر الموجهة للكمبيوتر لتنفيذ مهمة معينة.
ويوجد الكثير من الانواع للغات البرمجة سنتحدث عنها بالتفصيل.
أنواع لغات البرمجة
يمكن تقسيم وتصنيف لغات البرمجة من وجهات نظر كثير كما سترى فى هذا المقال مثل المستوي والتنفيذ والاستخدام.
من حيث المستوى
يمكن تقيسم لغات البرمجة من حيث المستوي إلى كثير من الانواع مثل لغة الآلة او Machine language واللغات العالية المستوي او High Level Languages وغيرها.
وقبل الشروع فى سرد مستويات لغات البرمجة المختلفة نريد التحدث عن مصطلحين مهمين عند الحديث عن المستو.
وهو اللغات المختفضة المستوي او Low Level Language و اللغات العالية المستوي او High Level Languages وما معنى عالى ومنخفض فى المصطلحين.
اي لغة عمومًا يتم تحويلها فى النهاية إلى الصيغة الثنائية او Binary ليفهمها جهاز الكمبيوتر , لعلك تقول لماذا إذا لا نكتب باللغة الثنائية من البداية وبالتالى سيكون البرنامج افضل فى الاداء لانه ينفذ مباشرة.
الاجابة ببساطة لان لغة الالة او اللغة الثنائية صعبة فى كتابة البرامج من قبل الانسان فمجرد امر بسيط جدًا يحتاج إلى الكثير من السطور , فبالتالى لكتابة برنامج كبير ومعقد بهذه اللغة ستحتاج إلى وقت طويل جدًا جدًا وستجد صعوبة فى صيانة الكود وفى فهمه.
بالتالى نلجأ لكتابة الكود بلغة عالية المستو والقريبة من لغة البشر باستخدام كلمات مثل if للشرط و while للتكرار وهكذا ليكون البرنامج سهل التطوير من قبل الانسان.
لذلك لغة عالية المستوي المستوي تعنى انه كلما كانت اللغة اعلى فى المستوي كلما كانت اقرب من لغة البشر وتخفى الكثير من التفاصيل فى الكود باوامر بسيطة بالتالى تؤدى مهمات معقدة بكود بسيط.
مثال على برنامج بسيط لطباعة Hello World بلغة فورتران وهى لغة عالية المستوي.
program NewProgramF90 write(*,*) "Hello World" end program NewProgramF90
ونفس البرنامج باستخدام Assembly وهى لغة منخفضة المتسوي.
global _main extern _printf section .text _main: push message call _printf add esp, 4 ret message: db 'Hello, World', 10, 0
تصنيفات لغات البرمجة :
- لغة الآلة او Machine Language : هى التي يتم تفسيرها مباشرة في الأجهزة وهى لغة من 0 , 1.
- لغات التجميع Assembly languages : وهى لغة وسيطة بين لغة الآلة واللغات العليا.
- اللغات عالية المستوى : تلك اللغات التى تعمل على الاجهزة وتكون مستقلة عنه وسنتحدث عنها لاحقًا.
- لغات النظام System languages : هى التي تم تصميمها لكتابة البرامج على مستوى منخفض، مثل الذاكرة وإدارة العملية
- لغات السكربت Scripting languages : هى لغات عالية المستوي جدًا وتستخدم فى العمليات المعقدة وتكون قوية جدًا.
- لغات خاصة بنطاق معين Domain-specific languages : تستخدم في الأغراض الخاصة فقط.
- اللغات المرئية Visual languages : التي لا تستند إلى نص.