Порівняння мов програмування
Мови програмування використовуються для управління поведінкою машини (частіше комп'ютера). Як і людські мови, мови програмування відповідають правилам синтаксису і семантики. Зараз існують тисячі мов програмування і щороку створюються нові. З цих мов не всі стають популярними, деякі з них просто використовуються невеликою кількістю людей, але професійні програмісти можуть користуватися десятками мов у своїй кар'єрі.
У таблиці порівнюється загальна і технічна інформація для вибору частіше використовуваних мов програмування. Увага! У цій таблиці можуть бути відсутні деякі відомості.
Мова | Передбачуване використання | Імперативне | Об'єктно-орієнтоване | Функційне | Процедурне | Узагальнене | Рефлективне | Подійно-орієнтоване | Інші парадигми | Стандартизована? |
---|---|---|---|---|---|---|---|---|---|---|
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[en] | Застосунки, бізнес-логіка, загального призначення, 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[en] | Застосунки, розподілені обчислення, навчання | 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 | явне | структурна | Статична & tagged unions[en] |
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[en] | 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 | неявне | Динамічна | |
Stіard 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.