التصنيف العام
طرق التصنيف
لغات البرمجة كثيرة جدًا يصعب إحصاؤها إلا أن المستخدم والشائع منها ليس بالكثير, مع هذا يمكننا أن نصنفها إلى أقسام رئيسية بطريقتين:
1- بالاعتماد على قربها وبعدها من لغة الآلة
2- بالاعتماد على طريقة تحويل السطر البرمجي إلى لغة يستطيع الحاسوب فهمها
التصنيف بالاعتماد على القرب والبعد من لغة الآلة
1- لغات عالية المستوى: وهي اللغات التي يكون النص البرمجي فيها أقرب إلى لغة البشر, سهلة القراءة والبرمجة, إلا أنها بعيدة من أجزاء الحاسوب الأساسية فلا يمكنها - بشكل مباشر - التعديل على الذاكرة العشوائية للكمبيوتر أو القطع المادية, كما أنها تعاني من كونها أبطأ نسبيًا من اللغات منخفضة المستوى
2- لغات منخفضة المستوى: وهي اللغات التي يكون النص البرمجي فيها أقرب إلى لغة الآلة, صعب القراءة نسبيًا, إلا أنها يمكنها مباشرة جميع أجزاء الحاسوب بلا عوائق وتكون في العادة أكثر سرعةً من اللغات عالية المستوى
مثال
فيما يلي مثال لطباعة جملة ترحيبية بلغة بايثون ( وهي لغة عالية المستوى ), قم بمقارنته بنفس الأمر لو كان بلغة التجميع الموجودة في الدرس السابق.
print("Hello World")
التصنيف بالاعتماد على طريقة الترجمة
1- لغات مجمّعة: يقوم الحاسوب بجمع البرنامج كله وتحويله مرةً واحدة إلى ملف بلغة الآلة.عند تشغيل هذا الملف يقوم الحاسوب بقراءة ملف يتكون من 0 و 1 يمكن له قراءتها بسهولة وبسرعة
2- لغات مترجمة: يقوم الحاسوب بعد فتح البرنامج بقراءته سطرًا تلو الآخر وتحويل كل سطر إلى لغة الآلة
النتيجة: قد تظهر طريقة العمل متشابهة في الحالتين إلا أنها تختلف اختلافًا كبيرًا وذلك في عدة وجوه من أبرزها:
-
إذا غيرت سطرًا واحدًا في البرنامج المجمّع, يجب عليك انتظار الحاسوب ليبني البرنامج كله ويجمعه مرة أخرى مما يجعل التغييرات الطفيفة تأخذ وقتًا كبيرا. أما في البرنامج المترجم, سيقوم الحاسوب بإعادة بناء السطر الذي تغير فقط مع إبقاء باقي الأجزاء.
-
السرعة: بما أن اللغات المجمّعة تنتج ملف نهائي مكتوب بلغة الآلة, سيكون تشغيل البرنامج للمرة الثانية بعد بناءه فوريًا وسريعًا, أما في اللغات المترجمة فيجب على الحاسوب أن يترجم الأوامر سطرًا بعد الآخر في كل مرة تقوم بتشغيل البرنامج بها.
إذن: لكل نوع فائدة واستخدام خاص ويعتمد اختيار اللغة المناسبة على الاستخدام المراد والسرعة المطلوبة والبساطة والتعقيد للبرنامج
ساهم