مفهومي وقت الترجمة ووقت التشغيل للبرامج:
في مصطلحات الكمبيوتر، يُشار إلى وقت الترجمة (compile time)، على أنه الوقت اللازم للبرنامج لتجميع (compile) البرنامج باتباع بعض العمليات، حيث يقوم المترجم (compiler) بإتباع هذه العمليات، وتتم هذه العمليات من أجل تحويل الكود المكتوب بلغة برمجة معينة بحيث يمكن تحويله إلى لغة الآلة المقابلة.
على سبيل المثال، افترض فقط أنه سيتعين عليك جمع الكثير من المتطلبات، وأن الأشخاص الذين يجب أن تجمعهم هم من مناطق ديموغرافية مختلفة، كل منهم قادر على فهم لغته الأم فقط، ومن ثم يجب تحويل كل هذه اللغات إلى لغة يمكنك فهمها بحيث تكتمل مجموعة العناصر لبدء المشروع بدون أي مانع.
هناك حقيقة مثيرة للاهتمام حول وقت التشغيل (Runtime time)، وهي أنه منذ فترة طويلة، أصر الكُتاب التقنيون على كتابة شيء مثل (عند تشغيل برنامج)، وبسبب التكرار المستمر لهذه العبارة، ظهر مصطلح جديد هو كلمة “وقت التشغيل” وأصبح شائعاً، لذلك، عند قول كلمة وقت التشغيل (Runtime time)، تتم عادةً الإشارة إلى وقت تشغيل البرنامج (أي وقت تنفيذ أسطر الكود).
وفي دورة حياة البرنامج، يُعرف إجمالي الوقت التشغيل من اللحظة التي يبدأ فيها تنفيذ السطر الأول من كود البرنامج في الذاكرة، حتى إنهاء البرنامج بواسطة المستخدم أو نظام التشغيل بشكل أساسي باسم وقت التشغيل.
جدول المقارنة بين وقت الترجمة ووقت التشغيل:
النوع | وقت الترجمة | وقت التشغيل | |
1. | متى يبدأ الوقت؟ | يحدث عندما يتم ترجمة الكود، من لغة برمجة إلى لغة تفهمها الآلة. | يحدث هذا عندما يتم تشغيل الكود في بيئة ووقت التشغيل، ويبدأ من وقت بدء تنفيذ الكود البرمجي حتى النقطة التي يتم فيها إيقاف الكود بواسطة المستخدم أو نظام التشغيل. |
2. | أين يأتي في التسلسل الزمني لعمل الكود؟ | يحدث هذا في وقت مبكر في تطوير البرنامج (فوقت الترجمة هو الوقت الذي يتم قياسه عندما يتم تحويل الكود إلى لغة مفهومة آليًا ومن هناك يتم تنفيذ الكود، لذلك إذا كان علينا وضع التسلسل الزمني، فسيتم حساب وقت الترجمة أولاً، ثم وقت التشغيل). | بعد اكتمال تطوير البرنامج، يأتي وقت التشغيل، عند تنفيذ الكود في بيئة التشغيل. |
3. | تعدد الأشكال Polymorphism | يتم فهم الكود والتحقق من (object) الذي يستدعي الدالة. | الكود غير قادر على فهم أي (object) يستدعي الدالة، ويتم تجميع الكود دون معرفة تلك المعلومات. |
4. | أنواع الأخطاء التي يتم اكتشافها | تشير هذه الأخطاء إلى صيغ خاطئة في بناء جملة البرمجية (syntax)، أو دلالات (semantics). مثل: عدم وضع (;)، نهاية جملة التعريف (int a)، في لغة ++c. | هذه الأخطاء هي إشارة إلى أخطاء في تنفيذ التعليمات البرمجية في بيئة وقت التشغيل. مثل: القسمة على صفر. |
5. | اكتشاف الأخطاء | يمكن اكتشاف أخطاء (“syntax” أو “semantics”) أثناء تطوير البرنامج. | قد تظهر أخطاء التنفيذ عند تشغيل الكود في بيئة وقت التشغيل حتى لو مر في. |
6. | إصلاح الأخطاء | يمكن إصلاح أخطاء (“syntax” أو “semantics”) أثناء تطوير الكود نفسه، ولن يسمح المترجم بتشغيل البرنامج حتى تتم إزالة جميع الأخطاء من البرنامج. | يصعب تفسير أخطاء التنفيذ أثناء التطوير، ولا يمكن إصلاحها إلا عندما تبدأ في الظهور في وقت التشغيل الكود. |