Поређење програмских језика

С Википедије, слободне енциклопедије

Програмски језици се користе за контролу понашања машине (често рачунара). Као природни језици, програмски језици су у складу са правилима синтаксе и семантике.

Постоје хиљаде програмских језика[1] и сваке године се стварају нови. Мали број језика икада постане довољно популаран да њих користе више људи, али професионални програмери могу да користе десетине различитих језика у каријери.

Опште упоређивање[уреди | уреди извор]

У следећој табели се упоређују опште и техничке информације најчешће коришћених програмских језика. Види чланке појединачних језика за додатне информације. Имајте на уму да у наредној табели можда недостаје неке информације.

Језик намена Императив Објектно-оријентисано Функционални Процедурални Генерички Рефлективни Догађај-погон Друге парадигме Стандардизација?
ActionScript 3.0 Application, client-side, Web Да Да Да 1996, ECMA
Ада Апликација, уграђен, стварно време, систем Да Да[2] Да[3] Да[4] упоредни,[5] расподељен,[6] 1983, 2005, 2012, ANSI, ISO, GOST 27831-88[7]
Алдор Висок домен-специфичности, симболично рачунарство Да Да Да Не
АЛГОЛ 58 Апликација Да Не
АЛГОЛ 60 Апликација Да 1960, IFIP WG 2.1, ISO[8]
АЛГОЛ 68 Апликација Да истовремен 1968, IFIP WG 2.1, GOST 27974-88,[9]
Атеји Пикс Паралелна апликација Да пи рачун Не
АПЛ Примена, обрада података Низно оријентисано, прећутно 1989, ISO
Асемблер Општи Да сваки, синтакса је обично високо специфична, у односу на циљни процесор Да
Ауто Хотки GUI аутоматизација (макрои), високо специфични домен Да Не
АутоИт GUI аутоматизација (макрои), високо специфични домен Да Да Да Не
Баш Љуска, скрипта Да Да
Бејзик Примена, едукација Да Да 1983, ANSI, ISO
ББј Апликација, бизнис, веб Да Да Не
БинШел Апликација, скрипза Да Да Да Да у прогресу, JCP[10]
БитЦ Систем Да Да Да Да Не
БЛИСС Систем Да Не
БлицМакс Примена, игра Да Да Да Не
БЛУ Едукација Да Да Да Не
Бу Примена Не
Бро специфичан домен, примена Да Да Не
C Примена, систем,[11]

опште намене, операције на ниском нивоу

