زبان برنامه نویسی مفسری چیست؟
زبان برنامه نویسی مفسری
زمانی که ما یک برنامه با زبان سطح بالا مینویسیم برای مثال C ،C++ ، java و … کامپیوتر درکی از برنامهای که ما نوشتیم ندارد. زیرا کد ماشین یک کد صفر و یک میباشد و برای اینکه برنامه ما قابلفهم برای ماشین باشد نیاز به چیزی داریم که این برنامه سطح بالا را به کد ماشین تبدیل کند. اینجاست که میتوانیم از زبان برنامه نویسی مفسری و کامپایلر استفاده کنیم.به طور کلی زبانهای برنامهنویسی به دو نوع اصلی زبان برنامه نویسی مفسری (interpreter) و زبان برنامه نویسی کامپایلری (compiler) تقسیم میشوند.
ربان برنامه نویسی مفسر چیست؟
مفسر یک برنامه کامپیوتری است که دستورهای نوشتهشده در یک زبان برنامهنویسی سطح بالا را به شکل یک کد قابلفهم برای ماشین اجرا میکند.بزرگترین مزیتی که مفسر دارد این است که برنامه نوشتهشده اصلی، وابسته به نوع سختافزار نیست. یعنی برنامهای که به زبان مفسر نوشته شود میتواند بر روی هر نوع سیستمعاملی اجرا شود.
زبان برنامه نویسی کامپایلر چیست؟
مجموعهای از برنامه یا برنامههای کامپیوتری هستند که زبان برنامهنویسی سطح بالا (زبان مبدا) را به زبانی سطح پایین (زبان مقصد) و قابلفهم برای سختافزار تبدیل میکند. به عبارتی دیگر کدهای ماشین به سادگی قابلفهم برای انسان نیستند و به همین خاطر انسان به زبانهای سطح بالا که قابلفهمتر هستند، برنامه مینویسد و با استفاده از کامپایلرها آن را به زبان سطح پایین تبدیل میکند.
تفاوت مفسر و کامپایلر
۱- چگونگی اجرا شدن
در زبانهای کامپایلری ابتدا یکبار کدها به صورت کامل ترجمه میگردند. سپس برنامه برای اجرا از روی فایل کامپایل شده اجرا میگردد. اما در زبانهای مفسری کدها به صورت خط به خط تفسیر و اجرا میشوند. سپس هر دفعه که بخواهیم برنامه را دوباره اجرا کنیم به همین صورت کد تفسیر و اجرا میشود.
۲- وابسته بودن یا نبودن به سیستم عامل
یکی دیگر از تفاوتهای این زبانها این میباشد که زبان مفسری برای اجرا نیاز به یک نرمافزار مفسر یا interpreter دارد. اما زبان کامپایلری تنها یکبار کامپایل شده و کدهای قابل اجرا در ماشین را ایجاد میکند. از آن پس بر روی هر سیستمی بدون نیاز به کامپایلر قابل اجرا میباشد.
اما همین نکته این تفاوت را ایجاد میکند که زبان کامپایلر وابسته به سیستمعامل است، یعنی در صورتی اجرا خواهد شد که در آن سیستمعامل کامپایل شده باشد و در سیستمعاملهای دیگر اجرا نخواهد شد. اما زبان مفسر در هر سیستمعاملی که نرمافزار مفسر آن وجود داشته باشد اجرا و تفسیر میگردد. در واقع زبان مفسر وابسته به سیستمعامل نیست.
۳- سرعت و میزان استفاده از حافظه و پردازنده
زبان های Interpreter کدها را به صورت خط به خط تفسیر و اجرا میکنند، این کار باعث میشود تا مقدار زیادی از CPU و RAM کامپیوتر اشغال شود و مشخص است که سرعت پایینتری نیز خواهند داشت. اما کامپایل شدن یکبارهی زبانهای کامپایلر این است که در اجراهای متعدد سبکتر بوده و سرعت بهتری خواهند داشت.
۴- خطایابی
همین مزیتِ به صورتِ یکجا کامپایل شدن زبانهای کامپایلر در بخش خطایابی و رفع مشکل، نقص بهحساب میآید. زیرا در زبانهای مفسر هنگامیکه برنامه خط به خط اجرا میشود، در هر بخشی از برنامه که مشکلی وجود داشته باشد، قابل پیدا کردن و رفع میباشد.
اما در زبانهای Compiler برای رفع یک مشکل در کدها میبایست سورس خود برنامه را مجدد بازیابی کرده، سپس خطا را پیدا و تصحیح کرد که این کار بسیار دشوارتر از کار با زبانهای مفسری است.
زبان های برنامه نویسی مفسری
تعداد زیادی زبان برنامه نویسی داریم که مفسری می باشد. که در بخش زیر تعدادی از زبان های معروف که مفسر هستند رو لیست کرده ایم.
- پایتون
- جاوا اسکریپت
- بیسیک
- وی بی اسکریپت
- زبان PHP
- پرل
- روبی
- زبان Forth
دیدگاهتان را بنویسید