تفاوت زبان کامپایلر و مفسر چیست؟ انواع زبان های مفسری و کامپایلری
اگرشماهم در دنیای برنامه نویسی فعالیت میکنید ، حتما تابحال درباره زبان های کامپایلر و مفسرمطالبی به گوشتان خورده است. همیارکد در این مقاله قصد دارد تا ابتدا با تعریف این دو زبان شما را با آنها بیشتر آشنا کند و سپس به مقایسه این دو بپردازد.
به زبان ساده میتوان گفت کامپایلر برنامه ای است که کد های نوشته شده توسط برنامه نویسان را به زبان ماشین یعنی ۰ و۱ تبدیل میکند، تا Cpu بتواند آن را بفهمد و اجرا کند.
در حالت عادی برنامه نویسان کدهای خود را به زبان های برنامه نویسی مینویسند مانند سی شارپ ،جاوا و ... اما Cpu قادر به فهم این کدها نیست، به همین دلیل نیاز به یک واسط داریم تا این کدها را به زبان قابل فهم ماشین تبدیل کند، که به این واسط کامپایلرمی گویییم.
زبان مفسر Interpreter
مفسر یک نیز یک برنامه کامپیوتری است که کدهای نوشته شده دریک زبان برنامه نویسی سطح بالا را به کدهای قابل فهم برای ماشین تبدیل میکند.در زبان مفسری کدها بصورت خط به خط تفسیر و سپس اجرا میشوند و در اجراهای بعدی هم به همین روال ادامه میدهند.
بزرگترین مزیت مفسر این است که برنامه نوشته اصلی به هیچ عنوان واسطه به نوع سخت افزار نیست، به این صورت برنامه ای که به زبان مفسر نوشته شده است میتواند بر روی هرنوع سیستم عاملی اجرا شود.
تفاوت مفسر و کامپایلر
- در زبان کامپایلری ابتدا یکبار کدها بصورت کامل ترجمه میشوند و سپس از روی فایل کامپایل شده اجرا میشوند، اما در زبان های مفسری کدها خظ به خط تفسیر و سپس اجرا میشوند
- زبان مفسر نیاز به یک نرم افزار مفسر دارد ، اما کاپایلر تنها یکبار کامپایل میشود و بعد از آن در هر سیستم عاملی اجرا میشود اما همین امر گویای این نکته میباشد که زبان کامپایلر وابسطه به نوع سخت افزار است و ممکن است در سرعت اجرا شدن آن تاثیر مثبت/منفی (بسته به نوع سخت افزار) داشته باشد.
- همچنین سرعت اجرا و میزان استفاده از منابع از دیگر تفاوت های این دوزبان می باشد و با توجه به این نکته که زبان های Interpreter کد ها را به صورت خط به خط تفسیر و اجرا می کنند، این امر باعث می شود تا مقدار زیادی از CPU و RAM کامپیوتر استفاده شود و قطعا مشخص است که سرعت پایین تری نیز خواهد داشت. اما امتیاز کامپایل شدن یکباره ی زبان های کامپایلر این است که در اجرا های متعدد سبک تر بوده و سرعت بهتری خواهند داشت.
- در مفسر به دلیل خط به خط اجرا شدن آن ، اگر مشکلی وجود داشته باشد به راحتی قابل شناسایی و برطرف کردن است اما در کامپایلر، برای پیداکردن خطا باید سورس برنامه را مجدد بازیابی کرده و خطا را پیدا و مرتفع کرد که نسبت به زبان مفسری بسیار دشوارتر است.
چند نمونه از زبان های مفسری
- VBScript
- JavaScript
- PHP
- Perl
- Ruby
- Python
و همچین زبان های کامپایلری عبارت اند از:
مطلبی دیگر از این انتشارات
کتابخانه netifaces در پایتون
مطلبی دیگر از این انتشارات
رویکرد آبشاری در مهندسی نرم افزار
مطلبی دیگر از این انتشارات
آموزش برنامه نویسی اندروید با basic4android – راهنمای گام به گام ایجاد اولین پروژه