اینفوگرافیک بررسی کامپایلر و مفسر

دستوراتی که به وسیله‌ی زبان‌های سطح بالا و اسمبلی نوشته می‌شوند برای کامپیوتر که زبان آن صفر و یک است قابل خواندن نیست؛ بنابراین در این میان نیاز به یک مترجم احساس می‌شود که بتواند دستورات وارد شده به زبان‌های سطح بالا را به زبان ماشین تبدیل کند.

کامپایلر مترجم زبان‌هایی مانند C ،JAVA و غیره است؛ شیوه عملکرد این مترجم به این گونه است که تمام کدهای نوشته شده توسط برنامه نویس را در انتهای کار ترجمه کرده و بصورت یک فایل درمی‌آورد و برای استفاده مجدد از آن برنامه، دیگر نیازی به کامپایلر نیست.

اما مفسر بصورت خط به خط به ترجمه کدها می‌پردازد و برای هر بار اجرای آن کد، نیاز به وجود یک مفسر است.





در مقایسه‌ی این دو مترجم می‌توان گفت زبان‌هایی که به‌وسیله‌ی کامپایلر ترجمه می‌شوند بر روی هر پلتفرمی قابل اجرا نیستند اما در عوض سرعت اجرای آن‌ها بیشتر است زیرا نیازی نیست با هر بار اجرای برنامه به ترجمه آن پرداخت؛ به این برنامه‌ها اصطلاحاً برنامه‌های وابسته به سیستم عامل گفته می‌شود. در مقابل برنامه‌هایی که به وسیله‌ی مفسر ترجمه می‌شوند برای هر بار اجرا نیاز به ترجمه مجدد دارند؛ این موضوع سرعت اجرای برنامه را پایین می‌آورد اما این برنامه در هر پلتفرمی اجرا می‌شود زیرا فقط وابسته به مفسرش است.

زبانی مانند C از کامپایلر برای ترجمه کدهای خود استفاده می‌کند به همین دلیل برای برنامه نویسی بیشتر نرم‌افزارها از این زبان استفاده می‌کنند؛ اما در وب که ممکن است هر لحظه نیاز به ایجاد تغییری در وبسایت باشد از زبان‌های مفسری مانند PHP استفاده می‌‌کنند که پس از هر تغییر مفسر مجدداً شروع به ترجمه خط به خط کدها می‌‌کند.


در اینفوگرافیک زیر بطور خلاصه به بررسی تفاوت‌های کامپایلر و مفسر پرداخته‌ایم.

اگر مایل هستید بیشتر با اصول و مبانی برنامه نویسی آشنا شوید؛ پست مبانی برنامه نویسی را به شما پیشنهاد می‌کنم.