Porovnání programovacích jazyků - Comparison of programming languages
Programovací jazyky se používají k řízení chování stroje (často a počítač ). Jako přirozené jazyky, programovací jazyky se řídí pravidly pro syntax a sémantika.
Existují tisíce programovacích jazyků[1] a každý rok se vytvářejí nové. Jen málo jazyků se stalo natolik populárním, že je používá více než několik lidí, ale profesionál programátoři může v kariéře používat desítky jazyků.
Většina programovacích jazyků není standardizována mezinárodním (nebo národním) standardem, dokonce ani široce používanými, jako např Perl nebo Standardní ML (navzdory jménu). Mezi pozoruhodné standardizované programovací jazyky patří ALGOL, C, C ++, JavaScript (pod jménem ECMAScript ), Pokec, Prolog, Společný Lisp, Systém (IEEE Standard), Ada, Fortran, COBOL, SQL a XQuery.
Obecné srovnání
Následující tabulka porovnává obecné a technické informace pro výběr běžně používaných programovací jazyky. Další informace najdete v článcích jednotlivých jazyků. Vezměte prosím na vědomí, že v následující tabulce mohou chybět některé informace.
Jazyk | Zamýšlené použití | Rozkazovací způsob | Objektově orientovaný | Funkční | Procesní | Obecný | Reflexní | Událost řízena | jiný paradigma (s) | Standardizované ? |
---|---|---|---|---|---|---|---|---|---|---|
1C: Enterprise | aplikace, RAD, obchod, Všeobecné, web, mobilní, pohybliví | Ano | Ano | Ano | Ano | Ano | Ano | Objektově založené, Prototypové programování | Ne | |
ActionScript 3.0 | Aplikace, na straně klienta, web | Ano | Ano | Ano | Ano | 1996, ECMA | ||||
Ada | Aplikace, vložený, reálný čas, Systém | Ano | Ano[2] | Ano[3] | Ano[4] | souběžně,[5] distribuováno,[6] | 1983, 2005, 2012, ANSI, ISO, GOST 27831-88[7] | |||
Aldor | Vysoce specifické pro doménu, symbolické výpočty | Ano | Ano | Ano | Ne | |||||
ALGOL 58 | aplikace | Ano | Ne | |||||||
ALGOL 60 | aplikace | Ano | Ano | Ano | 1960, IFIP WG 2.1, ISO[8] | |||||
ALGOL 68 | aplikace | Ano | Ano | Ano | Ano | souběžně | 1968, IFIP WG 2.1, GOST 27974-88,[9] | |||
Ateji PX | Paralelní aplikace | Ano | pi kalkul | Ne | ||||||
APL | Aplikace, zpracování dat | Ano | Ano | Ano | Ano | Ano | Ano | Ano | orientovaný na pole, tichý | 1989, ISO |
Montážní jazyk | Všeobecné | Ano | libovolná, syntaxe je obvykle vysoce specifická a souvisí s cílovým procesorem | IEEE 694-1985[10] | ||||||
AutoHotkey | Automatizace grafického uživatelského rozhraní (makra ), vysoce specifické pro doménu | Ano | Ano[11] | Ano | Ano | Ne | ||||
AutoIt | Automatizace grafického uživatelského rozhraní (makra), vysoce specifická pro doménu | Ano | Ano | Ano | Ne | |||||
Balerína | Integrace, agilní, na straně serveru, Všeobecné | Ano | Ano | Ano | Ano | Ano | souběžné, transakční, staticky a silně typované programování, diagramové / vizuální programování | 2018 De facto standard prostřednictvím jazykové specifikace Ballerina[12] | ||
Bash | Shell, skriptování | Ano | Ano | Ne, ale volitelně POSIX.2 [13] | ||||||
ZÁKLADNÍ | Aplikace, vzdělávání | Ano | Ano | 1983, ANSI, ISO, ECMA | ||||||
BeanShell | Aplikace, skriptování | Ano | Ano | Ano | Ano | Probíhá JCP[14] | ||||
BLAHO | Systém | Ano | Ne | |||||||
BlitzMax | Aplikace, hra | Ano | Ano | Ano | Ano | Ne | ||||
Vypískat | Aplikace, skriptování her | Ano | Ne | |||||||
Bro | specifické pro doménu, aplikace | Ano | Ano | Ne | ||||||
C | Aplikace, systém,[15] obecné účely, operace na nízké úrovni | Ano | Ano | Ano | 1989, ANSI C89, ISO C90, ISO C99, ISO C11, ISO C18[16] | |||||
C ++ | Aplikace, systém | Ano | Ano | Ano | Ano | Ano | 1998. ISO / IEC 2003, ISO / IEC 2011, ISO / IEC 2014, ISO / IEC 2017[17] | |||
C# | Aplikace, RAD, obchodní, na straně klienta, obecně, na straně serveru, web | Ano | Ano | Ano[18] | Ano | Ano | Ano | Ano | strukturované, souběžné | 2000, ECMA, ISO[19] |
Clarione | Obecné, obchodní, web | Ano | Ano | Ano[20] | Neznámý | |||||
Čistý | Všeobecné | Ano | Ano | Ne | ||||||
Clojure | Všeobecné | Ano | souběžně | Ne | ||||||
CLU | Všeobecné | Ano | Ano | Ano | Ano | Ne | ||||
COBOL | Aplikace, podnikání | Ano | Ano | Ano | ANSI X3.23 1968, 1974, 1985; ISO / IEC 1989: 1985, 2002, 2014 | |||||
Kobra | Aplikace, podnikání, obecně, web | Ano | Ano | Ano | Ano | Ano | Ne | |||
Studená fúze (CFML) | Web | Ano | Ano | Ne | ||||||
Společný Lisp | Všeobecné | Ano | Ano | Ano | Ano | Ano | Ano | Ano | rozšiřitelná syntaxe, Orientováno na pole, syntaktická makra, hromadné odeslání souběžně | 1994, ANSI |
COMAL 80 | Vzdělávání | Ano | Ano | Ne | ||||||
Krystal | Obecný účel | Ano | Ano[21] | Ano | Ano | alfa fáze[22] | Ne | |||
Kari | aplikace | Ano | Ano | líné hodnocení, nedeterminismus | De facto standardně prostřednictvím Curry Language Report | |||||
Cython | Aplikace, obecně, numerické výpočty | Ano | Ano | Ano | Ano | orientovaný na aspekt | Ne | |||
D | Aplikace, systém | Ano | Ano | Ano | Ano | Ano | Ano | generativní, souběžné | Ne | |
Šipka | Aplikace, web, na straně serveru, mobilní zařízení, IoT | Ano | Ano | Ano | strukturovaný | Standard ECMA-408 | ||||
Dylan | aplikace | Ano | Ano | Ne | ||||||
Eiffelova | Obecné, aplikace, podnikání, na straně klienta, na straně serveru, web (EWF) | Ano | Ano | Ano[23][24] | Ano | Ano Erl-G | Ano Agenti | distribuováno LOPATKA, Bezpečné | 2005, ECMA, ISO[25] | |
Elixír | Aplikace, distribuováno | Ano | Ano | souběžně, distribuováno | Ne | |||||
Erlang | Aplikace, distribuovaná | Ano | Ano | souběžně, distribuováno | Ne | |||||
Euforie | aplikace | Ano | Ano | Ne | ||||||
Faktor | Všeobecné | Ano | lze zobrazit jako | Ano | Ano | orientovaný na zásobník | Ne | |||
FP | Ano | Ne | ||||||||
F# | aplikace | Ano | Ano | Ano | Ano | Ano | Ano | Ano | Ne | |
Forth | Všeobecné | Ano | lze zobrazit jako | orientovaný na zásobník | 1994, ANSI | |||||
Fortran | Aplikace, numerické výpočty | Ano | Ano | Ano | Ano | Ano | pole založené, vektorizované, souběžné, nativní distribuované / sdílené paměti paralelismus | 1966, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003, ISO / IEC 1539-1: 2010 (2008), ISO / IEC JTC1 / SC22 / WG5 N2145 (2018) | ||
FreeBASIC | Aplikace, numerické výpočty | Ano | Ano | Ano | Ano | Ne | ||||
Gambas | aplikace | Ano | Ano | Ano | Ne | |||||
Game Maker Language | Aplikace, hry | Ano | Ano | Ano | Ne | |||||
GLBasic | Aplikace, hry | Ano | Ano | Ano | jednoduché objektově orientované | Ne | ||||
Jít | Aplikace, web, na straně serveru | Ano | [26] | Ano | Ano | Ano | souběžně | De facto standardně přes Go Language Specification | ||
Bože | Aplikace, obecné, skriptování, web | Ano | Ano | Ano | Ano | Ne | ||||
GraphTalk | aplikace | Ano | logika | Ne | ||||||
Báječný | Aplikace, obecné, skriptování, web | Ano | Ano | Ano | Ano | Ano | Ano | Ano | metaprogramování | Probíhá, JCP[27] |
Přístav | Aplikace, obchod, zpracování dat, obecně, web | Ano | Ano | Ano | Ano | Ano | Ano | deklarativní | Ne | |
Haskell | aplikace | Ano | Ano | líné hodnocení | 2010, Haskell 2010[28] | |||||
Haxe | Aplikace, obecně, web | Ano | Ano | Ano | Ano | Ano | Ne | |||
HyperNext | Aplikace, vzdělávání | Ano | Ano | slabě napsaný | Ne | |||||
HyperTalk | Aplikace, RAD, obecně | Ano | Ano | slabě napsaný | Neznámý | |||||
Io | Aplikace, skriptování řízené hostitelem | Ano | Ano | Ne | ||||||
IPL | Všeobecné | Ano | Neznámý | |||||||
ISLISP | Všeobecné | Ano | Ano | Ano | Ano | 1997, ISO | ||||
J | Zpracování dat | orientovaný na pole, úroveň funkcí, tichý | Ne | |||||||
NEFRIT | Aplikace, distribuovaná | Ano | Ano | Ne | ||||||
Jáva | Aplikace, podnikání, na straně klienta, obecně, mobilní vývoj, na straně serveru, web | Ano | Ano | Ano | Ano | Ano | Ano | Ano | souběžně | De facto standard prostřednictvím specifikace jazyka Java |
JavaScript | Na straně klienta, na straně serveru, na webu | Ano | Ano | Ano | Ano | Ano | Ano | na základě prototypu | 1997, ECMA | |
Radost | Výzkum | Ano | orientovaný na zásobník | Ne | ||||||
Julie | Obecné, technické výpočty | Ano | Ano | Ano | Ano | Ano | Ano | hromadné odeslání, meta, skalární a orientovaný na pole, paralelní, souběžné, distribuované („cloud“) | Ne | |
K. | Zpracování dat, podnikání | orientovaný na pole, tichý | Neznámý | |||||||
Kotlin | Aplikace, mobilní vývoj, na straně serveru, na straně klienta, web | Ano | Ano | Ano | Ano | Ano | Ano[29] | Ano | Ne | |
Ksh | Shell, skriptování | Ano | Ano | Ano | několik variant, programovatelné na zakázku, dynamické zaváděcí moduly | 1992, POSIX.2 [30] | ||||
LabVIEW (G) | Aplikace, automatizace průmyslového vybavení | Ano | Ano | Ano | Ano | datový tok, vizuální | Ne | |||
Lisp | Všeobecné | Ano | Neznámý | |||||||
LiveCode | Aplikace, RAD, obecně | Ano | Ano | slabě napsaný | Ne | |||||
Logtalk | Umělá inteligence, aplikace | Ano | Ano | Ano | logika | Ne | ||||
LSL | Skriptování a animace obsahu virtuálních světů | Ano | Ano | Ano | V objektech ve světě existují skripty | Ano[31] | ||||
Lua | Aplikace, vložené skriptování | Ano | Ano[32] | Ano | Ano | Ano | orientovaný na aspekt | Ne[33] | ||
Javor | Symbolické výpočty, numerické výpočty | Ano | Ano | Ano | Ano | distribuováno | Ne | |||
Mathematica | Symbolický jazyk | Ano | Ano | Ano | Ano | Ano | Ano | Ano | logika, distribuovaná | Ne |
MATLAB | Vysoce numerické výpočty specifické pro doménu | Ano | Ano | Ano | Ne | |||||
Modula-2 | Aplikace, systém | Ano | Ano | 1996, ISO[34] | ||||||
Modula-3 | aplikace | Ano | Ano | Ano | Ne | |||||
PŘÍUŠNICE (M) | Aplikace, databáze | Ano | Ano | souběžně, Multi uživatel, NoSQL, zpracování transakcí | 1977, ANSI | |||||
Nim | Aplikace, obecně, web, skriptování, systém | Ano | Ano | Ano | Ano | Ano | Ano | hromadné odeslání Souběžně, meta | Ne | |
Oberon | Aplikace, systém | Ano | Ano | Ne | ||||||
Objekt Pascal | Aplikace, obecná, mobilní aplikace, web | Ano | Ano | Ano | Ano | Ano | Ano | strukturovaný | Ne | |
Cíl-C | Aplikace, obecně | Ano | Ano | Ano | Ano | souběžně | Ne | |||
OCaml | Aplikace, obecně | Ano | Ano | Ano | Ano | Ano | Ne | |||
Occam | Všeobecné | Ano | Ano | souběžně, orientovaný na proces | Ne | |||||
Opa | Webové aplikace | Ano | Ano | Ano | distribuováno | Ne | ||||
OpenLisp | Obecně, vestavěný Lisp Engine | Ano | Ano | Ano | Ano | Nahrazuje ISLISP, ISO | ||||
Oxygen | aplikace | Ano | Ano | Ano | Ne | |||||
Oz-Mozart | Aplikace, distribuce, vzdělávání | Ano | Ano | Ano | souběžná, logická | Ne | ||||
Pascal | Aplikace, vzdělávání | Ano | Ano | 1983, ISO[35] | ||||||
Perl | Aplikace, skriptování, zpracování textu, web | Ano | Ano | Ano | Ano | Ano | Ano | Ne | ||
PHP | Na straně serveru, webová aplikace, web | Ano | Ano[36] | Ano[37] | Ano | Ano | "De facto" standard prostřednictvím jazykové specifikace a požadavků na komentáře (RFC) | |||
PL / I. | aplikace | Ano | Ano | Ano | 1969, ECMA-50 (1976) | |||||
Plus | Aplikace, vývoj systému | Ano | Ano | Ne | ||||||
PostScript | Grafika, popis stránky | Ano | Ano | Ano, jako PostScript Reference Manual[38] | ||||||
PowerShell | Administrace, aplikace, obecně, skriptování | Ano | Ano | Ano | Ano | Ano | potrubí | Ne | ||
Prolog | Aplikace, umělá inteligence | Ano | Ano | Ano | logika, deklarativní | 1995, ISO / IEC 13211-1: 1995, TC1 2007, TC2 2012, TC3 2017 | ||||
PureBasic | aplikace | Ano | Ne | |||||||
Krajta | Aplikace, obecně, web, skriptování, umělá inteligence, vědecké výpočty | Ano | Ano | Ano | Ano | Ano | Ano | Ano | aspektově orientovaný | "De facto" standard prostřednictvím návrhů na vylepšení Pythonu (PEP) |
R | Aplikace, statistiky | Ano | Ano | Ano | Ano | Ano | Ne | |||
Raketa | Vzdělání, obecné, skriptování | Ano | Ano | Ano | Ano | modulární, logické, meta | Ne | |||
Raku | Skriptování, zpracování textu, lepidlo | Ano | Ano | Ano | Ano | Ano | Ano | aspektově orientovaný, pole, líné vyhodnocení, vícenásobné odeslání, metaprogramování | Ano | |
SKUTEČNÉ | aplikace | Ano | Neznámý | |||||||
Rebol | Distribuováno | Ano | Ano | Ano | Ano | Ano | Ano | dialektovaný | Ne | |
REXX | Skriptování | Ano | Ano (NetRexx a Objekt REXX dialekty) | Ne | Ano | Ne | Ne | 1996 (ANSI X3.274-1996) | ||
RPG | Aplikace, systém | Ano | Ano | Ne | ||||||
Rubín | Aplikace, skriptování, web | Ano | Ano | Ano | Ano | orientovaný na aspekt | 2011 (JIS X 3017), 2012 (ISO / IEC 30170) | |||
Rez | Aplikace, na straně serveru, systém, web | Ano | Ano[39] | Ano | Ano | Ano | Ano | souběžně | Ne | |
S | Aplikace, statistiky | Ano | Ano | Ano | Ano | Ne | ||||
Slang | Aplikace, číselné, skriptovací | Ano | Ano | Ne | ||||||
Scala | Aplikace, distribuováno, web | Ano | Ano | Ano | Ano | Ano | Ano | De facto standardně podle specifikace jazyka Scala (SLS) | ||
Systém | Vzdělání, obecné | Ano | rozšiřitelná syntaxe | 1998, R.6RS | ||||||
7. semeno | Aplikace, obecné, skriptování, web | Ano | Ano | Ano | Ano | multi-paradigma, rozšiřitelné, strukturované | Ne | |||
Simula | Vzdělání, obecné | Ano | Ano | Ano | diskrétní simulace událostí, vícevláknové (kvazi-paralelní) provádění programu | 1968 | ||||
Malý základní | Aplikace, vzdělávání, hry | Ano | Ano | orientovaný na komponenty | Ne | |||||
Pokec | Aplikace, obecné, obchodní, umělá inteligence, vzdělávání, web | Ano | Ano | Ano | Ano | Ano | Ano | souběžné, deklarativní | 1998, [ANSI | |
SNOBOL | Zpracování textu | Neznámý | ||||||||
Standardní ML | aplikace | Ano | Ano | Ano | 1997, SML '97[40] | |||||
Rychlý | Aplikace, obecně | Ano | Ano | Ano | Ano | Ano | Ano | Ano | souběžné, deklarativní, orientovaný na protokol | Ne |
Tcl | Aplikace, skriptování, web | Ano | Ano | Ano | Ano | Ano | Ano | Ne | ||
Visual Basic | Aplikace, RAD, vzdělávání, podnikání, obecně, (zahrnuje VBA), kancelářská automatizace | Ano | Ano | Ano | Ano | orientovaný na komponenty | Ne | |||
Visual Basic .NET | Aplikace, RAD, vzdělávání, web, podnikání, obecně | Ano | Ano | Ano | Ano | Ano | Ano | Ano | strukturované, souběžné | Ne |
Visual FoxPro | aplikace | Ano | datově orientovaná, logická | Ne | ||||||
Vizuální prolog | aplikace | Ano | Ano | Ano | Ano | deklarativní, logické | Ne | |||
Wolfram jazyk | Symbolický jazyk | Ano | Ano | Ano | Ano | Ano | Ano | Ano | logika, distribuovaná | Ne |
XL | Ano | Ano | koncepční programování | Ne | ||||||
Xojo | Aplikace, RAD, obecně, web | Ano | Ano | Ano | Ano | Ano | Ne | |||
XPath /XQuery | Databáze, zpracování dat, skriptování | Ano | orientovaný na strom | W3C 1999 XPath 1, 2010 XQuery 1, 2014 XPath / XQuery 3.0 | ||||||
Zsh | Shell, skriptování | Ano | Ano | zaváděcí moduly | Ne |
Typové systémy
Bezpečné I / O a systémová volání
Většina programovacích jazyků vytiskne chybové hlášení nebo hodit výjimka pokud vstup výstup operace nebo jiné systémové volání (např., chmod, zabít ) selže, pokud programátor výslovně nezajistil odlišné zpracování těchto událostí. Tedy tyto jazyky bezpečně selhat v tomto kontextu.
Některé (většinou starší) jazyky vyžadují, aby programátor výslovně přidal kontroly těchto druhů chyb. Psychologicky odlišné kognitivní předsudky (např., optimismus zaujatost ) mohou mít vliv na začátečníky i odborníky a tato opomenutí mohou vést k chybné chování.
Jazyk | Bezpečné I / O |
---|---|
1C: Enterprise | Ano |
Ada | Ano (výjimky) |
ALGOL | Ano (výjimky nebo návratová hodnota v závislosti na funkci) |
AutoHotkey | Ne (globální ErrorLevel musí být výslovně zaškrtnuto) |
Bash | Volitelný[FSIO 1] |
Balerína | Ano |
Bro | Ano |
C | Ne[FSIO 2] |
C ++ | Některé (Proudy STL házet na selhání, ale C API jako stdio nebo POSIX ne)[FSIO 2] |
C# | Ano |
COBOL | Ne |
Společný Lisp | Ano (systém „podmínky a restarty“) |
Kari | Ano |
D | Ano (házení při selhání) [FSIO 3] |
Eiffelova | Ne - ve skutečnosti záleží na knihovně a není definována jazykem |
Erlang | Ano |
Fortran | Ano |
GLBasic | Ne - obecně způsobí selhání programu |
Jít | Ano (pokud není výsledek výslovně ignorován) |
Bože | Ano |
Přístav | Ano |
Haskell | Ano |
ISLISP | Ano |
Jáva | Ano |
Julie | Ano |
Kotlin | Ano |
LabVIEW | Ano |
Lua | Ne (některé funkce nevarují ani nevyvolávají výjimky) |
Mathematica | Ano |
Objekt Pascal | Nějaký |
Cíl-C | Ano (výjimky) |
OCaml | Ano (výjimky) |
OpenLisp | Ano |
Perl | Ne[FSIO 4] |
PHP | Ano |
Krajta | Ano |
Raku | Ano |
Rebol | Ano |
Rexx | Ano (s volitelným signál zapnutý... manipulace s pasti) |
RPG | Ne |
Rubín | Ano |
Rez | Ano (pokud není výsledek výslovně ignorován) |
S | Neznámý |
Pokec | Ano |
Scala | Ano[FSIO 5] |
Standardní ML | Ano[Citace je zapotřebí ] |
Swift ≥ 2,0 | Ano (výjimky) |
Tcl | Ano |
Visual Basic | Ano |
Visual Basic .NET | Ano |
Vizuální prolog | Ano |
Wolfram jazyk | Ano |
Xojo | Ano |
XPath /XQuery | Ano (výjimky) |
Jazyk | Bezpečné I / O |
- ^
nastavit -e
umožňuje ukončení, pokud není zaškrtnuto stav ukončení je nenulová. - ^ A b gcc může upozorňovat na nezaškrtnuté errno. Novější verze Vizuální studio při použití obvykle vyvolávají výjimky ze selhání I / O stdio.
- ^ https://dlang.org/phobos/std_stdio.html
- ^ Značnou kontrolu chyb lze povolit volitelně, ale ve výchozím nastavení není Perl bezpečný.
- ^ Scala běží na virtuálním stroji Java, ze kterého zdědí zpracování výjimek za běhu.
Expresivita
Jazyk | Poměr výpisů[41] | Poměr čar[42] |
---|---|---|
C | 1 | 1 |
C ++ | 2.5 | 1 |
Fortran | 2 | 0.8 |
Jáva | 2.5 | 1.5 |
Perl | 6 | 6 |
Pokec | 6 | 6.25 |
Krajta | 6 | 6.5 |
Literatura o programovacích jazycích obsahuje množství neformálních tvrzení o jejich příbuzných expresivní síla, ale neexistuje žádný rámec pro formalizace těchto tvrzení ani pro odvození zajímavých důsledků.[43] Tato tabulka poskytuje dvě měřítka expresivity ze dvou různých zdrojů. Další míru expresivity v bajtech GZip najdete ve hře Computer Language Benchmarks Game.[44]
Srovnávací hodnoty
Srovnávací hodnoty jsou navrženy tak, aby napodobovaly určitý typ pracovního zatížení komponenty nebo systému. Počítačové programy použité k sestavení některých srovnávacích dat v této části nemusí být plně optimalizovány a relevance dat je sporná. Nejpřesnější měřítka jsou ta, která jsou přizpůsobena konkrétní situaci. Referenční údaje jiných lidí mohou mít pro ostatní určitou hodnotu, ale správná interpretace přináší mnoho výzvy. Srovnávací hra pro počítačový jazyk web varuje před přílišným zobecněním z referenčních dat, ale obsahuje velké množství mikro-benchmarků fragmentů kódu od čtenáře s rozhraním, které generuje různé grafy a tabulky porovnávající konkrétní programovací jazyky a typy testů.[45]
Časová osa srovnání konkrétních jazyků
- 1974 - Srovnávací poznámky k Algolu 68 a PL / I[46] - S.H. Valentine - listopad 1974
- 1976 - Hodnocení ALGOL 68, ŽOVIÁLNÍ J3B, Pascal, Simula 67 a TACPOL Versus TINMAN - Požadavky na společný programovací jazyk vysoké objednávky.
- 1977 - Srovnání PASCAL a ALGOL 68[47] – Andrew S. Tanenbaum - červen 1977.
- 1993 - Pět malých jazyků a jak rostly - BLAHO, Pascal, ALGOL 68, BCPL & C – Dennis M. Ritchie - duben 1993.
- 2009 - On Go - oh, go on - Jak dobře to bude Google Jít postavit se proti programovacímu jazyku Brand X? - David Given - listopad 2009
Viz také
Chcete-li zobrazit všechny stránky, podkategorie a obrázky, klikněte na „►“: |
---|
▼ Seznamy programovacích jazyků (19 bodů) |
- Porovnání základních pokynů programovacích jazyků
- Porovnání programovacích jazyků (syntaxe)
- Porovnání paradigmat programování
- Porovnání integrovaných vývojových prostředí
- Porovnání programovacích jazyků s více paradigmaty
- Měření popularity programovacího jazyka
- Index TIOBE
Reference
- ^ Od května 2006 Diarmuid Pigott Encyclopedia of Computer Languages Archivováno 2011-02-20 na Wayback Machine hostitelem v Murdoch University, Austrálie uvádí 8512 počítačových jazyků.
- ^ Referenční příručka Ada, ISO / IEC 8652: 2005 (E) vyd. 3, 3.9 Označené typy a rozšíření typů
- ^ Referenční příručka Ada, ISO / IEC 8652: 2005 (E) vyd. 3, Oddíl 6: Podprogramy
- ^ Referenční příručka Ada, ISO / IEC 8652: 2005 (E) vyd. 3, Část 12: Generické jednotky
- ^ Referenční příručka Ada, ISO / IEC 8652: 2005 (E) vyd. 3, Část 9: Úkoly a synchronizace
- ^ Referenční příručka Ada, ISO / IEC 8652: 2005 (E) vyd. 3 Příloha E: Distribuované systémy
- ^ „Vak.ru“ (PDF). Archivovány od originál (PDF) dne 2017-03-30. Citováno 2008-08-09.
- ^ ISO 1538: 1984
- ^ „Vak.ru“ (PDF). Archivovány od originál (PDF) dne 2017-03-24. Citováno 2008-08-09.
- ^ IEEE 694-1985
- ^ Objekty - definice a použití
- ^ "Specifikace jazyka baleríny" (PDF). WSO2. 2018-05-01. Citováno 2018-05-03.
- ^ POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)
- ^ JSR 274
- ^ bell-labs.com
- ^ ANSI C89, ISO / IEC 9899: 1990, 1999, 2011, 2018
- ^ ISO / IEC 14882: 1998, 2003, 2011, 2014, 2017
- ^ Codeproject.com: Funkční programování v C # 3.0 pomocí lambda výrazu
- ^ ECMA-334; ISO / IEC 23270: 2006
- ^ Softvelocity.com
- ^ https://github.com/crystal-lang/crystal#why
- ^ https://github.com/crystal-lang/crystal#status
- ^ Základní mechanismy Eiffelova jazyka
- ^ Uzávěr (počítačové programování)
- ^ ECMA-367; ISO / IEC 25436: 2006
- ^ Programovací jazyk Go (FAQ)
- ^ JSR 241
- ^ „Jazyková zpráva Haskell 2010“. Citováno 2011-12-07. Většina implementací Haskell rozšiřuje standard Haskell 2010.
- ^ „M8 je venku!“.
Jako první pohled do budoucích reflexních schopností Kotlin můžete nyní přistupovat k vlastnostem jako prvotřídní objekty v Kotlin
- ^ POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)
- ^ „De facto“ odkaz je Druhý život implementace LSL. Halcyon (Inworldz) a Open Sims navrhují kompatibilní implementace s doplňkovými funkcemi
- ^ Lua nemá explicitní typ „objektu“ (pro definici objektu se používá obecnější typ „tabulky“), ale má explicitní syntaxi pro volání metody objektu
- ^ Vydání verzí je doprovázeno definitivní Lua Reference Manual zobrazující úplnou syntaxi a sémantiku; referenční implementace a testovací sada. Ty se používají ke generování dalších Lua VM implementace a překladače jako Kahlua a LLVM-Lua.
- ^ ISO / IEC 10514-1: 1996
- ^ ISO 7185
- ^ Manuál PHP, Kapitola 19. Třídy a objekty (PHP 5),
- ^ Manuál PHP, Kapitola 17. Funkce
- ^ "Referenční příručka jazyka PostScript" (PDF). Archivovány od originál (PDF) dne 2017-02-18. Citováno 2017-02-18.
- ^ Je Rust objektově orientovaný programovací jazyk?
- ^ SMLNJ.org
- ^ Data z Kód dokončen. str. 100. The Poměr výpisů sloupec "ukazuje typické poměry zdrojových příkazů v několika jazycích vysoké úrovně k ekvivalentnímu kódu v C. Vyšší poměr znamená, že každý řádek kódu v uvedeném jazyce dosahuje více než každý řádek kódu v C.
- ^ Poměr testů počtu řádků vyhraných každým jazykem k počtu vyhraných C při použití Porovnat s funkce v Jon McLoone (14. listopadu 2012). „Délka kódu měřena ve 14 jazycích“. Archivovány od originál dne 19. 11. 2012. C gcc byl použit pro C, C ++ g ++ byl použit pro C ++, FORTRAN G95 byl použit pro FORTRAN, Java JDK Server byl použit pro Java a Smalltalk GST byl použit pro Smalltalk.
- ^ Felleisen, Matthias. O expresivní síle programovacích jazyků. 3. evropské sympozium o programování ESOP '90. CiteSeerX 10.1.1.51.4656.
- ^ "Jak se měří programy | Hra pro porovnávání počítačových jazyků". benchmarksgame-team.pages.debian.net/benchmarksgame. Citováno 2018-05-29.
- ^ „The Ultimate Benchmark | The Computer Language Benchmarks Game“. benchmarksgame-team.pages.debian.net/benchmarksgame. Citováno 2018-05-29.
- ^ Valentine, S. H. (listopad 1974). „Srovnávací poznámky k Algolu 68 a PL / I“. Počítačový deník. 17 (4): 325–331. doi:10.1093 / comjnl / 17.4.325.
- ^ http://dare.ubvu.vu.nl/bitstream/1871/2609/1/11054.pdf
Další čtení
- Cezzar, Ruknet (1995). Průvodce programovacími jazyky: Přehled a srovnání. ISBN 978-0-89006-812-0.