Да Да 1989, ANSI C89, ISO C90, ISO C99, ISO C11[12]
C++ Примена, систем Да Да Да Да Да 1998, ISO/IEC 1998, ISO/IEC 2003, ISO/IEC 2011[13]
C# Примена, РАД, бизнис, на страни клијента, уопште, на страни сервера, веб Да Да Да<![14] Да Да Да Да структуриран, истовремено 2000, ECMA, ISO[15]
Кларион Опште, бизноц, веб Да Да Да[16] Непознато
Клин Општа Да Да Не
Clojure Општа Да истовремен Не
КЛУ Општа Да Да Да Да Не
Кобол Примена, бизнис Да Да Да Да ANSI X3.23 1968, 1974, 1985; ISO/IEC 1989:1985, 2002, 2014
Кобра Примена, бизнис, општа, веб Да Да Да Да Да Не
КолдФјужн (ЦФМЛ) Веб Да Да Не
Common Lisp Општа Да Да Да Да Да Да проширирена синтакса, syntactic macros, multiple dispatch 1994, ANSI
КОМАЛ 80 Едукација Да Да Не
Кристал 1.0.0 Едукација Да Да Да Не
Cython Примена, општа, нумеричко рачунарство Да Да Да Да аспект-оријентисан Не
Де Application, system Да Да Да Да Да Да генеративан, истовремен Не
Дарт Примена, веб Да Да структуирана Не
Дилан Примена Да Да Не
Ајфел Општа, примена, бизнис, страни клијент, на страни сервера, веб (ЕВФ) Да Да Да[17][18] Да Да Erl-G Да Агентс расподељено израчунавање SCOOP, Void-safe 2005, ECMA, ISO[19]
Еликсир Апликација, дистрибуиран Да истовремен, дистрибуирано Не
Ерланг Апликација, дистрибуиран Да истовремен, дистрибуиран Не
Еуфорија Апликација Да Да Не
Фактор стек-оријентисан Не
Фалкон Опште, апликације Да Да Да прототип ООП, порука оријентисани, табеларно програмирање Не
ФП Да Не
F# Апликација Да Да Да Да Не
Форт Општа Да може се видети стек-оријентисан 1994, ANSI
Фортран Апликација, нумеричко рачунарство Да Да Да Да 1966, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003, ISO/IEC 1539-1:2010 (2008)
ФриБЕЈЗИК Апликација, нумеричко рачунарство Да Да Да Да Не
Г2 Апликација, интерфејс, експерт систем Да Да Да заједнички развој и графички рунтајм окружења Не
Гамбас Апликација Да Да Да Не
Game Maker Језик Апликација, игрице Да Да Да Не
ГЛБејзик Апликација, игрице Да Да Да лак објектно-орјентисани Не
Гоу Апликација, веб, страни сервера Да Да Да Да Да Да истовремен Не
Госу Апликација, опште, скриптинг, веб Да Да Да Да Не
ГрафТолк Апликација Да логичан Не
Груви Апликација, опште, скриптинг, веб Да Да Да аспект-орјентисан У прогресу, JCP[20]
Харбур Апликација, бизнис, обрада података, генерално, веб Да Да Да Да Да Да декларативно Не
Хаскел Апликација Да Да лења еволуција 2010, Haskell 2010[21]
Хаксе Апликација, опште, веб Да Да Да Да Да Не
ХиперНекст Апликација, едукација Да Да слабо куцање Не
ХиперТолк Апликација, РАД, Опште Да Да слабо куцање Непознато
ИО Апликација, изгубљен-дривен скриптинг Да Да Не
ИСЛИП Опште Да Да Да Да 1997, ISO
J Обрада података орјентисан-низ, Ниво функције, прећутан Не
JAДЕ Апликација, дистрибуирано Да Да Не
Јава Апликација, бизнис, на страни клијента, генерални, мобилни развој, на страни сервера, веб Да Да Да Да Да Да истовремен De facto standard via Java Језик Specification
Јулија Општи и направљен за техничко рачунарство Да Да Да Да Да Да Вишеструка депеша, мета, скаларни и низ-оријентисан, паралелан, истовремен, дистрибуиран ("облак") Не
Јаваскрипт Клијент-страни, на страни сервера, веб Да Да Да Да Програмирање засновано на прототипу 1997, ECMA
Џој истраживање Да стек-оријентисан Не
K Обрада података, бизнис орјентисан низ, прећутан Непознато
Котлин Апликација, мобилни развој, сервер-сиде, на страни клијента, веб Да Да Да Да Да[22] Не
ЛабВју (Г) Апликација, индустријски инструменти-аутоматизације Да Да Да Да Податак-ток програмирање, визуелно Не
Lisp Општа Да Непознато
Лајвкод Апликација, РАД, опште Да Да слабо куцање Не
Логтолк Вештачка интелигенција, апликација Да Да Да логичан Не
Луа Апликација, уграђен скриптинг Да Да[23] Да Да Да аспект-орјентисан Не[24]
Мапле Симболичко рачунање, нумеричко рачунарство Да Да Да Да дистрибуирано Не
Mathematica Симболички језик Да Да Да Да логичан, дистрибуиран Не
MATLAB Високо-специфични домен, нумеричко рачунарство Да Да Да Не
Модула-2 Апликација, систем Да Да 1996, ISO[25]
Модула-3 Апликација Да Да Да Не
МУМПС (M) Апликација, база података Да Да истовремен, мулти-корисник, НоСкул, процес трансакције 1977, ANSI
Ним Апликација, опште, веб, скриптинг, систем Да Да Да Да Да Да Вишеструка депеша, Истовремени, мета Не
Оберон Аплиација, систем Да Да Не
Објектни Паскал (Делфи) Апликација, опште, мобилни апликација, веб Да Да Да Да Да Да структуиран Не
Objective-C Апликација, опште Да Да Да истовремен Не
OКамл Апликација Да Да Да Да Не
Оккам Опште Да Да concurrent, процесно-орјентисано Не
Опа Веб апликације Да Да Да дистрибуирано Не
Оксиген Апликација Да Да Да Не
Оз Апликација, дистрибуција, едукација Да Да Да истовремен, логичан Не
Паскал Апликација, едукација Да Да 1983, ISO[26]
Перл Апликација, скриптинг, обрада текста, веб Да Да Да Да Да Да Не
PHP Сервер-страна, веб апликација, веб Да Да[27] Да[28] Да Не
ПЛ/И Апликација Да Да Да 1969
Плус Апликација, развој система Да Да Не
Пролог Апликација, вештачка интелигенција логичан 1995, ISO
ПјурБејзик Апликација Да Не
Пајтон Апликација, опште, веб, скриптинг, вештачка интелигенција, Сциентифиц Цомпутинг Да Да Да Да Да аспект-орјентисан Не
R Апликација, статистика Да Да Да Да Не
Рекет Едукација, опште, скриптинг Да Да Да Да модулар, логичан, мета Не
РИЛбејзик Апликација Да Непознато
РИБОЛ Дистрибуиран Да Да Да дијалект Не
РПГ Апликација, систем Да Да Не
Руби Апликација, скриптинг, веб Да Да Да Да аспект-орјентед 2011(JIS X 3017), 2012(ISO/IEC 30170)
РАСТ Апликација, систем Да Да Да Да Да истовремен Не
С Апликација, статистика Да Да Да Да Не
С-Ленг Апликација, нумерика, скриптинг Да Да Не
Скала Апликација, дистрибуирано, веб Да Да Да Да Да Да De facto standard via Scala Језик Specification (SLS)
Scheme Едукација, општа Да 1998, R6RS
Sид7 Апликација, општа, скрипта, веб Да Да Да Да мулти-парадигма, проширива, структурирана Не
Симула Едукација, опште Да Да Да симулација дискретних догађаја, нит (квази-паралелно) извршење програма 1968
Смол Бејзик Апликација, едукација, игрице Да Да компонентно Не
Smalltalk Апликација, општа, бизнис, веб, вештачка интелигенција, образовање Да Да Да Да Да истовремен, декларативан 1998, ANSI
СноБол Обрада текста Непознато
Стандард МЛ Апликација Да Да Да 1997, SML '97[29]
Свифт Апликација, општа Да Да Да Да Да Да истовремено Не
Tcl Апликација, скрипта, веб Да Да Да Да Да Да Не
Вижуал бејсик Апликација, РАД, едукација, бизнис, општа, (Укључује ВБА), Канцеларија за аутоматизацију Да Да Да Да компонентно Не
Visual Basic .NET Апликација, РАД, едукација, веб, бизнис, општа Да Да Да Да Да Да Да структуирано, дистрибутивно Не
Вижуал ФоксПро Апликација Да Подаци аспекта, логичан Не
Вижуал Пролог Апликација Да Да Да Да декларативно, логичан Не
Windows PowerShell Администрација Да Да Да Да цевовод Не
Волфрам Језик Симболички језик Да Да Да Да логичан, дистрибуиран Не
XL Да Да концептуално програмирање Не
Xojo Апликација, РАД, општа, веб Да Да Да Да Да Не
Језик Намена Императив Објектно-орјентисани Функционални Процедурални Генерички Рефлективни Догађај-погон Друге парадигме Стандардизација?

