Порівняння мов програмування
Мови програмування використовуються для управління поведінкою машини (частіше комп'ютера). Як і людські мови, мови програмування відповідають правилам синтаксису і семантики. Зараз існують тисячі мов програмування і щороку створюються нові. З цих мов не всі стають популярними, деякі з них просто використовуються невеликою кількістю людей, але професійні програмісти можуть користуватися десятками мов у своїй кар'єрі.
У таблиці порівнюється загальна і технічна інформація для вибору частіше використовуваних мов програмування. Увага! У цій таблиці можуть бути відсутні деякі відомості.
| Мова | Передбачуване використання | Імперативне | Об'єктно-орієнтоване | Функційне | Процедурне | Узагальнене | Рефлективне | Подійно-орієнтоване | Інші парадигми | Стандартизована? |
|---|---|---|---|---|---|---|---|---|---|---|
| ActionScript 3.0 | Застосунки, клієнт-сервер, веб | X | X | X | 1996, ECMA | |||||
| Ada | Застосунки, вбудовані системи, системи реального часу, системне програмування | X | X | X[1] | X[2] | паралельні,[3] розподілені[4] обчислення | 1983, 2005, 2012, ANSI, ISO, ГОСТ 27831-88[5] | |||
| Aldor[en] | Предметно-орієнтована, символьні обчислення | X | X | X | Ні | |||||
| ALGOL 58[en] | Застосунки | X | Ні | |||||||
| ALGOL 60[en] | Застосунки | X | 1960, IFIP WG 2.1, ISO[6] | |||||||
| ALGOL 68[en] | Застосунки | X | паралельні обчислення | 1968, IFIP WG 2.1, GOST 27974-88,[7] | ||||||
| Ateji PX[en] | Паралельні застосунки | X | пі-числення | Ні | ||||||
| APL | Застосунки, обробка даних | масиво-орієнтоване, «мовчазне» програмування | 1989, ISO | |||||||
| Мова асемблера | Загального призначення | X | Будь-яке, синтаксис зазвичай дуже специфічний, пов'язаний з цільовим процесором | Ні | ||||||
| AutoHotkey | Автоматизація графічного інтерфейса, дуже специфічна для предметної області | X | Ні | |||||||
| AutoIt | Автоматизація графічного інтерфейса, дуже специфічна для предметної області | X | X | X | Ні | |||||
| BASIC | Застосунки, навчання | X | X | 1983, ANSI, ISO | ||||||
| BeanShell | Застосунки, написання скриптів | X | X | X | X | In progress, JCP[8] | ||||
| BLISS[en] | Системне програмування | X | Ні | |||||||
| BlitzMax[en] | Застосунки, ігри | X | X | X | Ні | |||||
| Boo | Застосунки | Ні | ||||||||
| Bro | Специфічна для предметної області, застосунки | X | X | Ні | ||||||
| C | Застосунки, системне програмування,[9] загального призначення, низькорівневі операції | X | X | 1989, ANSI C89, ISO C90, ISO C99, ISO C11[10] | ||||||
| C++ | Застосунки, системне програмування | X | X | X | X | X | 1998, ISO/IEC 1998, ISO/IEC 2003, ISO/IEC 2011[11] | |||
| C# | Застосунки, RAD, бізнес-логіка, клієнтська сторона, загального призначення, серверна сторона, Web, роботи | X | X | X[12] | X | X | X | структурне, конкурентне | 2000, ECMA, ISO[13] | |
| Clarion[en] | Загального призначення, бізнес-логіка, Web | X | X | X[14] | Невідомий | |||||
| Clean[en] | Загального призначення | X | X | Ні | ||||||
| Clojure | Загального призначення | X | конкурентне | Ні | ||||||
| CLU | Загального призначення | X | X | X | X | Ні | ||||
| COBOL | Застосунки, бізнес-логіка | X | X | X | ANSI X3.23 1968, 1974, 1985; ISO/IEC 1989:1985, 2002, 2014 | |||||
| Cobra | Застосунки, бізнес-логіка, загального призначення, Web | X | X | X | X | X | Ні | |||
| ColdFusion[en] (CFML) | Web | X | X | Ні | ||||||
| Common Lisp | Загального призначення | X | X | X | X | X | 1994, ANSI | |||
| Мова | Intended use | Імперативне | Об'єктно-орієнтоване | Функційне | Процедурне | Узагальнене | Рефлективне | Подійно-орієнтоване | Інші парадигми | Стандартизована? |
| COMAL 80 | Навчання | X | X | Ні | ||||||
| Crystal 1.0.0 | Навчання | X | X | X | Ні | |||||
| Cython | Застосунки, загального призначення, обчислення | X | X | X | X | Аспектно-орієнтоване | Ні | |||
| D | Застосунки, системне програмування | X | X | X | X | генеративне, конкурентне | Ні | |||
| Dart | Застосунки, Web | X | X | структурне | Ні | |||||
| Dylan | Застосунки | X | X | Ні | ||||||
| Eiffel | Застосунки | X | X | X | 2005, ECMA, ISO[15] | |||||
| Erlang | Застосунки, розподілене, телеком | X | конкурентне, розподілене | Ні | ||||||
| Euphoria[en] | Застосунки. Оскільки інтерпретатор є спільним для коду системи та програми, система не є цільовим використанням, оскільки збої програми вплинуть на всю систему. | X | X | Ні | ||||||
| Factor[en] | стекова | Ні | ||||||||
| FP[en] | X | Ні | ||||||||
| F# | Застосунки | X | X | X | X | Ні | ||||
| Forth | Загального призначення | X | стекове | 1994, ANSI | ||||||
| Fortran | Застосунки, обчислення | X | X | X | X | 1966, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003, ISO/IEC 1539-1:2010 (2008) | ||||
| FreeBASIC | Застосунки, обчислення | X | X | X | X | Ні | ||||
| G2 | Застосунки, висновування, експертні системи | X | X | X | загальне графічне середовище розробки та виконання | Ні | ||||
| Gambas | Застосунки | X | X | X | Ні | |||||
| Game Maker Language | Застосунки, ігри | X | X | X | Ні | |||||
| GLBasic[en] | Застосунки, ігри | X | X | X | просте об'єктно-орієнтоване | Ні | ||||
| Go | Застосунки, системне програмування | X | конкурентне | Ні | ||||||
| Gosu[en] | Застосунки, загального призначення, написання скриптів, Web | X | X | X | X | Ні | ||||
| GraphTalk | Застосунки | X | логічне | Ні | ||||||
| Groovy | Застосунки, загального призначення, написання скриптів, Web | X | X | X | Аспектно-орієнтоване | In progress, JCP[16] | ||||
| Harbour[en] | Застосунки, бізнес-логіка, обробка даних, загального призначення, Web | X | X | X | X | X | X | декларативне | Ні | |
| Haskell | Застосунки | X | X | ліниві обчислення | 2010, Haskell 2010[17] | |||||
| Haxe | Застосунки, загального призначення, Web | X | X | X | X | X | Ні | |||
| HyperTalk[en] | Застосунки, RAD, загального призначення | X | X | слабко типізована | Невідомо | |||||
| Io[en] | Застосунки, host-driven scripting | X | X | Ні | ||||||
| Мова | Intended use | Імперативне | Об'єктно-орієнтоване | Функційне | Процедурне | Узагальнене | Рефлективне | Подійно-орієнтоване | Інші парадигми | Стандартизована? |
| ISLISP[en] | Загального призначення | X | X | X | X | 1997, ISO | ||||
| J | Обробка даних | масиво-орієнтоване, комбінаторне, безточкове | Ні | |||||||
| JADE | Застосунки, розподілене | X | X | Ні | ||||||
| Java | Застосунки, бізнес-логіка, клієнтська сторона, загального призначення, серверна сторона, Web | X | X | X | X | конкурентне | De facto стандарт за Java Language Specification | |||
| JavaScript | Клієнтська сторона, серверна сторона, Web | X | X | X | X | Прототипне | 1997, ECMA | |||
| Joy[en] | Дослідження | X | стекова | Ні | ||||||
| K | Обробка даних, бізнес-логіка | масиво-орієнтоване, безточкове | Невідомо | |||||||
| Kotlin | Застосунки, мобільні застосунки, серверна сторона, клієнтська сторона, Web (JavaScript, HTML, CSS) | X | X | X | X | |||||
| LabVIEW (G) | Застосунки, промислове моделювання і автоматизація | програмування потоків даних, візуальне | Ні | |||||||
| Lisp | Загального призначення | X | Невідомо | |||||||
| Livecode[en] | Застосунки, RAD, загального призначення | X | X | слабко типізована | Ні | |||||
| Logtalk[en] | Штучний інтелект, застосунки | X | X | X | логічне | Ні | ||||
| Lua | Застосунки, embedded scripting | X | X[18] | X | X | X | Аспектно-орієнтоване | Ні[19] | ||
| Maple | Символьні обчислення, обчислення | X | X | X | X | розподілене | Ні | |||
| Mathematica | Символьні обчислення | X | X | X | X | логічне, розподілене | Ні | |||
| MATLAB | Дуже специфічна для предметної області, обчислення | X | X | X | Ні | |||||
| Modula-2[en] | Застосунки, системне програмування | X | X | 1996, ISO[20] | ||||||
| Modula-3[en] | Застосунки | X | X | X | Ні | |||||
| Oberon | Застосунки, системне програмування | X | X | Ні | ||||||
| Object Pascal (Delphi) | Застосунки, загального призначення, мобільні застосунки, Web | X | X | X | X | X | X | структурне | Ні | |
| Objective-C | Застосунки, загального призначення | X | X | X | конкурентне | Ні | ||||
| Occam | Загального призначення | X | X | конкурентне, process-oriented[en] | Ні | |||||
| Opa | Веб-застосунки | X | X | X | розподілене | Ні | ||||
| Oxygene | Застосунки | X | X | X | Ні | |||||
| Oz | Застосунки, розподілені обчислення, навчання | X | X | X | конкурентне, логічне | Ні | ||||
| Pascal | Застосунки, навчання | X | X | 1983, ISO[21] | ||||||
| Perl | Застосунки, написання скриптів, обробка текстів, Web | X | X | X | X | X | X | Ні | ||
| PHP | Серверна сторона, веб-застосунки, Web | X | X[22] | X[23] | X | Ні | ||||
| PL/I | Застосунки | X | X | X | 1969 | |||||
| Мова | Intended use | Імперативне | Об'єктно-орієнтоване | Функційне | Процедурне | Узагальнене | [[[Рефлексія (програмування)|Рефлективне]] | Подійно-орієнтоване | Інші парадигми | Стандартизована? |
| Plus[en] | Застосунки, розробка систем | X | X | Ні | ||||||
| Prolog | Застосунки, штучний інтелект | логічне | 1995, ISO | |||||||
| PureBasic[en] | Застосунки | X | Ні | |||||||
| Python | Застосунки, загального призначення, Web, написання скриптів, ШІ, наукові обчислення | X | X | X | X | Аспектно-орієнтоване | Ні | |||
| Racket | Навчання, загального призначення, написання скриптів | X | X | X | X | модульне, логічне, метапрограмування | Ні | |||
| REALbasic[en] | Застосунки | X | Невідомо | |||||||
| REBOL | розподілене | X | X | X | dialected[en] | Ні | ||||
| IBM RPG | Застосунки, системне програмування | X | X | Ні | ||||||
| Ruby | Застосунки, написання скриптів, Web | X | X | X | X | Аспектно-орієнтоване | 2011(JIS X 3017), 2012(ISO/IEC 30170) | |||
| Rust | Застосунки, системне програмування | X | X | X | X | X | конкурентне | Ні | ||
| S | Застосунки, статистика | X | X | X | X | Ні | ||||
| S-Lang[en] | Застосунки, обчислення, написання скриптів | X | X | Ні | ||||||
| Scala | Застосунки, розподілене, Web | X | X | X | X | X | X | De facto стандарт via Scala Language Specification (SLS) | ||
| Scheme | Навчання, загального призначення | X | 1998, R6RS | |||||||
| Seed7[en] | Застосунки, загального призначення, написання скриптів, Web | X | X | X | X | багатопарадигмальне, розширюване, структурне | Ні | |||
| Simula | Навчання, загального призначення | X | X | X | Дискретно-подійне моделювання, багатопоточне (квазіпаралельне) виконання програм | 1968 | ||||
| Small Basic | Застосунки, навчання, ігри | X | X | компонентно-орієнтоване | Ні | |||||
| Smalltalk | Застосунки, навчання | X | X | X | конкурентне, декларативне | 1998, ANSI | ||||
| SNOBOL | Обробка текстів | Невідомо | ||||||||
| Standard ML | Застосунки | X | X | X | 1997, SML '97[24] | |||||
| Swift | Застосунки, загального призначення | X | X | X | X | конкурентне | Ні | |||
| Tcl | Застосунки, написання скриптів, Web | X | X | X | X | Ні | ||||
| Visual Basic | Застосунки, RAD, навчання, бізнес-логіка, загального призначення, (включно з VBA), автоматизація офісних застосунків | X | X | X | компонентно-орієнтоване | Ні | ||||
| Visual Basic .NET | Застосунки, RAD, навчання, Web, бізнес-логіка, загального призначення | X | X | X | X | X | Ні | |||
| Visual FoxPro[en] | Застосунки | X | дата-центричне, логічне | Ні | ||||||
| Visual Prolog[en] | Застосунки | X | X | X | X | декларативне, логічне | Ні | |||
| Windows PowerShell | Системне адміністрування, скрипти | X | X | X | X | конвеєрне | Ні | |||
| XL[en] | X | X | concept programming[en] | Ні | ||||||
| Xojo[en] | Застосунки, RAD, загального призначення, Web | X | X | X | X | X | Ні | |||
| Мова | Intended use | Імперативне | Об'єктно-орієнтоване | Функційне | Процедурне | Узагальнене | Рефлективне | Подійно-орієнтоване | Інші парадигми | Стандартизована? |
Номінальна система типів означає, що сумісність типізації та/або еквівалентність вирішується на основі очевидних оголошень та імен.
Структурна система типів оначає, що сумісність типізації та/або еквівалентність вирішується на основі визначення і характеристики типів.
Перевірка типів визначає, чи будуть перевіряються типи, як і коли.
Статична перевірка означає, що помилки типу повідомляються на основі тексту програми (вихідного коду). Динамічна перевірка означає, що помилки типу повідомляються на основі динаміки чи іншій програмі (під час виконання) поведінки.
| Мова | Типобезпечність | Приведення типів | Сумісність та еквівалентність типів | Перевірка типів |
|---|---|---|---|---|
| ActionScript 3.0 | safe | неявне з можливим явним | Статична | |
| Ada | safe[TS 1] | явне | номінальна | Статична |
| Aldor[en] | unsafe | неявне | Статична | |
| ALGOL 58[en] | safe | явне | Статична | |
| ALGOL 60[en] | safe | явне | Статична | |
| ALGOL 68[en] | safe | явне | структурна | Статична & тип-сума |
| APL | safe | Динамічна | ||
| AutoHotkey | безтипова | n/a | n/a | n/a |
| Ateji PX[en] | safe | явне | номінальна | Статична |
| BASIC | safe | явне | номінальна | Статична |
| BLISS[en] | typeless | n/a | n/a | n/a |
| BeanShell | safe | номінальна | Динамічна | |
| Boo | safe | неявне з можливим явним | Статична з опціональною динамічною | |
| Bro | safe | неявне з можливим явним | номінальна | Статична |
| C | unsafe | явне | номінальна | Статична |
| C++ (ISO/IEC 14882) | unsafe | явне | номінальна | Статична[TS 2] |
| C# | unsafe[TS 3] | неявне з можливим явним | номінальна | Статична[TS 4] |
| Clean[en] | safe | неявне | Статична | |
| Clojure | safe | неявне з можливим явним | Динамічна | |
| COBOL | safe | явне | номінальна | Статична |
| ColdFusion (CFML) | safe | неявне | Динамічна | |
| Common Lisp | safe | неявне з можливим явним | Динамічна | |
| Curl[en] | safe | номінальна | ||
| Cython | safe | неявне з можливим явним | номінальна (розширені типи) і структурна (Python) | Динамічна з опціональною статичною |
| D | unsafe[TS 3] | явне | номінальна | Статична |
| Dylan | safe | Динамічна | ||
| Dynace | safe | неявне | Динамічна | |
| Eiffel | safe | номінальна | Статична | |
| Erlang | safe | неявне | Динамічна | |
| Euphoria[en] | safe | явне, з неявним для об'єктів | номінальна | Статична, динамічна для об'єктів |
| F# | safe | неявне | номінальна | Статична |
| Falcon | safe | неявне | структурна | Динамічна |
| Forth | typeless | n/a | n/a | n/a |
| Fortran | safe | явне[TS 5] | номінальна | Статична |
| Gambas | safe | явне | номінальна | |
| GLBasic[en] | safe | явне. Неявні оголошення можливі у налаштуваннях проєкта | номінальна | Статична |
| Go[25] | safe | неявне з можливим явним | структурна | Статична |
| Gosu[en] | safe | частково неявне (локальне приведення типів) | номінальна (subclassing) і структурна (структурна) | Статична |
| Groovy | safe | неявне з можливим явним | Динамічна з опціональною статичною | |
| Harbour[en] | safe | неявне з можливим явним | Динамічна | |
| Haskell | safe | неявне з можливим явним | структурна | Статична |
| Haxe | safe | неявне з можливим явним | номінальна (subclassing) і структурна (структурна) | Статична з опціональною динамічною |
| Io[en] | safe | неявне | Динамічна | |
| ISLISP[en] | safe | Динамічна | ||
| J | safe | Динамічна | ||
| Java | safe[26] | явне | номінальна | Статична |
| JavaScript | safe | неявне | структурна | Динамічна |
| Joy[en] | safe | Динамічна | ||
| Kotlin | safe | частково неявне (локальне приведення типів) | номінальна | Статична |
| LabVIEW | safe | |||
| Lua | safe | неявне | Динамічна | |
| Maple | safe | Динамічна | ||
| Mathematica | safe | Динамічна | ||
| MATLAB M-code | safe | Динамічна | ||
| Modula-2[en] | unsafe[TS 3] | явне | номінальна | Статична |
| Modula-3[en] | unsafe[TS 3] | явне | структурна | Статична |
| Oberon | safe | явне | номінальна | Статична і частково динамічна[TS 6] |
| Objective-C | safe | явне | номінальна | Динамічна з опціональною статичною[27] |
| OCaml | safe | неявне з можливим явним | структурна | Статична |
| Object Pascal (Delphi) | safe | явне | номінальна | Статична |
| Opa | safe | неявне з можливим явним | структурна | Статична |
| Oxygene | unsafe | неявне | Статична | |
| Oz | safe | неявне | структурна | Динамічна |
| Pascal | unsafe[TS 3] | явне | номінальна | Статична |
| Perl 5 | неявне | Динамічна | ||
| Perl 6 | частково неявне[TS 7] | Динамічна з опціональною статичною | ||
| PHP | неявне | Динамічна | ||
| Plus[en] | safe | явне | структурна | Статична, динамічна (опціонально) |
| Prolog | Динамічна | |||
| Pure[en] | Динамічна | |||
| Python | safe | неявне | структурна | Динамічна |
| REBOL | safe | неявне | Динамічна | |
| IBM RPG | unsafe | Статична | ||
| Ruby | safe | неявне | структурна | Динамічна |
| Rust | safe | неявне з можливим явним | Статична з опціональною динамічною | |
| S | Динамічна | |||
| S-Lang[en] | safe | неявне | Динамічна | |
| Scala | safe | частково неявне (локальне приведення типів) | номінальна (subclassing) і структурна (структурна) | Статична |
| Scheme | safe | неявне | Динамічна (прихована) | |
| Seed7[en] | safe | явне | номінальна | Статична |
| Simula | safe | Статична[TS 8] | ||
| Smalltalk | safe | неявне | Динамічна | |
| Stiard ML | safe | неявне з можливим явним | структурна | Статична |
| Tcl | Динамічна | |||
| Visual Basic | safe | неявне з можливим явним | номінальна | Статична |
| Visual Basic .NET | unsafe[TS 3] | явне | Статична | |
| Visual Prolog[en] | safe | частково неявне | номінальна | Статична |
| Windows PowerShell | safe | неявне | Динамічна | |
| XL[en] | safe | номінальна | Статична | |
| Xojo[en] | safe | явне | номінальна | Статична |
- ↑ Unsafe operations are well isolated by a "Unchecked_" prefix.
- ↑ with optional dynamic type casting (see dynamic cast)
- ↑ а б в г д е It is almost safe, unsafe features are not commonly used.
- ↑ with optional dynamic type (see dynamic member lookup[en])
- ↑ Optionally, typing can be explicitly implied by the first letter of the identifier (known as implicit typing within the Fortran community).
- ↑ dynamic checking of type extensions i.e. inherited types
- ↑ explicit for static types
- ↑ optional for formal and virtual procedures
Більшість мов програмування виводять повідомлення про помилки та/або винятки якщо операція не виконана. Нижче наведені мови виводять ці повідомлення.
| Мова | Failsafe I/O |
|---|---|
| Ada | Так (винятки) |
| ALGOL | Так (винятки або повернуті значення залежно від функції) |
| AutoHotkey | Ні (має бути явно перевірена глобальна змінна ErrorLevel) |
| Bro | Так |
| C | Ні[FSIO 1] |
| C++ | Ні[FSIO 2] |
| C# | Так |
| COBOL | Ні |
| Common Lisp | Так |
| D | Так[джерело?] |
| Eiffel | Ні – залежить від бібліотеки і не визначено самою мовою |
| Erlang | Так |
| Falcon | Так |
| Fortran | Так |
| GLBasic[en] | Ні – у загальному випадку програма аварійно завершується |
| Go | Ні |
| Gosu[en] | Так |
| Harbour[en] | Так |
| Haskell | Так |
| ISLISP[en] | Так |
| Java | Так |
| Kotlin | Так |
| LabVIEW | Так |
| Lua | Ні (деякі функції не повертають попереджень чи винятків) |
| Mathematica | Так |
| Object Pascal (Delphi) | Деякі |
| Objective-C | Так (exceptions) |
| OCaml | Так (exceptions) |
| Perl | Ні[FSIO 3] |
| PHP | Так |
| Python | Так |
| REBOL | Так |
| Ruby | Так |
| Rust | Так |
| S | Невідомий |
| Scala | Так[28] |
| Standard ML | Так[джерело?] |
| Tcl | Так |
| Visual Basic | Так |
| Visual Prolog[en] | Так |
| Xojo[en] | Так |
| Language | Failsafe I/O |
- ↑ gcc can warn on unchecked error status. Newer versions of Visual Studio usually throw exceptions on failed I/O when using stdio.
- ↑ g++ can warn on unchecked error status. Newer versions of Visual Studio usually throw exceptions on failed I/O when using stdio.
- ↑ Considerable error checking can be enabled optionally, but by default Perl is not failsafe.
- 99-bottles-of-beer.net — one program in over a thousand variations and multiple languages.
- The speed, size and dependability of programming languages — charts and narrative based on The Computer Language Benchmarks Game data.
- Shapes: Source Code Size and Run Time - charts based on current Benchmarks Game data.
- Comparison of syntaxes with sample codes.
- Syntax Across Languages
- Scriptometer scores — multiple comparisons of 26 programming languages.
- PLEAC — Programming Language Examples Alike Cookbook.
- OHLOH Language Statistics — gives an indication of the popularity of programming languages in open-source projects.
- History of Programming Language Statements — history and comparison of programming languages.
- Top 20 Most Popular Programming Languages of 2017 - Research of Most Popular Programming Languages.
- Best Programming Languages to Learn in 2022 - Research of the most promising programming languages to learn.
- ↑ 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
- ↑ Vak.ru
- ↑ ISO 1538:1984
- ↑ Vak.ru (PDF). Архів оригіналу (PDF) за 24 березня 2017. Процитовано 25 червня 2014.
- ↑ JSR 274
- ↑ CM.bell-labs.com. Архів оригіналу за 28 березня 2015. Процитовано 25 червня 2014.
- ↑ ANSI C89, ISO/IEC 9899:1990, 1999, 2011
- ↑ ISO/IEC 14882:1998, 2003, 2011
- ↑ Codeproject.com: Functional Programming in C# 3.0 using Lambda Expression
- ↑ ECMA-334; ISO/IEC 23270:2006
- ↑ Softvelocity.com
- ↑ ECMA-367; ISO/IEC 25436:2006
- ↑ JSR 241
- ↑ The Haskell 2010 Language Report. Процитовано 7 грудня 2011. Most Haskell implementations extend the Haskell 2010 standard.
- ↑ 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
- ↑ ISO 7185
- ↑ PHP Manual, Chapter 19. Classes and Objects (PHP 5),
- ↑ PHP Manual, Chapter 17. Functions
- ↑ SMLNJ.org
- ↑ The Go Programming Language Specification
- ↑ Sheng Liang, Gilad Bracha. Dynamic class loading in the Java virtual machine. Volume 33, Issue 10 of ACM SIGPLAN Notices, October 1998.
- ↑ Developer.apple.com
- ↑ Scala runs on the Java Virtual Machine from which it inherits the runtime exception handling.