کامپایلر چیست؟
کامپایلر یک نرمافزار است که کد منبع برنامه را به زبان ماشین ترجمه میکند. به عبارت دیگر، کامپایلر برنامه نوشته شده توسط برنامهنویس را به زبان قابل فهم برای کامپیوتر تبدیل میکند. این فرآیند شامل چک کردن و اصلاح خطاهای نحوی و ساختاری در کد منبع نیز میشود. در نتیجه، فایل اجرایی ساخته شده توسط کامپایلر قابل اجراست و بدون نیاز به دستورات اضافی یا تفسیرگر، مستقیماً با سختافزار کامپیوتر اجرا میشود.
ویژگی های کامپایلر
1. تجزیه و تحلیل: کامپایلر برنامه را تجزیه و تحلیل می کند و ساختار آن را بررسی می کند.
2. بهینه سازی: کامپایلر بهینه سازی های لازم را برای بهبود عملکرد برنامه اعمال می کند.
3. تولید کد: کامپایلر بعد از تجزیه و بهینه سازی، کد ماشین قابل اجرا را از برنامه مبدأ تولید می کند.
4. پشتیبانی از زبان های مختلف: کامپایلر قادر است زبان های مختلف را پشتیبانی کند، از جمله C، C ++، Java و غیره.
5. خطایابی: در صورت وجود خطا در برنامه، کامپایلر خطارسان (debugger) را فعال می کند تا بتوانید خطا را پیدا و رفع نمایید.
6. پشتیبانی از پروژه های بزرگ: با استفاده از چارچوب های مناسب، کامپایلر قادر است پروژه های بزرگ را پشتیبانی کند.
7. پشتیبانی از سیستم عامل های مختلف: کامپایلر باید قابلیت اجرا در سیستم عامل های مختلف را داشته باشد.
8. پشتیبانی از تکنولوژی های جدید: کامپایلر باید قابلیت پشتیبانی از تکنولوژی های جدید را داشته باشد، مانند واحدهای پردازش گرافیک (GPU) و غیره.
مفسر چیست؟
مفسر یک نرمافزار است که کد برنامهنویسی را تفسیر و اجرا میکند. مفسر به عنوان یک نوع اجرای زبان برنامهنویسی، دستورات را به صورت خط به خط تفسیر و اجرا میکند. در مقابل، کامپایلر کل برنامه را به زبان ماشین تبدیل میکند و سپس آن را اجرا میکند. بعضی از زبانهای برنامه نویسی، مثل پایتون، از مفسر استفاده میکنند.
ویژگیهای مفسر
1- قابلیت خواندن و تفسیر کد منبع برنامه در زمان اجرا.
2- قابلیت اجرای کد منبع بدون نیاز به ترجمه پیشین.
3- قابلیت پشتیبانی از چندین زبان برنامهنویسی.
4- قابلیت دستکاری و تغییر کدهای منبع در زمان اجرا.
5- قابلیت پشتیبانی از محاسبات پویا و دادهساختارهای پویا.
6- سادگی در استفاده و گسترش.
کامپایلر و مفسر دو روش برای اجرای کد هستند. تفاوت های اصلی بین آنها عبارتند از:
1- زمان اجرا: در کامپایلر، کد منبع به زبان ماشین ترجمه می شود و فایل اجرایی ساخته می شود. در مقابل، در مفسر، کد منبع به صورت خط به خط تفسیر و اجرا می شود.
2- سرعت: فایل های اجرایی کامپایل شده به دلیل نزدیک بودن به زبان ماشین، سرعت بالاتری در اجرا دارند. در حالی که در مفسر، همه عملکردها در زمان اجرا تفسیر و پاسخ داده می شوند که باعث کاهش سرعت عملکرد می شود.
3- خطا: در کامپایل، خطاهای نحوی و نامعتبر قبل از تولید فایل های اجرایی گزارش شده و رفع می شوند. در حالی که در مفسر، خطاها به صورت خط به خط گزارش می شوند و تا زمانی که به آن خط برسید، نمی توانید آن را رفع کنید.
4- حافظه: فایل های اجرایی کامپایل شده به دلیل نزدیک بودن به زبان ماشین، حجم کمتری از حافظه را اشغال می کنند. در حالی که در مفسر، همه عملکردها در زمان اجرا تفسیر و پاسخ داده می شوند که باعث اشغال بیشتر حافظه می شود.
5- قابلیت پورت: فایل های اجرایی کامپایل شده قابل استفاده در سیستم های مختلف هستند. در حالی که در مفسر، بستگی به نوع سیستم عامل و نسخه مفسر دارد.
برای خواندن ادامه مطالب میتوانید به لینک زیر مراجعه نمایید :
https://becode.ir/difference-between-compiler-and-interpreter/