If you do not find what you're looking for, you can use more accurate words.
الحواسب الذكية والحديثة تعتبر جداً معقدة، ومن أجل برمجتها، يجب جرد العديد من الأفكار. على سبيل المثال، عوضاً عن الكتابة باللغة الثنائية وتمثيلها برمجياً, سيتطرق المبرمج بكتابة الكود البرمجي بإستخدام لغات مفهومة له مثل لغة سي, ولغة الجافا ولغة البايثون (C, Java, Python). أدوات أو مكونات البرمجة الأساسية التي قمنا بتعريفها سابقاً ستقوم بترجمة وتحويل هذه اللغات المستخدمة والمفهومة من قبل الإنسان إلى (bits & bytes) بحيث تمكن الحاسب نفسه من فهمها وقرائتها ثم بعد ذلك تشغيل أو تنفيذ المهام التي قام بطلبها المبرمج والمطور.
تؤدي هذه البرامج العديد من المهام المحددة والمكررة بشكل جيد والتي ستكون مضيعة للوقت ومعرضة للخطأ عند القيام بها من قبل الأفراد/المستخدمين، مثل وضع أجزاء من البرنامج في الذاكرة وتحديد المراجع بين أجزاء البرنامج كما يفعل الموصل. يمكن أن يؤدي تحسين برامج التحويل البرمجي من ناحية أخرى إلى إجراء تحويلات معقدة على التعليمات البرمجية المصدر لتحسين سرعة التنفيذ أو الخصائص الأخرى للبرنامج. يسمح هذا للمبرمج بالتركيز أكثر على الجوانب المفاهيمية العليا للبرنامج دون القلق بشأن تفاصيل الجهاز الذي يعمل عليه.
بسبب كمية التعقيد الكبيرة في أنظمة البرمجيات، من الصعب جداً المعرفة والإلمام التام بكافة عناصر وأدوات البرمجة حتى ولو كان هذا البرمج أو المطور خبير جداً ولديه خبرة متميزة. أيضاً, من الصعب جداَ فهم العلاقة الذي تدور وتتصل مابين مصادر السطور البرمجية الذي قد تم كتابتها بواسطة المبرمج وسلوك البرنامج نفسه. عندما يتم إنشاء برامج جديدة عبر المطورين، يحتمل وجود أخطاء برمجية, ومن أجل العثور على هذه الأخطاء من قبل البرمجين/المطورين، يتم استخدام أدوات برمجية أخرى لإستكشاف المزيد من المعلومات الأخرى عن البرامج المستخدمة.
على سبيل المثال، يسمح مصحح الأخطاء للمبرمج باستخراج معلومات حول برنامج قيد التشغيل من حيث اللغة المصدر المستخدمة في البرنامج. يمكن للمصحح حساب قيمة متغير في البرنامج المصدر من حالة الجهاز الملموسة باستخدام المعلومات المخزنة بواسطة برنامج التحويل البرمجي. يمكن أن تشير مصححات الذاكرة مباشرة إلى الوصول إلى الذاكرة الخاطئة المشكوك فيها أو الصريحة في تشغيل البرامج التي قد تظل غير مكتشفة، وهي مصدر شائع لفشل البرنامج.