Peyman
Peyman
خواندن ۱ دقیقه·۲ سال پیش

کامپایلر و مفسر چی هستن تفاوتشون چیه؟

وقتی وارد رشته کامپیوتر میشیم با یک سری عناوین مواجه میشیم که شاید در نگاه اول برامون سخت باشه که بتونیم به درکشون کنیم یکی از این عناوین مفسر(interpreter) و کامپایلر(compiler) هستن ، که خیلی اوقات به این دوتا کلمه برمیخوریم مخصوصا اگر علاقمند به حوزه نرم افزار و برنامه نویسی باشیم . بنابراین هدفم از این بلاگ صرفا توضیح معنا و مفهوم این لغاته

پردازنده های کامپیوتر فقط صفر و یک رو میفهمن پس درنهایت همه برنامه ها باید به صفر و یک تبدیل بشن که بهش میگن زبان ماشین. بنابراین وقتی که ما از زبان هایی مثل #C که برای انسان قابل فهم هستند استفاده میکنیم.یعنی وقتی با یک زبان برنامه ای مینویسیم اون زبان خودش انتزاعی از زبان ماشینه (یعنی زبان ماشین تعمیم داده شده و تبدیل شده به زبانی که برای ما قابل فهمه) بنابراین وقتی که پردازشگر میخواد این زبان رو بفهمه باید به زبان خودش که زبان ماشینه تبدیل کنه به این عمل اصطلاحا میگن تفسیر کردن یا کامپایل کردن

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


اما مفسر یا interpreter میاد و خط به خط اجرا میشه. حتی اگر هزار بار هم از برناممون اجرا بگیریم عینا خط به خط برنامه خونده و اجرامیشه


برنامه نویسینرم افزارزبانکامپایلرمفسر
از برنامه نویسی مینویسم،سعی میکنم مفاهیم سختش رو جوری که خودم یادمیگیرم توضیحشو بذارم شاید به درد کسی خورد.چون به جاوااسکریپت علاقمندم مثالهام بیشترشون حول جاوااسکریپت میچرخن
شاید از این پست‌ها خوشتان بیاید