Porównanie języków programowania - Comparison of programming languages
Języki programowania służą do kontrolowania zachowania maszyny (często komputera ). Podobnie jak języki naturalne, języki programowania przestrzegają zasad składni i semantyki .
Istnieją tysiące języków programowania i każdego roku powstają nowe. Niewiele języków kiedykolwiek stało się na tyle popularne, aby używało ich więcej niż kilka osób, ale profesjonalni programiści mogą używać dziesiątek języków w swojej karierze.
Większość języków programowania nie jest ustandaryzowana przez międzynarodowy (lub krajowy) standard, nawet powszechnie używane, takie jak Perl czy Standard ML (mimo nazwy). Godne uwagi standaryzowane języki programowania obejmują ALGOL , C , C++ , JavaScript ( pod nazwą ECMAScript ), Smalltalk , Prolog , Common Lisp , Scheme ( standard IEEE ), ISLISP , Ada , Fortran , COBOL , SQL i XQuery .
Ogólne porównanie
W poniższej tabeli porównano informacje ogólne i techniczne dotyczące wybranych powszechnie używanych języków programowania . Więcej informacji można znaleźć w artykułach dotyczących poszczególnych języków.
Język | Przeznaczenie | Tryb rozkazujący | Zorientowany obiektowo | Funkcjonalny | Proceduralny | Rodzajowy | Odblaskowy | Oparte na wydarzeniach | Inny paradygmat (y) | Standaryzowane ? |
---|---|---|---|---|---|---|---|---|---|---|
1C: język programowania dla przedsiębiorstw | Aplikacja , RAD , biznes, ogólne , web , mobile | TAk | TAk | TAk | TAk | TAk | TAk |
Obiektowe ,
Programowanie oparte na prototypach |
Nie | |
ActionScript 3.0 | Aplikacja, po stronie klienta , web | TAk | TAk | TAk | TAk | 1996, ECMA | ||||
Ada | Aplikacja, osadzona , w czasie rzeczywistym , system | TAk | TAk | TAk | TAk | współbieżne , rozproszone , | 1983, 2005, 2012, ANSI, ISO, GOST 27831-88 | |||
Aldor | Wysoce specyficzne dla domeny , symboliczne przetwarzanie | TAk | TAk | TAk | Nie | |||||
ALGOL 58 | Podanie | TAk | Nie | |||||||
ALGOL 60 | Podanie | TAk | TAk | TAk | 1960, IFIP WG 2.1 , ISO | |||||
ALGOL 68 | Podanie | TAk | TAk | TAk | TAk | równoległy | 1968, IFIP WG 2.1 , GOST 27974-88 , | |||
Ateji PX | Aplikacja równoległa | TAk | rachunek pi | Nie | ||||||
APL | Wniosek, przetwarzanie danych | TAk | TAk | TAk | TAk | TAk | TAk | TAk | zorientowany na tablicę , milczący | 1989, ISO |
język programowania | Ogólny | TAk | dowolna, składnia jest zwykle bardzo specyficzna, powiązana z docelowym procesorem | IEEE 694-1985 | ||||||
Automatyczny klawisz skrótu | Automatyzacja GUI ( makra ), wysoce specyficzne dla domeny | TAk | TAk | TAk | TAk | Nie | ||||
AutoIt | Automatyzacja GUI (makra), wysoce specyficzne dla domeny | TAk | TAk | TAk | Nie | |||||
Balerina | Integracja, agile, po stronie serwera , ogólne | TAk | TAk | TAk | TAk | TAk | programowanie współbieżne, transakcyjne, statyczne i silnie typizowane, programowanie schematyczne/wizualne | 2018 De facto standard za pośrednictwem specyfikacji językowej Ballerina | ||
Grzmotnąć | Powłoka , skrypty | TAk | TAk | Nie, ale opcjonalnie POSIX.2 | ||||||
PODSTAWOWY | Aplikacja, edukacja | TAk | TAk | 1983, ANSI, ISO, ECMA | ||||||
Powłoka fasoli | Aplikacja, skrypty | TAk | TAk | TAk | TAk | W toku, JCP | ||||
ROZKOSZ | System | TAk | Nie | |||||||
BlitzMax | Aplikacja, gra | TAk | TAk | TAk | TAk | Nie | ||||
Gwizd | Aplikacja, skrypty do gier | TAk | Nie | |||||||
brachu | specyficzne dla domeny, aplikacja | TAk | TAk | Nie | ||||||
C | Aplikacja, system, ogólne przeznaczenie, operacje niskiego poziomu | TAk | TAk | 1989, ANSI C89, ISO C90, ISO C99, ISO C11, ISO C18 | ||||||
C++ | Aplikacja systemowa | TAk | TAk | TAk | TAk | TAk | 1998. ISO/IEC 2003, ISO/IEC 2011, ISO/IEC 2014, ISO/IEC 2017 | |||
C# | Aplikacja, RAD, biznes, po stronie klienta, ogólne, po stronie serwera, sieć | TAk | TAk | TAk | TAk | TAk | TAk | TAk | zorganizowany, współbieżny | 2000, ECMA, ISO |
Ostry | Ogólne, biznesowe, internetowe | TAk | TAk | TAk | Nieznany | |||||
Czysty | Ogólny | TAk | TAk | Nie | ||||||
Clojure | Ogólny | TAk | równoległy | Nie | ||||||
CLU | Ogólny | TAk | TAk | TAk | TAk | Nie | ||||
COBOL | Aplikacja, biznes | TAk | TAk | TAk | ANSI X3.23 1968, 1974, 1985; ISO/IEC 1989:1985, 2002, 2014 | |||||
Kobra | Aplikacja, biznes, ogólne, web | TAk | TAk | TAk | TAk | TAk | Nie | |||
ColdFusion (CFML) | Sieć | TAk | TAk | Nie | ||||||
Wspólne seplenienie | Ogólny | TAk | TAk | TAk | TAk | TAk | TAk | TAk | rozszerzalna składnia , zorientowany na tablice , makra składniowe , wielokrotne wysyłanie , współbieżne | 1994, ANSI |
COMAL 80 | Edukacja | TAk | TAk | Nie | ||||||
Kryształ | Ogólny cel | TAk | TAk | TAk | TAk | faza alfa | Nie | |||
Curry | Podanie | TAk | TAk | leniwa ocena , niedeterminizm | De facto standardowo przez Curry Language Report | |||||
Cytona | Zastosowanie, ogólne, obliczenia numeryczne | TAk | TAk | TAk | TAk | zorientowany aspektowo | Nie | |||
D | Aplikacja systemowa | TAk | TAk | TAk | TAk | TAk | TAk | generatywna, współbieżna | Nie | |
Strzałka | Aplikacja, sieć, po stronie serwera, urządzenia mobilne, IoT | TAk | TAk | TAk | TAk | TAk | TAk | zbudowany | Standard Ecma-408 | |
Dylan | Podanie | TAk | TAk | Nie | ||||||
Eiffla | Ogólne, aplikacyjne, biznesowe, po stronie klienta, po stronie serwera, WWW (EWF) | TAk | TAk | TAk | TAk | Tak Erl-G | Tak Agenci | rozproszony SCOOP , bezpieczny w pustce | 2005, ECMA, ISO | |
ROZMACH | Edukacja | TAk | TAk | uporządkowane , stopniowe udoskonalanie | Nie | |||||
Eliksir | Aplikacja, dystrybuowana | TAk | TAk | TAk | współbieżne, rozproszone | Nie | ||||
Erlang | Aplikacja, dystrybuowana | TAk | TAk | TAk | współbieżne, rozproszone | Nie | ||||
Euforia | Podanie | TAk | TAk | Nie | ||||||
Czynnik | Ogólny | TAk | może być oglądany jako | TAk | TAk | zorientowany na stos | Nie | |||
FP | TAk | Nie | ||||||||
F# | Podanie | TAk | TAk | TAk | TAk | TAk | TAk | TAk | Nie | |
Naprzód | Ogólny | TAk | może być oglądany jako | zorientowany na stos | 1994, ANSI | |||||
Fortran | Zastosowanie, obliczenia numeryczne | TAk | TAk | TAk | TAk | TAk | oparty na tablicach, wektorowy, współbieżny, natywny równoległość pamięci rozproszonej/współdzielonej | 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 | Zastosowanie, obliczenia numeryczne | TAk | TAk | TAk | TAk | Nie | ||||
Gambas | Podanie | TAk | TAk | TAk | Nie | |||||
Język Kreatora Gier | Aplikacja, gry | TAk | TAk | TAk | Nie | |||||
GLBasic | Aplikacja, gry | TAk | TAk | TAk | proste zorientowane obiektowo | Nie | ||||
Udać się | Aplikacja, sieć, po stronie serwera | TAk | TAk | TAk | TAk | równoległy | De facto standard w specyfikacji języka Go | |||
Gosu | Aplikacje, ogólne, skrypty, web | TAk | TAk | TAk | TAk | Nie | ||||
GraphTalk | Podanie | TAk | logika | Nie | ||||||
Groovy | Aplikacje, ogólne, skrypty, web | TAk | TAk | TAk | TAk | TAk | TAk | TAk | metaprogramowanie | W toku, JCP |
Port | Aplikacja, biznes, przetwarzanie danych, ogólne, web | TAk | TAk | TAk | TAk | TAk | TAk | deklaracyjny | Nie | |
Haskell | Podanie | TAk | TAk | leniwa ocena | 2010, Haskell 2010 | |||||
Haxe | Aplikacja, ogólna, internetowa | TAk | TAk | TAk | TAk | TAk | Nie | |||
HyperNext | Aplikacja, edukacja | TAk | TAk | słabo napisane | Nie | |||||
Hiperrozmowa | Aplikacja, RAD, ogólne | TAk | TAk | słabo napisane | Nieznany | |||||
Io | Aplikacje, skrypty sterowane przez hosta | TAk | TAk | Nie | ||||||
IPL | Ogólny | TAk | Nieznany | |||||||
ISLISP | Ogólny | TAk | TAk | TAk | TAk | 1997, 2007, ISO | ||||
J | Przetwarzanie danych | zorientowany na tablicę, na poziomie funkcji , milczący | Nie | |||||||
JADEIT | Aplikacja, dystrybuowana | TAk | TAk | Nie | ||||||
Jawa | Aplikacje, biznes, po stronie klienta, ogólne, programowanie mobilne, po stronie serwera, web | TAk | TAk | TAk | TAk | TAk | TAk | TAk | równoległy | De facto standard za pośrednictwem specyfikacji języka Java |
JavaScript | Po stronie klienta, po stronie serwera, WWW | TAk | TAk | TAk | TAk | TAk | TAk | oparty na prototypie | 1997, ECMA | |
Radość | Badania | TAk | zorientowany na stos | Nie | ||||||
Julia | Ogólne, obliczenia techniczne | TAk | TAk | TAk | TAk | TAk | TAk | wielokrotna wysyłka , meta, skalarna i tablicowa , równoległa, współbieżna, rozproszona ("chmura") | Nie | |
K | Przetwarzanie danych, biznes | zorientowany na tablicę, milczący | Nieznany | |||||||
Kotlin | Aplikacje, rozwój mobilny, po stronie serwera, po stronie klienta, web | TAk | TAk | TAk | TAk | TAk | TAk | TAk | Nie | |
Ksh | Powłoka, skrypty | TAk | TAk | TAk | kilka wariantów, niestandardowe programowalne, dynamicznie ładowalne moduły | 1992, POSIX.2 | ||||
LabVIEW (G) | Zastosowanie, oprzyrządowanie przemysłowe-automatyka | TAk | TAk | TAk | TAk | przepływ danych , wizualny | Nie | |||
Seplenienie | Ogólny | TAk | Nieznany | |||||||
Kod na żywo | Aplikacja, RAD, ogólne | TAk | TAk | słabo napisane | Nie | |||||
Logtalk | Sztuczna inteligencja, zastosowanie | TAk | TAk | TAk | logika | Nie | ||||
Linden Scripting Language (LSL) | Tworzenie skryptów i animacji w wirtualnych światach | TAk | TAk | TAk | Skrypty istnieją w obiektach w świecie | Być może | ||||
Lua | Aplikacja, wbudowane skrypty | TAk | TAk | TAk | TAk | TAk | zorientowany aspektowo, oparty na prototypach | Nie | ||
Klon | Obliczenia symboliczne, obliczenia numeryczne | TAk | TAk | TAk | TAk | Rozpowszechniane | Nie | |||
Matematyka | Język symboliczny | TAk | TAk | TAk | TAk | TAk | TAk | TAk | logika, rozproszona | Nie |
MATLAB | Wysoce specyficzne dla dziedziny obliczenia numeryczne | TAk | TAk | TAk | Nie | |||||
Moduł-2 | Aplikacja systemowa | TAk | TAk | 1996, ISO | ||||||
Moduł-3 | Podanie | TAk | TAk | TAk | Nie | |||||
ŚWINKA (M) | ogólne , aplikacja , bazy danych | Tak (wysoce imperatyw ma tylko polecenia) |
Zatwierdzony do następnego standardu | Tylko wyrażenia Brak wyrażeń lambda |
TAk | Częściowo przez pośredni i Xecute |
TAk | Zatwierdzony do następnego standardu | współbieżne , wieloużytkownikowe , NoSQL , przetwarzanie transakcyjne | pierwszy-ANSI był 1977, najnowsza-ANSI 1995, najnowsza-ISO 2020, ANSI,ISO |
Nimi | Aplikacja, ogólne, webowe, skryptowe, systemowe | TAk | TAk | TAk | TAk | TAk | TAk | wielokrotna wysyłka , współbieżna, meta | Nie | |
Oberon | Aplikacja systemowa | TAk | TAk | Nie | ||||||
Obiekt Pascal | Aplikacja, ogólne, aplikacja mobilna, web | TAk | TAk | TAk | TAk | TAk | TAk | zbudowany | Nie | |
Cel C | Zastosowanie ogólne | TAk | TAk | TAk | TAk | równoległy | Nie | |||
OCaml | Zastosowanie ogólne | TAk | TAk | TAk | TAk | TAk | Nie | |||
Occam | Ogólny | TAk | TAk | współbieżny, zorientowany na proces | Nie | |||||
Opa | Aplikacje internetowe | TAk | TAk | TAk | Rozpowszechniane | Nie | ||||
OpenLisp | Ogólne, wbudowany silnik Lisp | TAk | TAk | TAk | TAk | Zastępuje ISLISP , ISO | ||||
Tlen | Podanie | TAk | TAk | TAk | Nie | |||||
Oz-Mozart | Aplikacja, dystrybucja, edukacja | TAk | TAk | TAk | współbieżny, logiczny | Nie | ||||
Pascal | Aplikacja, edukacja | TAk | TAk | 1983, ISO | ||||||
Perl | Aplikacje, skrypty, przetwarzanie tekstu, Web | TAk | TAk | TAk | TAk | TAk | TAk | Nie | ||
PHP | Po stronie serwera, aplikacja internetowa, web | TAk | TAk | TAk | TAk | TAk | Standard „de facto” poprzez specyfikację językową i wnioski o komentarze (RFC) | |||
PL/I | Podanie | TAk | TAk | TAk | 1969, ECMA-50 (1976) | |||||
Plus | Aplikacja, rozwój systemu | TAk | TAk | Nie | ||||||
Postscriptum | Grafika, opis strony | TAk | TAk | Tak, zgodnie z instrukcją obsługi PostScript | ||||||
PowerShell | Administracja, aplikacja, ogólne, skrypty | TAk | TAk | TAk | TAk | TAk | rurociąg | Nie | ||
Prolog | Aplikacja, sztuczna inteligencja | TAk | TAk | TAk | logika, deklaratywna | 1995, ISO/IEC 13211-1:1995, TC1 2007, TC2 2012, TC3 2017 | ||||
PureBasic | Podanie | TAk | Nie | |||||||
Pyton | Aplikacje, ogólne, internetowe, skrypty, sztuczna inteligencja, obliczenia naukowe | TAk | TAk | TAk | TAk | TAk | TAk | TAk | zorientowany aspektowo | Standard „de facto” za pośrednictwem propozycji ulepszeń Pythona (PEP) |
r | Aplikacja, statystyki | TAk | TAk | TAk | TAk | TAk | Nie | |||
Rakieta | Edukacja, ogólne, skrypty | TAk | TAk | TAk | TAk | modułowe, logiczne, meta | Nie | |||
Raku | Skrypty, obróbka tekstu, klej | TAk | TAk | TAk | TAk | TAk | TAk | zorientowana aspektowo, tablica, leniwa ocena, wielokrotna wysyłka, metaprogramowanie | TAk | |
REALbasic | Podanie | TAk | Nieznany | |||||||
Rebol | Rozpowszechniane | TAk | TAk | TAk | TAk | TAk | TAk | dialektowany | Nie | |
REXX | Skrypty | TAk | Tak ( dialekty NetRexx i Object REXX ) | Nie | TAk | Nie | Nie | 1996 (ANSI X3.274-1996) | ||
RPG | Aplikacja systemowa | TAk | TAk | Nie | ||||||
Rubin | Aplikacja, skrypty, web | TAk | TAk | TAk | TAk | zorientowany aspektowo | 2011 (JIS X 3017), 2012 (ISO/IEC 30170) | |||
Rdza | Aplikacja, po stronie serwera, system, sieć | TAk | TAk | TAk | TAk | TAk | Nie | TAk | równoległy | Nie |
S | Aplikacja, statystyki | TAk | TAk | TAk | TAk | Nie | ||||
Gwara | Aplikacja, numeryczna, skryptowa | TAk | TAk | Nie | ||||||
Scala | Aplikacja, dystrybuowana, web | TAk | TAk | TAk | TAk | TAk | TAk | De facto standard za pośrednictwem specyfikacji języka Scala (SLS) | ||
Schemat | Edukacja, ogólne | TAk | rozszerzalna składnia | 1998, R 6 RS | ||||||
Nasiona7 | Aplikacje, ogólne, skrypty, web | TAk | TAk | TAk | TAk | wieloparadygmat, rozszerzalny, ustrukturyzowany | Nie | |||
Symulacja | Edukacja, ogólne | TAk | TAk | TAk | symulacja zdarzeń dyskretnych , wykonywanie programu wielowątkowego (quasi-równoległego) | 1968 | ||||
Mały podstawowy | Aplikacja, edukacja, gry | TAk | TAk | zorientowany na komponenty | Nie | |||||
Pogawędka | Aplikacje, ogólne, biznesowe, sztuczna inteligencja, edukacja, web | TAk | TAk | TAk | TAk | TAk | TAk | współbieżny, deklaratywny | 1998, ANSI | |
SNOBOL | Przetwarzanie tekstu | Nieznany | ||||||||
Standardowy ML | Podanie | TAk | TAk | TAk | 1997, SML '97 | |||||
Szybki | Zastosowanie ogólne | TAk | TAk | TAk | TAk | TAk | TAk | TAk | współbieżny, deklaratywny, zorientowany na protokół | Nie |
Tcl | Aplikacja, skrypty, web | TAk | TAk | TAk | TAk | TAk | TAk | Nie | ||
Visual Basic | Aplikacje, RAD, edukacja, biznes, ogólne (w tym VBA), automatyka biurowa | TAk | TAk | TAk | TAk | zorientowany na komponenty | Nie | |||
Visual Basic .NET | Aplikacje, RAD, edukacja, internet, biznes, ogólne | TAk | TAk | TAk | TAk | TAk | TAk | TAk | zorganizowany, współbieżny | Nie |
Visual FoxPro | Podanie | TAk | zorientowana na dane, logika | Nie | ||||||
Prolog wizualny | Podanie | TAk | TAk | TAk | TAk | deklaratywny, logiczny | Nie | |||
Język Wolfram | Język symboliczny | TAk | TAk | TAk | TAk | TAk | TAk | TAk | logika, rozproszona | Nie |
XL | TAk | TAk | programowanie koncepcji | Nie | ||||||
Xojo | Aplikacja, RAD, ogólna, internetowa | TAk | TAk | TAk | TAk | TAk | Nie | |||
XPath / XQuery | Bazy danych, przetwarzanie danych, skrypty | TAk | zorientowany na drzewo | W3C 1999 XPath 1, 2010 XQuery 1, 2014 XPath/XQuery 3.0 | ||||||
Zsh | Powłoka , skrypty | TAk | TAk | ładowalne moduły | Nie |
Systemy typu
Failsafe I/O i wywołania systemowe
Większość języków programowania wyświetla komunikat o błędzie lub zgłasza wyjątek, jeśli operacja wejścia/wyjścia lub inne wywołanie systemowe (np. chmod , kill ) nie powiedzie się, chyba że programista wyraźnie zaaranżował inną obsługę tych zdarzeń. W ten sposób języki te zawodzą pod tym względem bezpiecznie .
Niektóre (głównie starsze) języki wymagają, aby programista jawnie dodał testy tego rodzaju błędów. Z psychologicznego punktu widzenia różne błędy poznawcze (np. błąd optymizmu ) mogą wpływać zarówno na nowicjuszy, jak i ekspertów, a te pominięcia mogą prowadzić do błędnych zachowań .
Język | Bezpieczne wejścia/wyjścia |
---|---|
1C: Przedsiębiorstwo | TAk |
Ada | Tak (wyjątki) |
ALGOL | Tak (wyjątki lub zwracana wartość w zależności od funkcji) |
Automatyczny klawisz skrótu | Nie (globalny poziom błędu musi być wyraźnie zaznaczony) |
Grzmotnąć | Opcjonalny |
Balerina | TAk |
brachu | TAk |
C | Nie |
C++ | Niektóre ( strumienie STL iostream zgłaszają błąd, ale API C, takie jak stdio lub POSIX , nie) |
C# | TAk |
COBOL | Nie |
Wspólne seplenienie | Tak (system „warunki i restarty”) |
Curry | TAk |
D | Tak (rzucanie na awarię) |
Eiffla | Nie – to faktycznie zależy od biblioteki i nie jest zdefiniowane przez język |
Erlang | TAk |
Fortran | TAk |
GLBasic | Nie – generalnie spowoduje awarię programu |
Udać się | Tak (chyba że wynik został wyraźnie zignorowany) |
Gosu | TAk |
Port | TAk |
Haskell | TAk |
ISLISP | TAk |
Jawa | TAk |
Julia | TAk |
Kotlin | TAk |
LabVIEW | TAk |
Lua | Nie (niektóre funkcje nie ostrzegają ani nie zgłaszają wyjątków) |
Matematyka | TAk |
Obiekt Pascal | Trochę |
Cel C | Tak (wyjątki) |
OCaml | Tak (wyjątki) |
OpenLisp | TAk |
Perl | Nie |
PHP | TAk |
Pyton | TAk |
Raku | TAk |
Rebol | TAk |
Rexx | Tak (z opcjonalnym sygnałem na ... obsługa pułapki) |
RPG | Nie |
Rubin | TAk |
Rdza | Tak (chyba że wynik został wyraźnie zignorowany) |
S | Nieznany |
Pogawędka | TAk |
Scala | TAk |
Standardowy ML | TAk |
Szybki ≥ 2,0 | Tak (wyjątki) |
Tcl | TAk |
Visual Basic | TAk |
Visual Basic .NET | TAk |
Prolog wizualny | TAk |
Język Wolfram | TAk |
Xojo | TAk |
XPath / XQuery | Tak (wyjątki) |
Język | Bezpieczne wejścia/wyjścia |
Wyrazistość
Język | Stosunek oświadczeń | Stosunek linii |
---|---|---|
C | 1 | 1 |
C++ | 2,5 | 1 |
Fortran | 2 | 0,8 |
Jawa | 2,5 | 1,5 |
Perl | 6 | 6 |
Pogawędka | 6 | 6.25 |
Pyton | 6 | 6,5 |
Literatura na temat języków programowania zawiera mnóstwo nieformalnych twierdzeń o ich względnej sile ekspresji , ale nie ma ram dla formalizowania takich stwierdzeń ani wyprowadzania interesujących konsekwencji. Ta tabela zawiera dwie miary ekspresji z dwóch różnych źródeł. Dodatkową miarę wyrazistości, w bajtach GZip, można znaleźć w grze Computer Language Benchmarks.
Benchmarki
Testy porównawcze są zaprojektowane tak, aby naśladować określony typ obciążenia w komponencie lub systemie. Programy komputerowe używane do kompilacji niektórych danych porównawczych w tej sekcji mogły nie zostać w pełni zoptymalizowane, a adekwatność danych jest kwestionowana. Najdokładniejsze testy porównawcze to te, które są dostosowane do konkretnej sytuacji. Dane porównawcze innych osób mogą mieć pewną wartość dla innych, ale właściwa interpretacja niesie ze sobą wiele wyzwań . Witryna Computer Language Benchmarks Game ostrzega przed nadmiernym uogólnianiem danych porównawczych, ale zawiera dużą liczbę mikrobenchmarków fragmentów kodu nadesłanych przez czytelnika, z interfejsem, który generuje różne wykresy i tabele porównujące określone języki programowania i rodzaje testów.
Kalendarium konkretnych porównań językowych
- 1974 – Noty porównawcze dotyczące Algolu 68 i PL/I – SH Valentine – listopad 1974
- 1976 – Ocena ALGOL 68 , JOVIAL J3B, Pascal , Simula 67 i TACPOL Versus TINMAN – Wymagania dotyczące wspólnego języka programowania wysokiego rzędu.
- 1977 – Porównanie PASCAL i ALGOL 68 – Andrew S. Tanenbaum – czerwiec 1977.
- 1993 – Five Little Languages and How They Grow – BLISS , Pascal , ALGOL 68 , BCPL & C – Dennis M. Ritchie – kwiecień 1993.
- 2009 – On Go – och, kontynuuj – Jak dobrze Google Go sprosta językowi programowania Brand X? – David Given – listopad 2009
Zobacz też
Aby wyświetlić wszystkie strony, podkategorie i obrazy, kliknij „►”: |
---|
|
- Porównanie podstawowych instrukcji języków programowania
- Porównanie języków programowania (składnia)
- Porównanie paradygmatów programowania
- Porównanie zintegrowanych środowisk programistycznych
- Porównanie wieloparadygmatycznych języków programowania
- Pomiar popularności języka programowania
- Indeks TIOBE
Bibliografia
Dalsza lektura
- Cezzar, Ruknet (1995). Przewodnik po językach programowania: przegląd i porównanie . Numer ISBN 978-0-89006-812-0.