لغات برمجة النظام

فئة لغات برمجة الحاسوب

لغات برمجة النظام -و التي تٌعرَف أيضاً بلغات التطبيقات- هي لغات البرمجة التي تستخدم التصحيح الوقتي لأخطاء النظام وهي تسمح بتجميع وتركيب البيانات اعتباطياً ويقصد منها أن تعمل على نطاق واسع ومنفصل عن البرامج الأخرى.[1][2][3] ومن لغات برمجة النظام النمطية اللغة (C) واللغة (Modula-2) وهذا المصطلح مشتقً من التقسيم الذي قام به جون أوستيروت للغات العليا إلى «لغات برمجة النظام» و «لغات الكتابة». وهذا التمييز يشار إليه عند أوستيروت بالانقسام: وهذا يؤسس لنموذجه للغة تي سي إل

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

و يعتقد البعض أن هذا التقسيم عشوائي إلى حدِ بعيد. ويطلقون عليه مغالطة أوستيروت أو تقسيم أوستيروت الخاطئ". وبينما يرى البعض أن كلاَ من "الكتابة الثابتة في مقابل الحركية" و "تعقيد محتوى البيانات" و "الاستقلالية في مقابل التعاون" هي سمات لا علاقة بينها، فإن معيار تقسيم أوستيروت المعتاد هو التمييز بين التجميع والشرح، حيث لا يعتمد أي من علم المعنى أو الإعراب بشكل ملحوظ على ما إذا كانت الشيفرة مجمعة في لغة الآلة أو مترجمة أو تم ترميزها أو جمعها على شكل بايت مع بداية كل تشغيل أو أي مزج من هؤلاء. ويمكن ترجمة العديد من اللغات أو تجميعها بناءَ على اللهجة أو المظهر (على سبيل المثال لغة ليسب ولغة فورث ولغة باسكال ولغة جافا). وهذا ما يجعل مبدأ التجميع في مقابل الترجمة معيارا مشكوكا فيه في تصنيف لغات البرمجة.

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

و الاسم «لغة برمجة النظام» والمعروف اختصاراَ بـ SPL يُطلَق أيضاً على لغة خاصة بسلسلة أجهزة الحاسب HP 3000 والتي تُستَخدَم في نظام تشغيلها المسمى النظام التنفيذي متعدد البرامج لحواسب HP وكذلك برامج الأنظمة الأخرى.

مراجع عدل

  1. ^ "C++ Applications". مؤرشف من الأصل في 2018-01-09.
  2. ^ Sammet، Jean (أكتوبر 1971). "Brief Survey of Languages Used for Systems Implementation". SCM SIGPLAN Notices. ج. 6 ع. 9: 1–19. DOI:10.1145/942596.807055. مؤرشف من الأصل في 2019-12-15.
  3. ^ "Go FAQ: Is Google using Go internally?". مؤرشف من الأصل في 2018-07-27. اطلع عليه بتاريخ 2013-11-15.

تستند هذة المقالة على مواد من قاموس الحوسبة المجاني على الانترنت، وهو ترخيص تحت رخصة جنو للوثائق الحرة.