تفاوت کامپایلر و مفسر
ببینید یک کامپایلر compiler به نوعی یک «مترجم» است که زبان برنامه نویسی (مثلا زبان های C و C++) را به زبان ماشین تبدیل می کند.
در تضاد با کامپایلر، یک مفسر interpreter یک «برنامه» است که دقیقا یک زبان رو نسبت به زبان سورس تقلید می کنه. یعنی مثلا اگه شما یک کد به زبان پایتون بنویسید، کد شما با هر منطقی که داره به ساختار و سینتکس خود سورس زبان پایتون اجرا میشه و فرایند تبدیل به زبان دیگه ای برای رسیدن به خروجی در این پروسه طی نمیشه. (مثلا زبان های Python، Perl و Matlab)
نکات جالب در مورد کامپایلرها و مفسرها
-
وقتی یک برنامه کامپایل میشه، دیگه سورس کدش (یعنی سورس همون برنامه) برای اجرای اون برنامه اهمیتی نداره. چون درواقع سورس به زبان ماشین ترجمه شده و برای اجرا از همون استفاده میشه. ولی برای برنامه هایی که با مفسر اجرا میشن، سورس برنامه توی اجرا الزامیه و هر سری از سورس برنامه استفاده میشه.
-
به طور کلی، برنامه هایی که کامپایلر-محور هستند سریع تر از برنامه هایی که مفسر-محور هستند اجرا میشن.
- زبان هایی مثل جاوا، در ابتدا به یک زبان/حالت سطح میانی کامپایل میشن، سپس با مفسر، تفسیر میشن.