Тип система[уреди | уреди извор]

Кратке дефиниције

  • Номинални тип система значи да језик одлучује да ли су врсте компатибилне и/или еквивалентне на основу експлицитних израза и назива.
  • Структурални тип система значи да језик одлучује да ли су врсте компатибилне и/или еквиваленте на основу дефиниције и карактеристика врсте.
  • Тип провере одређује да ли и када се могу утврдити врсте. Статичка провера значи да ли су типови грешкака пријављени на основу текста (изворни код). Динамичка провера значи да су типови грешака пријављени на основу динамике програма (рун-тајм) понашања.
Језик Сигуросни тип Систем типова Тип провере Тип провере
Actionscript 3.0 безбедан имплицитно са опционалним експлицитним куцањем статичан
Ада безбедан[TS 1] експлицитни именски статичан
Алдор несигуран имплицитни статичан
Алгол 58 безбедан експлицитни статичан
Алгол 60 безбедан експлицитни статичан
Алгол 68 безбедан експлицитни структурални статичан & tagged unions
АПЛ безбедан динамичан
Ауто Хотки мањи н/а н/а н/а
Атеји ПИX безбедан експлицитни именски статичан
Баш ? ? ? ?
Бејсик безбедан експлицитни именски статичан
БЛИС мањи н/а н/а н/а
БинШел безбедан именски динамичан
Бу безбедан имплицитни са оптималним експлицитним куцањем статичан са оптималним динамичним куцањем
Бро безбедан имплицитни са оптималним експлицитним куцањем именски статичан
C несигуран експлицитни именски статичан
C++ (ISO/IEC 14882) несигуран експлицитни именски статичан[TS 2]
C# несигуран[TS 3] имплицитни са оптималним експлицитним куцањем именски статичан[TS 4]
Клин безбедан имплицитни статичан
Clojure безбедан имплицитни са оптималним експлицитним куцањем динамичан
Кобол безбедан експлицитни именски статичан
КолдФјужн (СФМЛ) безбедан имплицитни динамичан
Common Lisp безбедан имплицитни са оптималним експлицитним куцањем динамичан
Курл безбедан именски
Cython безбедан имплицитни са оптималним експлицитним куцањем именски (типови израза) и структурални (Пајтон) динамичан са оптималним статичним куцањем
Д несигуран[TS 3] експлицитни именски статичан
Дилан безбедан динамичан
Ајфел безбедан именски статичан
Ерланг безбедан имплицитни динамичан
Еуфорија безбедан експлицитни, имплицитни са објектима именски статичан, динамичан са објектима
F# безбедан имплицитни именски статичан
Фалкон безбедан имплицитни структурални динамичан
Форт мањи н/а н/а н/а
Фортран безбедан експлицитни[TS 5] именски статичан
Гамбас безбедан експлицитни именски
ГЛБејсик безбедан експлицитни. не-експлицитне декларације доступне и преко опције пројекта именски статичан
Гоу[30] безбедан имплицитни са оптималним експлицитним куцањем структурални статичан
Госу безбедан посебно имплицитни (локални тип интерфејса) именски (поткласа) и структурални (структурални) статичан
Груви безбедан имплицитни са оптималним експлицитним куцањем динамичан са оптималним статичним куцањем
Харбур безбедан имплицитни са оптималним експлицитним куцањем динамичан
Хаскел безбедан имплицитни са оптималним експлицитним куцањем структурални статичан
Хејкс безбедан имплицитни са оптималним експлицитним куцањем именски (поткласа) и структурални (структурални) статичан са оптималним динамичним куцањем
Ио безбедан имплицитни динамичан
ИСЛИП безбедан динамичан
Ј безбедан динамичан
Јава безбедан[31] експлицитни именски статичан
Јаваскрипт безбедан имплицитни структурални динамичан
Јулија безбедан имплицитни са оптималним експлицитни куцањем[32]
Џои безбедан динамичан
Котлин безбедан посебно имплицитни (локални тип интерфејса) именски статичан
ЛабВју безбедан
Луа безбедан имплицитни динамичан
Мепл безбедан динамичан
Математика безбедан динамичан
МАТЛАБ M-код безбедан динамичан
Модула-2 несигуран[TS 3] експлицитни именски статичан
МОдула-3 несигуран[TS 3] експлицитни структурални статичан
МУМС (M) мањи н/а н/а н/а
Оберон безбедан експлицитни именски статичан and partially динамичан[TS 6]
Objective-C безбедан експлицитни именски динамичан са optional статичан куцање[33]
ОКамл безбедан имплицитни са оптималним експлицитним куцањем структурални (резултату су именски) статичан
Објектни Паскал (Делфи) безбедан експлицитни именски статичан
Опа безбедан имплицитни са optional експлицитни куцање структурални статичан
Оксиген несигуран имплицитни статичан
Оз безбедан имплицитни структурални динамичан
Паскал несигуран[TS 3] експлицитни именски статичан
Перл 5 имплицитни динамичан
Перл 6 посебно имплицитни[TS 7] динамичан са оптималним статичним куцањем
PHP имплицитни са оптималним експлицитним куцањем динамичан
Плус безбедан експлицитни структурални статичан, динамичан (опциони)
Пролог динамичан
Пјур динамичан
Пајтон безбедан имплицитни структурални динамичан
РИБОЛ безбедан имплицитни динамичан
Рекс мањи н/а, имплицитни wrt бројеви н/а статичан+динамичан wrt бројеви
РПГ несигуран статичан
Руби безбедан имплицитни структурални динамичан
Руст безбедан имплицитни са оптималним експлицитним куцањем статичан са оптималним динамичним куцањем
ЕС динамичан
ЕС-Ланг безбедан имплицитни динамичан
Скала безбедан посебно имплицитни (локални тип интерфејса) именски (поткласа) и структурални (структурални) статичан
Scheme безбедан имплицитни динамичан (спор)
Сид7 безбедан експлицитни именски статичан
Симула безбедан статичан[TS 8]
Smalltalk безбедан имплицитни динамичан
Свифт безбедан посебно имплицитни (локални тип интерфејса) именски (поткласа) и структурални (структурални) статичан
Стандардни МЛ безбедан имплицитни са оптималним експлицитним куцањем структурални статичан
Tcl динамичан
Вижуал бејсик безбедан имплицитни са оптималним експлицитним куцањем именски статичан
Visual Basic .NET несигуран[TS 3] експлицитни статичан
Вижуал Пролог безбедан посебно имплицитни именски статичан
Волфрам језик безбедан динамичан
Windows ПоверШел безбедан имплицитни динамичан
XL безбедан именски статичан
Xojo безбедан експлицитни именски статичан
Језик Сигуросни тип Систем типова Тип компатибилности међу сложенима Тип провере
  1. ^ Несигуран operations are well isolated by a "Unchecked_" prefix.
  2. ^ са optional динамичан type casting (see динамичан cast)
  3. ^ а б в г д ђ It is almost безбедан, unбезбедан features are неt commonly used.
  4. ^ са optional динамичан type (see динамичан member lookup)
  5. ^ Optionally, куцање can be експлицитниly implied by the first letter of the identifier (known as имплицитни куцање саin the Fortran community).
  6. ^ динамичан checking of type extensions i.e. inherited types
  7. ^ експлицитни for статичан types
  8. ^ optional for formal and virtual procedures

