مصرف (حوسبة)
من ويكيبيديا، الموسوعة encyclopedia
المُصرِّف[1][2][3][4] أو البَرنامَج المُترجِم[3][5] أو المُترجِم[2] أو برنَامَج الترجَمة[6] أو البَرنامَج المُؤلِّف[5] (بالإنجليزية: Compiler) هو بَرنامَج حاسوبي يُحوّل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بِنية الحاسوب الذي يستهدفه البَرنامَج.[7]
صنف فرعي من | |
---|---|
الاستعمال | |
يدرسه | |
المنتجات | |
ممثلة بـ | |
النقيض |
على غير البدايات، حين كانت البرامج تُبرمج أصلًا بلغات منخفضة المستوى (أي قريبة من بِنية الحاسوب) يفهمها الحاسوب مباشرة، أصبحت الآن البرامج تبرمج بلغات عالية المستوى (عالية أي بعيدة عن فهم الحاسوب لها، وأقرب إلى فهم البشر)؛ لأن البرامج زادت في تعقيدها وفي حساباتها، مما جعل البرمجة المباشرة للحاسوب أمرًا صعبًا، وانتشار عدة بِنى للحاسوب (مثل ARM وx64 وx86) جعل من اللازم كتابة البرامج عدة مرات بلغات ذات مستويات متدنية عدة لكي تعمل على عدة حواسيب مختلفة. لمواجهة هذا ظهرت لغات برمجة عالية المستوى تركز على المهم من الأمور في البرمجة وتسهل من إدارة المشاريع البرمجية، وتجعل استهداف عدة أجهزة ممكنًا بملف مصدري واحد مهما تعددت البِنى (مع مراعاة بعض التفاصيل الصغيرة عند ذلك وضبطها).
والأسباب الرئيسة لذلك هي:
- بالمقارنة بلغة الآلة، فإن شكل لغات البرمجة عالية المستوى أقرب لطريقة تفكير الإنسان في حل المشكلات.
- يستطيع المترجم معرفة الأخطاء الواضحة في أثناء البرمجة.
- البرامج المكتوبة بلغات عالية المستوى تكون في الغالب أقصر من البرامج المناظرة لها والمكتوبة بلغة الآلة.
مِيزة أخرى في استخدام لغات البرمجة عالية المستوى أن نفس البرنامج المكتوب بها يمكن ترجمته إلى أنواع كثيرة من لغات الآلة لذا يمكن نقله إلى منصات كثيرة وأنواع كثيرة من الحواسيب.
من ناحية أخرى فان البرامج المكتوبة بلغة برمجة عالية المستوى تُترجَم تلقائيًا إلى لغة الآلة ربما تُنفّذ ببطء أكثر مما لو كتبت بلغة الآلة مباشرة. ومن هنا فإن بعض البرامج التي يُعد عامل الوقت والسرعة في التنفيذ مهم جدا بالنسبة لها ما زالت تكتب بلغة الآلة، ومع ذلك فإن المترجم الجيد يمكنه أن يصل بسرعة البرامج المكتوبة بلغة عالية المستوى إلى نفس سرعة تنفيذ البرامج المناظرة لها والمكتوبة بلغة الآلة إذا عمل الكثير من التحسينات الجيدة وكانت البرامج المكتوبة باللغة عالية المستوى مكتوبة بشكل جيد ومنظم.