کار کامپایلر و مفسر چیست ؟ تفاوت و زبان های برنامه نویسی آنها



سلام تو این پست میخام فرایند کار کامپایلر و مفسر رو بهتون بگم و نشون بدم که تفاوت هاشون چیه.



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

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

کامپایلر (Compiler): از لحاظ لغوی <<Compiler>> به معنی <<مولف>> هستش که چندان ربطی به برنامه نویسی نداره، فرایند کارش هم اینطوریه که کد های ما وقتی به کامپایلر میرسن ، اگر خطایی توی کد ما نبود اونهارو تبدیل به فایل اجرایی برای ما میکنه (EXE) که ما بتونیم از اون استفاده کنیم و نیازی نیست هر سری برای ما کامپایلش کنه. البته تا وقتی نخوایم تغییری در کدهامون بدیم میتونیم ازش استفاده کنیم ، اگر بخایم تغییری ایجاد کنیم حتی در حد یک حرف باید از اول کامپایل کنه و فایل اجرایی بهمون بده.
نمونه زبان های برنامه نویسی کامپایلری : C++ , C# , Pascal , Cobol
مفسر(Interpreter): از لحاظ لغوی <<Interpreter>> به معنی <<مترجم>> هستش که تقریبا با کارکردش در برنامه نویسی معنیاشون مرتبطه، فرایند کار مفسر یه فرق ریزی با کامپایلر داره که کامپایلر کد هارو به طور کامل میخونه و اگر مشکلی نداشت خروجی میده بهمون ولی مفسر خط به خط کد مارو میخونه و اگر مشکلی نداشت نتیجه همون خط رو بهمون خروجی میده و مفسر هیچ فایل اجرایی تولید نمیکنه و میشه هر سری کد رو در هنگام اجرا تبدیل میکنه.
نمونه زبان های برنامه نویسی مفسری : Perl , PHP , Python , Ruby , JavaScript

و حالا بریم سراغ تفاوت های زبان های برنامه نویسی مفسری و کامپایلری

چگونگی اجرا شدن:

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

وابستگی به سیستم عامل :

  • مفسری : هیچ وابستگی به سیستم عامل ندارد و فقط با استفاده از مفسر میتواند در هر سیستم عاملی اجرا شود
  • کامپایلری : به سیستم عامل است چون فایل اجرایی آن فقط در یک سیستم عامل اجرا میشود پ.ن: فایل exe رو نمیشه رو اندروید اجرا کرد که:)

سرعت و میزان استفاده از حافظه و پردازنده :

  • مفسری : چون خط به خط میخونه سرعتش کمتره و اصولا باید مصرف بیشتری داشته باشه
  • کامپایلری : چون اول کدارو میخونه بعد اجرا میکنه سرعتش بیشتره و مصرفش خیلی کمتره

خطایابی :

  • مفسری : خطایابی اسون تره چون خط به خط چک میکنه و سریعترم هست
  • کامپایلری : خطایابی یکم سخت تره و کندتره نسبت به مفسر




هیچوقت خودتون رو دست کم نگیرین:)

امیدوارم موفق باشین .