تفاوت بین زبانهای برنامهنویسی کامپایلری و زبانهای برنامهنویسی مفسری چیست؟
خلاصه
1403/02/20
زبانهای برنامهنویسی میتوانند بر اساس روش اجرای کد به دو دستهی اصلی تقسیم شوند: زبانهای برنامهنویسی کامپایلری و زبانهای برنامهنویسی مفسری. تفاوت اصلی بین این دو دسته در روشی است که کد منبع برنامه توسط کامپیوتر اجرا میشود:
تفاوت بین زبانهای برنامهنویسی کامپایلری و زبانهای برنامهنویسی مفسری چیست؟ زبانهای برنامهنویسی میتوانند بر اساس روش اجرای کد به دو دستهی اصلی تقسیم شوند: زبانهای برنامهنویسی کامپایلری و زبانهای برنامهنویسی مفسری. تفاوت اصلی بین این دو دسته در روشی است که کد منبع برنامه توسط کامپیوتر اجرا میشود: زبانهای برنامهنویسی کامپایلری:
در این نوع زبانها، کد منبع برنامه توسط یک کامپایلر به زبان ماشین ترجمه میشود.
نتیجهی این ترجمه یک فایل اجرایی (executable) است که مستقیماً میتواند توسط سیستمعامل اجرا شود.
مثالهایی از زبانهای برنامهنویسی کامپایلری شامل C، C++، Java (با استفاده از جاوا کامپایلر) و Rust میباشند.
زبانهای برنامهنویسی مفسری:
در این نوع زبانها، کد منبع برنامه خود به زبان میانی (intermediate language) یا بایت کد (bytecode) ترجمه میشود.
این زبانها توسط یک مفسر (interpreter) به ترتیب متون کد منبع برنامه را میخوانند و در همان زمان اجرا میکنند.
مفسرها به طور معمول به صورت خط به خط کد را میخوانند و آن را ترجمه و اجرا میکنند.
مثالهایی از زبانهای برنامهنویسی مفسری شامل Python، JavaScript، Ruby و PHP میباشند.
به طور خلاصه، تفاوت اصلی بین زبانهای برنامهنویسی کامپایلری و مفسری در روش اجرای کد است: زبانهای کامپایلری کد را پیش از اجرا به زبان ماشین ترجمه میکنند و فایل اجرایی تولید میکنند، در حالی که زبانهای مفسری کد را به صورت خط به خط ترجمه و اجرا میکنند.
برخی از محصولات شرکت مهندسی آبان رایان البرز
سایر مقالات آموزشی شرکت نرم افزاری آبان رایان البرز :
- اصول اساسی برنامه نویسی چیستند؟
- چه مزایا و معایبی در استفاده از کتابخانهها و چارچوبهای برنامهنویسی وجود دارد؟
- تفاوت بین استفاده از SQL و NoSQL برای پایگاه دادهها چیست؟
- چگونه میتوان پیامها و اطلاعات را از طریق API ها دریافت کرد و با آنها تعامل کرد؟
- چه مزایا و معایبی برنامهنویسی تابعی نسبت به برنامهنویسی رویدادگرا دارد؟
- چگونه میتوان از طریق برنامهنویسی بهینه کد کرد؟
- تفاوت بین برنامهنویسی ساختاری و شیءگرا چیست؟
- چرا باید از زبان برنامهنویسی خاصی برای یک پروژه استفاده کنیم؟
- Bigtable از Google و Apache CouchDB را مقایسه کنید در چه مواردی از یکی از این دو استفاده کرد؟
- نقاط قوت و ضعف پایگاه دادههای تابعی (Functional Databases) نظیر Amazon DynamoDB را بررسی کنید
- انواع اتصال به پایگاه داده، از جمله ODBC و JDBC را مقایسه کنید در چه مواردی از هرکدام استفاده کرد؟
- Cassandra و HBase را بررسی کنید در کدام موارد ممکن است یکی از این دو پایگاه داده برتری داشته باشد؟
- مزایا و معایب استفاده از پایگاه داده های In-Memory (حافظه داخلی) نظیر Redis را با یک پایگاه داده معمولی مقایسه کنید
- پایگاه داده گرافی و پایگاه داده سلسله مراتبی را مقایسه کنید کدام یک برای موارد کاربردی خاص مناسبتر است؟
- SQLite و MySQL را مقایسه کنید در چه شرایطی ممکن است SQLite بهتر از MySQL باشد و برعکس؟
- پایگاه داده NoSQL و SQL را مقایسه کنید به چه عواملی بستگی دارد که یک توسعهدهنده از یکی از این دستهها برای پروژه خود استفاده کند؟