Грешка сигурности И/O и систем позива[уреди | уреди извор]

Већина програмски језика ће одштампати поруку о грешци и/или избацити изузетак ако операција улаза/излаза или неки други систем позива (нпр chmod, kill) погреше, осим ако програмер није експлицитно уређен за различита руковање овим догађајима. Ово, ови језици ће сигурно одштампати грешку у том погледу.

Неки (углавном старији) језици захтевају да програмер експлицитно дода провере за ове врсте грешака. Психолошки, различите когнитивне предрасуде (нпр. оптимизам пристрасности) може да утиче на новајлије и стручњаке подједнако и ови пропусти могу довести до погрешног понашања.

Језик Грешке сигурности И/O
Ада Да (изузеци)
АЛГОЛ Да (изузеци или повратна вредност у зависности од функције)
Ауто Хотки Не (светски ErrorLevel може бити експлицитни означен)
Баш Опционо[FSIO 1]
Бро Да
C Не[FSIO 2]
C++ Не[FSIO 3]
Це# Да
КОБОЛ Не
Common Lisp Да
Де Да[тражи се извор]
Ејфел Не – Зависи од библиотеке у којој јет дефинише нет
Ерланг Да
Фалкон Да
Fortran Да
ГЛБејсик Не – Изазваће проблеме да се програм сруши
Гоу Да (осим ако се експлицитни резултат игнорише)
Госу Да
Харбур Да
Хаскел Да
ИСЛИП Да
Јава Да
Јулија Да
Котлин Да
ЛАБВју Да
Луа Не (неке функције не упозоравају нити избацују изузетке)
Математика Да
Објективни Паскал (Делфи) Неки
Objective-C Да (изузеци)
ОКамл Да (изузеци)
Перл Не[FSIO 4]
Перл 6 Да
PHP Да
Пајтон Да
РИБОЛ Да
Рекс Да (са optional signal on… trap handling)
РПГ Не
Руби Да
Руст Да (док се решења експлицитно игноришу)
ЕС Непознато
Smalltalk Да
Скала Да[34]
Стандардни ML Да[тражи се извор]
Свифт ≥ 2.0 Да (изузеци)
Tcl Да
Вижуал Бејсик Да
Вижуал Пролог Да
Волфрам језик Да
Xojo Да
Језик Грешке безбедности И/O
  1. ^ set -e enables termination if any unchecked exit status is неnzero.
  2. ^ gcc can warn on unchecked error status. Newer versions of Visual Studio usually throw exceptions on failed I/O when using stdio.
  3. ^ g++ can warn on unchecked error status. Newer versions of Visual Studio usually throw exceptions on failed I/O when using stdio.
  4. ^ Considerable error checking can be enabled optionally, but by default Perl is неt failбезбедан.

