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

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

با سلام و احترام خدمت تمامی کاربران عزیز سایت زنگ کلاس.
امروز میخواهیم با یک تعریف ساده تفاوت کامپایلر(Compiler) و مفسر (Interpreter) را بیان کنیم.

کامپایلر

محیط های برنامه نویسی مانند سی شارپ، بعد از نوشتن یک نرم افزار یا یک برنامه کوچیک برای اینکه کد های مربوطه قابل فهم برای سیستم عامل مقصد باشد باید اول کد های نوشته شده را ترجمه کند و فایل ترجمه شده را اجرا نماید.
این عمل ترجمه کردن کدها را کامپال (Compile) کردن کد می گویند.

شما ساختار کامپایلر را در تصویر زیر میتوانید ببینید.

ساختار کامپایلر

مفسر

ولی در زبان هایی که مفسر هستند چنین مرحله ای وجود ندارد که کد ها نوشته شوند و بعد از اتمام کار ما کامپایل کنیم یا فایل ترجمه را بسازیم.

در زبان های مفسر بعد از نوشته شدن برنامه و اجرای آن، مفسر شروع به اجرای خط به خط آن می کند و هر خط را به صورت مرحله تبدیل به کد ماشین میکند.

شما ساختار مفسر را در تصویر زیر میتوانید ببینید.

ساختار مفسر

حال با ۲ تعریف ساده که بالا کردیم میشه نتیجه گرفت که برنامه هایی که با زبان کامپایلری نوشته شده اند سریعتر از مفسری هستند، چون یک بار ترجمه می شوند و بار ها اجرا می شوند ولی زبان مفسری برنامه هر بار که اجرا می شود خط به خط باید به کد ماشین تبدیل شود و خود این یک امتیاز منفی حساب می شود که جدا از اجرای کندتر، منابع سخت افزاری بیشتری را اشغال می کند..

نکته دیگری که در زبان مفسری می باشد این است اگر برای مثال برنامه ایی با زبان پایتون نوشته شود برای اجرای آن در سیستم دیگر نیاز است خود سورس و مفسر مورد نظر مانند پایتون نیز در سیستم مقصد نصب باشد.

ولی در زبان کامپایلری چنین چیزی نیست فقط برنامه را کامپایل کرده و فایل ترجمه شده را در سیستم مقصد نیاز به اجرا است.

مزیتی که زبان مفسری دارد یکی در خطایابی یا همان Debug کردن کد می باشد. به دلیل ابنکه خط به خط اجرا می شود، می توان در زمان اجرا کد را تغییر داد و خروجی گرفت ولی در زبان کامپایلری باید اول کد ها نوشته شوند و بعد از ترجمه کدها برنامه را اجرا کرد و خطایابی کرد.

ابراهیم رعیت پرور

ابراهیم رعیت پرور هستم برنامه نویس دات نت. از سال 1382 با برنامه نویسی آشنا شدم و الان نزدیک به 10 ساله دارم به طور حرفه ای برنامه نویسی میکنم و برنامه های زیادی رو تو پلتفرم ویندوز با سی شارپ و کیوت و دلفی پیاده کردم و دوست دارم تجربه خودم در این بازار رو به همه کاربران زنگ کلاس تقسیم کنم. امیدوارم در این راستا بتوانم کمک شایانی به همه کاربران عزیز سایت زنگ کلاس انجام بدم و همه دوستان عزیز به راحتی و با کمترین هزینه ممکن وارد به دنیای زیبای برنامه نویسی بشوند.با تشکر ابراهیم رعیت پرور تلوکی

    نوشته‌های مرتبط

    دیدگاه‌ها