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


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

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


#اموزش