Изражајност[уреди | уреди извор]

Језик Statements ratio[35] Lines ratio[36]
Це 1 1
Це++ 2.5 1
Фортран 2 0.8
Јава 2.5 1.5
Перл 6 6
Smalltalk 6 6.25
Пајтон 6 6.5

Литература о програмским језицима садржи обиље неформалних тврдњи о њиховој релативној изражајној моћи, али не постоји оквир за формализовање такве изјаве, а без последица.[37] Ова табела даје две мере изражајности из два различита извора. Додатни мера експресивности, у GZip bytes, може се наћи на Computer Language Benchmarks Game.

Бенчмаркови[уреди | уреди извор]

Бенчмаркови су дизајнирани да опонашају одређену врсту оптерећења на компоненте или на цео систем. У рачунарским програмима се користе за израду неких података и у овом одељку можда нису у потпуности оптимизирани, а и релевантност података је спорна. Најпрецизнији тестови су они који су прилагођени за одређену ситуацију. Бенчмарк подаци других људи могу имати неку вредност, али правилно тумачење доноси многе изазове The Computer Језик Benchmarks Game сајт упозорава против over-generalizing from benchmark data, али садржи велики број микро-бенчмаркових читача-допринео је код, са интерфејсом који генерише различите графиконе и табеле које упоређују специфичне програмске језике и врсте тестова.

