تفاوت مهم Compiler ها , Interpreter ها در ساختن کد ماشین است .
در حقیقت کامپایلر ها ابتدا سورس کد رو میخونند و سپس اون رو به کد ماشین تبدیل میکنند که البته این کد ماشین هنوز قابل اجرا نیست . سپس این کد به یک کد قابل اجرا تبدیل میشه .
در مورد مفسر ها (Interpreter) متفاوت است . اونها سورس کد رو میخونند و همون رو اجرا میکنند .بدون اینکه به ماشین کد ترجمه کنند .
به طور خلاصه در کامپایلر ها این ماشین کد هست که اجرا میشه ولی در مفسرها خود سورس کد .
همین تفاوت یک مساله دیگه رو هم روشن میکنه :
کامپایلر ها میتونند فایل های خروجی قابل اجرا تولید کنند که بدون وجود کامپایلر مربوطه قابل استفاده میباشند . مثلا همین فایلهای exe . اما مفسرها چنین خروجی ندارند و برای اجرای سورس کد آنها (Script) ، نیاز هست که خود مفسر هم وجود داشته باشد .
البته این رو هم یادم رفت بگم که مفسر ها هم باهم تفاوتهایی دارند :
بعضی هاشون در همون موقع خوندن اجرا هم میکنند ولی بعضی دیگه اول همه اسکریپت رو کامل میخونند و بعد اجرا میکنند .