لغات برمجة النظام -و التي تٌعرَف أيضاً بلغات التطبيقات- هي لغات البرمجة التي تستخدم التصحيح الوقتي لأخطاء النظام وهي تسمح بتجميع وتركيب البيانات اعتباطياً ويقصد منها أن تعمل على نطاق واسع ومنفصل عن البرامج الأخرى.[1][2][3] و من لغات برمجة النظام النمطية اللغة ( C ) و اللغة ( Modula-2 ) و هذا المصطلح مشتقً من التقسيم الذي قام به جون أوستيروت للغات العليا إلى "لغات برمجة النظام" و " لغات الكتابة". وهذا التمييز يشار إليه عند أوستيروت بالانقسام: و هذا يؤسس لنموذجه للغة تي سي إل
و على النقيض من ذلك فإن لغات الكتابة (أو "لغات الغراء") تكتب بشكل حيوي أو تمسح، ويتم تحويل البرامج المعدَة باستخدام هذه اللغات والمعروفة باسم المخطوطات أو تجميعها في صورة بايت. و تحتاج هذه اللغات المخطوطة للتعامل إما مع البرامج الأخرى ( مثل الغراء) أو مع مجموعة الوظائف التي يقدمها المبرمج كما في وظائف نظام الملفات المطروحة في بوتقة يونكس ووظائف واجهة البرامج الرسومية في لغة (تي سي إل) و لغات الكتابة النمطية هي لغة أبل و لغة سي شيل ولغة تجميع الملفات دوس و لغة تي سي إل.
و يعتقد البعض أن هذا التقسيم عشوائي إلى حدِ بعيد. و يطلقون عليه مغالطة أوستيروت أو تقسيم أوستيروت الخاطئ".و بينما يرى البعض أن كلاَ من "الكتابة الثابتة في مقابل الحركية" و "تعقيد محتوى البيانات" و "الاستقلالية في مقابل التعاون" هي سمات لا علاقة بينها، فإن معيار تقسيم أوستيروت المعتاد هو التمييز بين التجميع والشرح، حيث لا يعتمد أي من علم المعنى أو الإعراب بشكل ملحوظ على ما إذا كانت الشيفرة مجمعة في لغة الآلة أو مترجمة أو تم ترميزها أو جمعها على شكل بايت مع بداية كل تشغيل أو أي مزج من هؤلاء. و يمكن ترجمة العديد من اللغات أو تجميعها بناءَ على اللهجة أو المظهر (على سبيل المثال لغة ليسب و لغة فورث و لغة باسكال و لغة جافا). و هذا ما يجعل مبدأ التجميع في مقابل الترجمة معيارا مشكوكا فيه في تصنيف لغات البرمجة.
يستخدم مصطلح لغات برمجة النظام أيضاَ ( و ربما على نطاقِ أوسع) ليعني لغة لبرمجة النظام: بمعنى آخر لغة مصممة لكتابة برامج النظام كتمييزِ لها عن برامج التطبيقات. و على عكس لغات التطبيقات، فإن لغات برمجة النظام تلك تتيح وصولاَ مباشراَ إلى الأجهزة المادية للحاسب: و لغة برمجة النظام لهذا النمط هي BCPL. و مع انتشار شعبية اللغة سي و لغة باسكال أصبح الفرق بين لغات برمجة النظام ولغات برمجة التطبيقات غير واضح.
و الاسم "لغة برمجة النظام" و المعروف اختصاراَ بـ SPL يُطلَق أيضاً على لغة خاصة بسلسلة أجهزة الحاسب HP 3000 و التي تُستَخدَم في نظام تشغيلها المسمى النظام التنفيذي متعدد البرامج لحواسب HP و كذلك برامج الأنظمة الأخرى.
مقالات ذات صلة
مراجع
- "C++ Applications". مؤرشف من الأصل في 09 يناير 2018.
- Sammet, Jean (October 1971). "Brief Survey of Languages Used for Systems Implementation". SCM SIGPLAN Notices. 6 (9): 1–19. doi:10.1145/942596.807055. مؤرشف من الأصل في 15 ديسمبر 2019.
- "Go FAQ: Is Google using Go internally?". مؤرشف من الأصل في 27 يوليو 201815 نوفمبر 2013.
تستند هذة المقالة على مواد من قاموس الحوسبة المجاني على الانترنت، وهو ترخيص تحت رخصة جنو للوثائق الحرة.