Хронологија поређења специфичних језика[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. ^ As of May 2006 Diarmuid Pigott's Encyclopedia of Computer Језикs Архивирано на сајту Wayback Machine (20. фебруар 2011) hosted at Murdoch University, Australia lists 8512 computer Језикs.
  2. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tagged Types and Type Extensions
  3. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 6: Subprograms
  4. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 12: Генерички Units
  5. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 9: Tasks and Synchronization
  6. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3 Annex E: Distributed Systems
  7. ^ „Vak.ru” (PDF). Архивирано из оригинала (PDF) 30. 03. 2017. г. Приступљено 15. 01. 2016. 
  8. ^ ISO 1538:1984
  9. ^ „Vak.ru” (PDF). Архивирано из оригинала (PDF) 24. 03. 2017. г. Приступљено 15. 01. 2016. 
  10. ^ JSR 274
  11. ^ „CM.bell-labs.com”. Архивирано из оригинала 22. 06. 2013. г. Приступљено 15. 01. 2016. 
  12. ^ ANSI C89, ISO/IEC 9899:1990, 1999, 2011
  13. ^ ISO/IEC 14882:1998, 2003, 2011
  14. ^ Codeproject.com: Функционални Programming in C# 3.0 using Lambda Expression[мртва веза]
  15. ^ ECMA-334; ISO/IEC 23270:2006
  16. ^ Softvelocity.com
  17. ^ Basic Eiffel Језик mechanisms
  18. ^ Closure (computer programming)
  19. ^ ECMA-367; ISO/IEC 25436:2006
  20. ^ JSR 241
  21. ^ „The Haskell 2010 Језик Report”. Приступљено 07. 12. 2011.  Most Haskell implementations extend the Haskell 2010 standard.
  22. ^ „M8 is out!”. „As a first peek into the future Рефлективни capabilities of Kotlin, you can now access properties as first-class objects in Kotlin 
  23. ^ 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
  24. ^ 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.
  25. ^ ISO/IEC 10514-1:1996
  26. ^ ISO 7185
  27. ^ PHP Manual, Chapter 19. Classes and Objects (PHP 5)[мртва веза]
  28. ^ PHP Manual, Chapter 17. Functions[мртва веза]
  29. ^ SMLNJ.org
  30. ^ The Go Programming Language Specification
  31. ^ Sheng Liang, Gilad Bracha. динамичан class loading in the Java virtual machine. Volume 33, Issue 10 of ACM SIGPLAN неtices, October 1998.
  32. ^ „Types — Julia Language 0.5.0-dev documentation[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 26. 12. 2015. г. Приступљено 15. 01. 2016.  Сукоб URL—викивеза (помоћ)
  33. ^ Developer.apple.com
  34. ^ Scala runs on the Java Virtual Machine from which it inherits the runtime exception handling.
  35. ^ McConnell, Steve (30. 11. 2009). Code Complete. Microsoft Press. стр. 100. ISBN 978-0-7356-3697-2. 
  36. ^ The ratio of line count tests won by each Језик to the number won by C when using the Compare to feature at benchmarksgame.alioth.debian.org[мртва веза]. Last updated May, 2006. C gcc was used for C, C++ g++ was used for C++, FORTRAN G95 was used for FORTRAN, Java JDK Server was used for Java, and Smalltalk GST was used for Smalltalk.
  37. ^ Felleisen, Matthias. On the Expressive Power of Programming Languages. ESOP '90 3rd European Symposium on Programming. CiteSeerX: 10.1.1.51.4656. 
  38. ^ Vrije Universiteit Amsterdam

Литература[уреди | уреди извор]

Спољашње везе[уреди | уреди извор]