http://www.elshami.com

programming language
لغة برمجة

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

وفي خلال الستينيات والسبعينيات من القرن العشرين ظهرت لغات كثيرة للبرمجة، بعضها لم يعد استخدامه شائعا في الوقت الحالي. وهناك بعض اللغات التي تقدم للمبرمجين أدوات جاهزة للبرمجة تساعدهم على التخلص من كتابة العديد من التعليمات (منها Visual Basic, Visual C++). ويستخدم الإنسان في كتابة هذه التعليمات قواعد معينة حسب طريقة تصميم لغة البرمجة التي يستخدمها. ثم يتم بعد ذلك نقل هذه التعليمات للجهاز عن طريق مجمع  compiler أو مفسر interpreter خاص بتلك اللغة وذلك لترجمة هذه التعليمات للآلة. والمجمع يقوم بترجمة البرنامج بأكمله مرة واحدة. وهو يترجم البرامج المكتوبة بإحدى لغات البرمجة العليا high-level programming language مثل لغة C or Pascal إلى لغة الآلة  machine langauge program. أما المفسر interpreter  فهو يتناول عبارات البرنامج statements بالترجمة والتفسير والتشغيل، واحدة بعد أخرى. والمجمعات أو المفسرات تحول النص الذي يكتبه المبرمج بإحدى لغات البرمجة والتي هي قريبة الشبه بلغة الإنسان الطبيعية إلى اللغة البدائية البسيطة (0/1) التي تفهمها دوائر الذاكرة بالكمبيوتر. فهي تعمل كجسر بين أسطر البرنامج والذاكرة التي يشتغل فيها البرنامج لتنفيذ التعليمات ثم تخرج النتائج في لغة الإنسان الراقية حتي يمكنه فهمها. ولقد صمم الكمبيوتر بحيث يمكنه تنفيذ تعليمات مصاغة فقط بلغة الآلة machine language  وهذه اللغة مكونة من فئة من أكواد التشغيل operation codes التي يمكن لوحدة المعالجة المركزية تنفيذها مباشرة. وتتكون التعليمة الواحدة في لغة الآلة من سلسلة من الأعداد تعتمد على التصميم المنطقي للكمبيوتر وقد تمثل بالنظام الثنائي أو النظام العشري أو النظام الثماني أو النظام السادس عشري أو أي نظام رقمي آخر. وأحد أجزاء التعليمة يقوم بتوجيه الكمبيوتر إلى ما يجب فعله من عمليات (طرح، جمع، ضرب، قسمة، مقارنة، ....) والأجزاء الأخرى تحيله إلى مكان البيانات التي سوف ينفذ عليها العمليات الحسابية والمنطقية وأين تخزن النتائج في وحدة الذاكرة.
وتسمى البرامج المكتوبة بلغة الآلة بالبرامج الفعلية object programs. ولقد أدى التطور والتقدم في طرق البرمجة إلى تطوير لغات التجميع assembly languages . وفي لغات التجميع تكتب التعليمات باستخدام أسماء رمزية symbolic names تمثل أكواد التشغيل وعناوين في الذاكرة. هذه الأسماء غالبا تكون مختصرة وسهلة التذكر. فمثلا الأمر ADD اختصار لعملية الجمع Addition، والأمر SUB اختصار لعملية الطرح Subtraction وهكذا. والبرنامج المكتوب بلغة التجميع يترجم إلى لغة الآلة قبل تنفيذه. وذلك لأن الآلة تستطيع تنفيذ التعليمات المكتوبة فقط بلغة الآلة. وعملية الترجمة تتم بواسطة الكمبيوتر بمساعدة مجمع لغة الأسمبلي  assembler  وهو برنامج مكتوب بلغة الآلة. وحيث أن لغة التجميع تستخدم أسماء رمزية فإنها سهلة البرمجة وإلى حد ما تمكن المبرمج من اكتشاف الأخطاء في البرنامج. وهي لغة دنيا  low-level language  مكتوبة لطراز معين من المعالجات المركزية  microprocessors،  مثل: Intel 8086 or 8088.

وقد أدت الحاجة إلى تطوير لغات برمجة لا تعتمد على الأجهزة التي تعمل عليها إلى تطوير لغات مستقلة عن الأجهزة Procedure Oriented Languages قريبة الصلة بمفردات العلم والهندسة والرياضيات وكذلك المستخدم. وهي تعكس بوضوح الطريقة المستخدمة لحل المشكلة وتسمح ببرمجة سهلة وإزالة سريعة للأخطاء، منها لغة  Visual Basic, Java and C

See also natural language