Amal2000 Amal's Album: Wall Photos

Photo 130 of 318 in Wall Photos

آليّة عمل لغات البرمجة عند الكتابة باستخدام لغة برمجة معيّنة، فيتم اللجوء إلى استخدام برنامج معيَّن يُسمّى بالمحوِّل البرمجي (بالإنجليزيّة: Compiler)، إذ يقوم هذا البرنامج بتحويل لغة البرمجة إلى لغة الآلة (بالإنجليزيّة: Machine code) التي يستطيع جهاز الحاسوب فهمها. يقوم المبرمج بكتابة الكود باستخدام أي برنامج لتحرير النصوص (بالإنجليزيّة: Text editor) على شكل مجموعة من العبارات، ومن ثمَّ يتم استخدام المحوِّل البرمجي المُخصَّص للغة البرمجة التي تمَّت الكتابة بها عن طريق تحديد اسم الملفّ الذي يحتوي الكود.[٣] يقوم المحوِّل البرمجي عند تشغيله بتحليل العبارات والتأكُّد من صحّة كتابتها، بعد ذلك يتمّ تحويل هذه الشيفرة إلى ما يُسمّى بملفّ كائن (بالإنجليزيّة: Object file)، وهو الذي يحتوي على مجموعة الأوامر المُصاغة بلغة الآلة، والتي يقوم جهاز الحاسوب بتنفيذها. قد تلي خطوة التحويل البرمجي خطوة إضافيّة وهي الدمج بين عدد من الملفّات الكائنة التي تعتمد على بعضها البعض، ومن ثمَّ إخراج ملفّ واحد قابل للتشغيل (بالإنجليزيّة: Executable)، وتُسمّى هذه الخطوة بالربط (بالإنجليزيّة: Linking).[٣][٤] من لغات البرمجة التي تعمل بالمبدأ المذكور نفسه هي لغة سي (بالإنجليزيّة: C)، ولغة سي بلس بلس (بالإنجليزيّة: ++C)، ولغة فورتران (بالإنجليزيّة: Fortran)، وسويفت (بالإنجليزيّة: Swift)، وغيرها.[٥] بعض لغات البرمجة تختلف من حيث آليّة العمل عمّا هو مذكور، ومن هذه اللغات لغة جافا (بالإنجليزيّة: Java)، إذ يتم تحويل الكود إلى أوامر معيّنة تُسمّى (بالإنجليزيّة: Bytecode)، وهذه الأوامر يمكن تنفيذها على أي جهاز حاسوب يحتوي على برنامج "الجهاز الافتراضي" (بالإنجليزيّة: Virtual machine) المُخصَّص لفهم هذه الأوامر وتحويلها إلى أوامر يمكن لجهاز الحاسوب الذي يتم تشغيل البرنامج عليه فهمها وتنفيذها.[٣] من اللغات البرمجيّة أيضاً ما يسمح بتنفيذ البرنامج بشكلٍ فوري دون الحاجة إلى تحويله باستخدام برنامج محوِّل برمجي، إذ يتم اللجوء إلى استخدام برنامج يُسمّى بالمُفسِّر (بالإنجليزيّة: Interpreter)، والذي يقوم بتحويل عبارات لغة البرمجة إلى أوامر وتنفيذها بشكلٍ فوري، وممّا يميِّز هذه النوع من أنواع لغات البرمجة هو قدرة إيقاف عمل البرنامج وهو قيد التنفيذ والتعديل عليه، والذي قد يكون بهدف تصحيح أخطاء معيّنة فيه (بالإنجليزيّة: Debugging)، ولكن هذه اللغات لا تمتاز بسرعة التنفيذ التي تمتاز بها لغات البرمجة التي تعتمد على التحويل البرمجي. من لغات البرمجة التي تعمل بالآليّة المذكورة هي لغة بايثون (بالإنجليزيّة: Python)، وبيرل (بالإنجليزيّة: Perl)، وجافاسكريبت (بالإنجليزيّة: Javascript)، ولغة المعالج المسبق للنصوص الفائقة (بالإنجليزيّة: PHP