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

تاریخ انتشار پست : 20 اردیبهشت 1400
دسته بندی : برنامه نویسی وب
مدت زمان مطالعه : دقیقه

در دنیای امروز هر برنامه نویس ممکن است به زبان خاصی تسلط داشته باشد و یا براساس حوزه ی فعالیت خود زبان برنامه نویسی خاصی را انتخاب کند. ممکن است برای یک هدف یا برنامه،بتوان با چندین زبان متفاوت کد نویسی کرد. اما وجه مشترک همه ی زبان ها این است که ؛ همگی زبان  برنامه نویسی سطح بالا هستند. زبان های برنامه نویسی سطح بالا زبانی نزدیک به زبان انسان  دارد و در واقع ترکیبی از زبان  طبیعی انسان و علائم ریاضی است که نوشتن کد ها را برای انسان آسان تر می کند. در نهایت همه ی این زبان ها برای اجرا ی کد باید به زبان سطح پایین یا همان زبان ماشین تبدیل شوند. زبان ماشین زبان 0 و 1  یا باینری است که برای انسان قابل فهم نبوده و اگر بخواهیم به زبان باینری کد نویسی کنیم کاری بسیار دشوار و زمان بر خواهد بود، به همین علت برنامه نویسان کد های خود را با زبان های سطح بالا نوشته و به  کمک یک  واسط به زبان ماشین تبدیل می کنند.

منظور از واسط تبدیل کننده ی زبان سطح بالا به زبان سطح پایین چیست؟

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

1 - کامپایل کردن

2 - تفسیر کردن

به زبان هایی که از طریق کامپایل کردن کد های خود را به زبان ماشین تبدیل می کنند زبان های کامپایلری ( Compiler ) و زبان هایی که از طریق تفسیر کردن این کار را انجام می دهند زبان های مفسری  ( Interpreter ) گفته می شود

زبان هایی مثل JavaScript,Python,Php,Ruby و ... جز زبان های مفسری هستند و زبان های مانند C++,C#,Visual Basic و .... از  جمله زبان های کامپایلری محسوب می شوند. 

 

تفاوت کامپایلر و مفسر در چیست؟

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

کامپایلر ها سرعت بالاتری نسبت به مفسرها دارند زیرا کد ها را یکباره ترجمه می کنند، اما مفسرها کدها را خط به خط خوانده ، ترجمه می کنند و سراغ خط بعد می روند. به همین دلیل هم مفسرها Cpu و RAM را اشغال می کنند.

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

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

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

نظرات :

جهت ثبت نظر باید ابتدا وارد سایت شوید