مقایسه زبان‌های برنامه‌نویسی

زبان‌های برنامه‌نویسی به‌منظور پایش رفتار ماشین‌ها (معمولاً رایانه‌ها) به‌کار می‌روند. زبان‌های برنامه‌نویسی همانند زبان‌های طبیعی از قوانین نحو و معنا پیروی می‌کنند.

در حال حاضر هزاران زبان برنامه‌نویسی وجود داردAs of May 2006 Diarmuid Pigott's Encyclopedia of Computer Languages  hosted at Murdoch University, Australia lists 8512 computer languages. و هر سال زبان‌های جدیدی نیز خلق می‌شوند. معمولاً تعداد کمی از این زبان‌ها به اندازه‌ای از محبوبیت دست می‌یابند که مورد استفادهٔ افراد زیادی قرار بگیرند؛ اما برنامه‌نویسهای حرفه‌ای ممکن است در فعالیت حرفه‌ای خود از چندین زبان استفاده کنند.

اکثر زبان‌های برنامه‌نویسی بر پایه معیارهای بین‌المللی (یا ملی) استانداردسازی نمی‌شوند، حتی برخی از آن‌ها مانند پرل یا استاندارد ام‌ال که کاربرد زیادی هم دارند. از جملهٔ زبان‌های برنامه‌نویسی استانداردشده و سرشناسی می‌توان به الگوا، سی، سی++، جاوااسکریپت (تحت نام اکما اسکریپت)، اسمال‌تاک، پرولوگ، لیسپ معمولی، اسکیم (استاندارد آی-تریپل-ئی)، ایدا، فورتون، کوبول، اس‌کیوال و اکس‌کوئری اشاره کرد.

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

 زبان کاربرد مورد نظر دستوری شیءگرا تابعی رویه‌ای همگانی پژواکی رویدادمحور سایر الگو(ها) استانداردشده؟۱سی:اینترپرایزاپلیکیشن، تجارت توسعه سریع نرم‌افزار، همه‌منظوره، وب، موبایل       برنامه‌نویسی مبتنی بر شیء و مبتنی بر پروتوتایپ‌ها   اکشن‌اسکریپت ۳٫۰  اپلیکیشن، سمت کاربر، وب         ، اکما  ایدا  اپلیکیشن، نهفته، بی‌درنگ، سیستمی  Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tagged Types and Type Extensions   Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 6: Subprograms  Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 12: Generic Units    همزمان،Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 9: Tasks and Synchronization توزیع‌شده،Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3 Annex E: Distributed Systems ، ۲۰۰۵، ۲۰۱۲، ANSI، ایزو، گاست ۲۷۸۳۱–۸۸  آلدور  به‌طور قابل توجهی خاص دامنه، محاسبه نمادین           الگول ۵۸  اپلیکیشن            الگول ۶۰  اپلیکیشن          ، آی‌اف‌آی‌پی دبلیوجی ۲٫۱، ایزوISO 1538:1984  الگول ۶۸  اپلیکیشن         همزمان  ، آی‌اف‌آی‌پی دبلیوجی ۲٫۱، گاست ۲۷۹۷۴–۸۸،  اتجی پی‌ایکس  اپلیکیشن موازی        پای کالکولوس    ای‌پی‌ال  اپلیکیشن، پردازش داده‌ها        آرایه‌گرا، تاکیت  ، ایزو  زبان اسمبلی  همه‌منظوره         هرچیز، لحن زبان معمولاً بسیار خاص است، مرتبط با پردازندهٔ هدف    اتوهات‌کی  خودکارسازی رابط کاربری گرافیکی (ماکرو)، بسیار خاص دامنه  Objects - Definition & Usage         اتوایت  خودکارسازی رابط کاربری گرافیکی (ماکرو)، بسیار خاص دامنه            بالرینا  ادغام، سریع، سمت سرور، عمومی         همزمان، معاملاتی، برنامه‌نویسی آماری و به‌شدت سبک‌دار، نموداری / برنامه‌نویسی دیداری   استاندارد بالفعل به‌واسطهٔ ویژگی‌های زبان بالرینا بش پوسته، اجرانامه‌نویسی         ، اما پازیکس. ۲ به‌طور اختیاریPOSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)  بیسیک  اپلیکیشن، آموزشی          ، ANSI، ایزو، اکما  بین‌شل  اپلیکیشن، اجرانامه‌نویسی          ، جی‌سی‌پیJSR 274  بلیس  سیستمی            بلیتزمکس  اپلیکیشن، بازی            بو  اپلیکیشن، اجرانامه‌نویسی بازی            برو  خاص دامنه، اپلیکیشن            سی  اپلیکیشن، سیستمی،bell-labs.com همه‌منظوره، عملیات سطح پایین          ، ANSI سی۹۸، ایزو سی۹۰، ایزو سی۹۹، ایزو سی۱۱، ایزو سی۱۸ANSI C89, ISO/IEC 9899:1990, 1999, 2011, 2018  سی++  اپلیکیشن، بازی، سیستمی         ، ایزو/آی‌ئی‌سی ۲۰۰۳، ایزو/آی‌ئی‌سی ۲۰۱۱، ایزو/آی‌ئی‌سی ۲۰۱۴، ایزو/آی‌ئی‌سی ۲۰۱۷ISO/IEC 14882:1998, 2003, 2011, 2014, 2017  سی شارپ  اپلیکیشن، بازی، آرای‌دی، تجاری، سمت کاربر، عمومی، سمت سرور، وب   Codeproject.com: Functional Programming in C# 3.0 using Lambda Expression      ساختارمند، همزمان  ، اکما، ایزوECMA-334; ISO/IEC 23270:2006  کلاریون  عمومی، تجاری، وب    Softvelocity.com       کلین  عمومی            کلوژر  عمومی         همزمان    سی‌ال‌یو  عمومی            کوبول  اپلیکیشن، تجاری            کبرا  اپلیکیشن، تجاری، عمومی، وب            کولدفیوژن (CFML)  وب            لیسپ معمولی  عمومی         نحو توسعه‌پذیر، آرایه‌محور، ماکروهای همگرا، اعزام چندگانه، همزمان  ، ANSI  کومال ۸۰  آموزشی            کریستال همه‌منظوره   https://github.com/crystal-lang/crystal#why      مرحله ابتداییhttps://github.com/crystal-lang/crystal#status    کیوری  اپلیکیشن         ارزیابی کندرو، غیر قطعی   به‌واسطهٔ گزارش زبان کیوری  سایتون  اپلیکیشن، عمومی، آنالیز عددی        جنبه‌گرا    دی  اپلیکیشن، سیستمی         مولد، همزمان    دارت  اپلیکیشن، وب، سمت سرور، موبایل، اینترنت اشیاء        ساختارمند    دایلن  اپلیکیشن            ایفل  عمومی، اپلیکیشن، تجاری، سمت کاربر، سمت سرور، وب (EWF)    Basic Eiffel language mechanismsClosure (computer programming)      Erl-G   عوامل  اسکوپ توزیع‌شده، بی‌خطر  ، اکما، ایزوECMA-367; ISO/IEC 25436:2006  الیکسیر  اپلیکیشن، توزیع‌شده        همزمان، توزیع‌شده    ارلنگ  اپلیکیشن، توزیع‌شده         همزمان، توزیع‌شده    یوفوریا  اپلیکیشن           فکتور  عمومی   قابل مشاهده به‌صورت تابعی     پشته‌گرا    اف‌پی             اف شارپ  اپلیکیشن            فورث  عمومی    قابل مشاهده به‌صورت تابعی     پشته‌گرا  ، ANSI  فورترن  اپلیکیشن، رایانش عددی         آرایه‌گرا، بُرداری، همزمان، موازی‌کاری توزیع‌شدهٔ بومی/حافظه مشترک  ، ANSI 66, ANSI 77, MIL-STD-1753، ایزو ۹۰، ایزو ۹۵، ایزو ۲۰۰۳، ایزو/آی‌ئی‌سی ۱۵۳۹–۱:۲۰۱۰ (۲۰۰۸)، ایزو/آی‌ئی‌سی جی‌تی‌سی۱/اس‌سی۲۲/دبلیوجی۵ ان۲۱۴۵ (۲۰۱۸)  فری‌بیسیک  اپلیکیشن، رایانش عددی            گامباس  اپلیکیشن            زبان گیم میکر اپلیکیشن، بازی          جی‌ال‌بیسیک  اپلیکیشن، بازی         شیءگرای ساده    گو  اپلیکیشن، وب، سمت سرور  زبان برنامه‌نویسی گو (سؤالات متداول)       همزمان   به‌واسطهٔ ویژگی‌های زبان گو  گوسو  اپلیکیشن، عمومی، اجرانامه‌نویسی، وب            گراف‌تاک  اپلیکیشن         منطقی    گرووی  اپلیکیشن، عمومی، اجرانامه‌نویسی، وب         فرا برنامه‌نویسی  ، جی‌سی‌پیJSR 241  آربور  اپلیکیشن، تجاری، پردازش داده، عمومی، وب         اعلانی    هسکل  اپلیکیشن         ارزیابی کندرو  ، هسکل ۲۰۱۰ Most Haskell implementations extend the Haskell 2010 standard.  هیکس  اپلیکیشن، عمومی، وب            هایپرنکست  اپلیکیشن، آموزشی         نوع‌دهی سست    هایپرتاک  اپلیکیشن، آرای‌دی، عمومی         نوع‌دهی سست    آی‌او  اپلیکیشن، اجرانامه‌نویسی میزبان‌محور            آی‌پی‌ال  عمومی            ایزلیسپ  عمومی          ، ایزو  جی  پردازش داده‌ها         آرایه‌گرا، هم‌سطح عملگر، ضمنی    جید  اپلیکیشن، توزیع‌شده            جاوا  اپلیکیشن، تجاری، سمت کاربر، عمومی، توسعهٔ موبایل، سمت سرور، وب         همزمان   به‌واسطهٔ ویژگی‌های زبان جاوا  جاوااسکریپت  سمت کاربر، سمت سرور، وب         بر پایه پیش‌نمونه  ، اکما  جوی  پژوهشی         پشته‌گرا    جولیا  عمومی، رایانش فنی         اعزام چندگانه، متا، نردبانی و آرایه‌گرا، موازی، همزمان، توزیع‌شده («ابری»)   کی  پردازش داده‌ها، تجاری         آرایه‌گرا، ضمنی    کاتلین  اپلیکیشن، توسعهٔ موبایل، سمت سرور، سمت کاربر، وب           کورن‌شل  پوسته، اجرانامه‌نویسی         چندین واریانت، قابل برنامه‌ریزی سفارشی، پودمان‌های قابل بارگذاری پویا  ، پازیکس. ۲POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)  لب‌ویو (جی)  اپلیکیشن، ابزار دقیق صنعتی-اتوماسیون        گردش داده‌ها، تصویری    لیسپ  عمومی            لایوکد  اپلیکیشن، آرای‌دی، عمومی         نوع‌دهی سست    لاگ‌تاک  هوش مصنوعی، اپلیکیشن         منطقی    ال‌اس‌ال  پویانمایی و اجرانامه‌نویسی محتوای جهان‌های مجازی         اجرانامه‌های موجود در اشیاء موجود در جهان  "De facto" reference is the Second Life implementation of LSL. Halcyon (Inworldz) and Open Sims propose compatible implementations with additionnal functions  لوآ  اپلیکیشن، اجرانامه‌نویسی تعبیه‌شده   Lua doesn't have explicit "object" type (more general type of "table" is used for object definition), but does have explicit syntax for object method calling       جنبه‌گرا، بر پایه پیش‌نمونه  Version releases are accompanied with a definitive Lua Reference Manual showing full syntax and semantics; a reference implementation, and a test suite. These are used to generate other Lua VM implementations and compilers such as Kahlua and LLVM-Lua.  میپل  محاسبات نمادین، رایانش عددی         توزیع‌شده    مثمتیکا  زماد نمادین          منطقی، توزیع‌شده    متلب  بسیار خاص دامنه، رایانش عددی            ماژولا-۲  اپلیکیشن، سیستمی          ، ایزوISO/IEC 10514-1:1996  ماژولا-۳  اپلیکیشن            مامپز (ام)  اپلیکیشن، پایگاه‌های داده         همزمان، چندکاربره، نواس‌کیوال، پردازش تراکنش ، ANSI  نیم  اپلیکیشن، عمومی، وب، اجرانامه‌نویسی، سیستمی         اعزام چندگانه، همزمان، فرا برنامه‌نویسی  اوبرون  اپلیکیشن، سیستمی           آبجکت پاسکال  اپلیکیشن، عمومی، اپلیکیشن موبایل، وب         ساختارمند    آبجکتیو-سی  اپلیکیشن، عمومی         همزمان    اکمل  اپلیکیشن، عمومی            اوکام  عمومی         همزمان، پردازش‌گرا    اوپا  وب‌اپلیکیشن         توزیع‌شده    اوپن‌لیسپ  عمومی، موتور تعبیه‌شده لیسپ          ، ایزو  اکسیژن  اپلیکیشن            آز-موزارت  اپلیکیشن، توزیع، آموزشی         همزمان، منطقی    پاسکال  اپلیکیشن، آموزشی          ، ایزوISO 7185  پرل  اپلیکیشن، اجرانامه‌نویسی، پردازش متنی، وب            پی‌اچ‌پی  سمت سرور، وب‌اپلیکیشن، وب   PHP Manual, Chapter 19. Classes and Objects (PHP 5),  PHP Manual, Chapter 17. Functions        به‌واسطهٔ ویژگی‌های زبان و درخواست‌های نظر (RFC)  پی‌ال/۱  اپلیکیشن          ، اکما-۵۰ (۱۹۷۶) پلاس  اپلیکیشن، توسعهٔ سامانه            پست‌اسکریپت  گرافیکی، توضیحات صفحه         منسجم، پشته‌گرا  ، طبق مرجع راهنمای پست‌اسکریپت  پاورشل  مدیریت، اپلیکیشن، اجرانامه‌نویسی عمومی         خط لوله    پرولوگ  اپلیکیشن، هوش مصنوعی         منطقی، اعلانی  ، ایزو/آی‌ئی‌سی ۱۳۲۱۱–۱:۱۹۹۵، تی‌سی۱ ۲۰۰۷، تی‌سی۲ ۲۰۱۲، تی‌سی۳ ۲۰۱۷ پیوربیسیک  اپلیکیشن            پایتون  اپلیکیشن، عمومی، وب، اجرانامه‌نویسی، هوش مصنوعی، محاسبهٔ علمی         جنبه‌گرا   به‌واسطهٔ پیشنهادهای افزایشی پایتون (PEP)  آر  اپلیکیشن، آمار            رکت  آموزشی، عمومی، اجرانامه‌نویسی         پودمانی، منطقی، متا    راکو  اجرانامه‌نویسی، پردازش متن، گلو         جنبه‌گرا، آرایه، ارزیابی کندرو، اعزام چندگانه، فرا برنامه‌نویسی   ریل‌بیسیک   اپلیکیشن            ریبل  توزیع‌شده         گویشی‌شده   رکس  اجرانامه‌نویسی   (گویش‌های نت‌رکس و آبجکت رکس)         آرپی‌جی  اپلیکیشن، سیستمی            روبی  اپلیکیشن، اجرانامه‌نویسی، وب         جنبه‌گرا    راست  اپلیکیشن، سمت سرور، سیستم، وب   Is Rust an Object-Oriented Programming Language?      همزمان    اس  اپلیکیشن، آمار            اس-لنگ  اپلیکیشن، عددی، اجرانامه‌نویسی            اسکالا  اپلیکیشن، توزیع‌شده، وب           به‌واسطهٔ ویژگی‌های زبان اسکالا (SLS)  اسکیم  آموزشی، عمومی         نحو قابل توسعه  ، R6RS  سید۷  اپلیکیشن، عمومی، اجرانامه‌نویسی، وب         الگوی چندگانه، قابل توسعه، ساختارمند    سیمولا  آموزشی، عمومی         شبیه‌سازی رویداد گسسته، چند ریسه‌ای (شیه‌موازی) اجرای برنامه    اسمال بیسیک  اپلیکیشن، آموزشی، بازی         مؤلفه‌گرا    اسمال‌تاک  اپلیکیشن، عمومی، تجاری، هوش مصنوعی، آموزشی، وب         همزمان، اعلانی  ، ANSI  اسنوبول  پردازش متن            استاندارد ام‌ال  اپلیکیشن          ، اس‌ام‌ال '۹۷SMLNJ.org  سوئیفت  اپلیکیشن، عمومی         همزمان، اعلانی، پروتکل‌گرا   تی‌سی‌ال  اپلیکیشن، اجرانامه‌نویسی، وب            ویژوال بیسیک  اپلیکیشن، آرای‌دی، آموزشی، تجاری، عمومی، (از جمله وی‌بی‌ای)، اتوماسیون اداری         مؤلفه‌گرا      اپلیکیشن، آرای‌دی، آموزشی، وب، تجاری، عمومی         ساختارمند، همزمان    ویژوال فاکس‌پرو  اپلیکیشن         داده‌محور، منطقی    ویژوال پرولوگ  اپلیکیشن         اعلانی، منطقی    زبان ولف‌رم  زبان نمادین          منطقی، توزیع‌شده    اکس‌ال          برنامه‌نویسی مفهومی    زوجو  اپلیکیشن، آرای‌دی، عمومی، وب            اکس‌پت/اکس‌کوئری  پایگاه‌های داده، پردازش داده، اجرانامه‌نویسی         درخت‌گرا   ۱۹۹۹ اکس‌پت ۱، ۲۰۱۰ اکس‌کوئری ۱، ۲۰۱۴ اکس‌پت/اکس‌کوئری ۳٫۰  زی شل پوسته، اجرانامه‌نویسی        پودمان‌های قابل بارگذاری  

 منابع 

رده:مقایسه‌های زبان‌های برنامه‌نویسی