Vergleich der Programmiersprachen

Programmiersprachen werden zur Kontrolle des Verhaltens einer Maschine verwendet (oft a Computer). Wie natürliche Sprachen, Programmiersprachen folgen den Regeln für Syntax und Semantik.

Es gibt Tausende Programmiersprachen[1] Und jedes Jahr werden neue geschaffen. Nur wenige Sprachen werden jemals so beliebt, dass sie von mehr als wenigen Menschen verwendet werden, aber professionell Programmierer Kann Dutzende von Sprachen in einer Karriere verwenden.

Die meisten Programmiersprachen werden nicht durch einen internationalen (oder nationalen) Standard standardisiert, selbst weit verbreitete, wie z. Perl oder Standard ml (trotz des Namens). Bemerkenswerte standardisierte Programmiersprachen enthalten Algol, C, C ++, JavaScript (unter dem Namen ECMaskript), Smalltalk, Prolog, Common Lisp, Planen (IEEE Standard), ISLISP, Ada, Forran, Cobol, Sql und XQuery.

Allgemeiner Vergleich

Die folgende Tabelle vergleicht allgemeine und technische Informationen für eine Auswahl der häufig verwendeten Programmiersprachen. Weitere Informationen finden Sie in den Artikeln der einzelnen Sprachen.

Sprache Ursprünglicher Zweck Imperativ Objektorientierter Funktional Prozedural Generisch Reflektierend Ereignisgesteuert Sonstiges Paradigmen Standardisiert?
1c: Enterprise -Programmiersprache Anwendung, Rad, Geschäft, Allgemeines, Netz, Handy, Mobiltelefon Ja Nein Ja Ja Ja Ja Ja Objektbasiert, Prototyp-basierte Programmierung Nein
Aktionen 3.0 Anwendung, Client-Seite, Netz Ja Ja Ja Nein Nein Nein Ja Ja
1996, ECMA
Ada Anwendung, eingebettet, Echtzeit, System Ja Ja[2] Nein Ja[3] Ja[4] Nein Nein Gleichzeitig,[5] verteilt,[6] Ja
1983, 2005, 2012, ANSI, ISO, Gost 27831-88[7]
Aldor Höchst Domänenspezifisch, Symbolisches Computer Ja Ja Ja Nein Nein Nein Nein Nein
Algol 58 Anwendung Ja Nein Nein Nein Nein Nein Nein Nein
Algol 60 Anwendung Ja Nein Nein Ja Ja Nein Nein Ja
1960, IFIP WG 2.1, Iso[8]
Algol 68 Anwendung Ja Nein Ja Ja Ja Nein Nein Gleichzeitig Ja
1968, IFIP WG 2.1, GOST 27974-88,[9]
Ateji px Parallele Anwendung Nein Ja Nein Nein Nein Nein Nein PI -Kalkül Nein
Apl Anwendung, Datenverarbeitung Ja Ja Ja Ja Ja Ja Ja Array-orientiert, stillschweigend Ja
1989, ISO
Montagesprache Allgemein Ja Nein Nein Nein Nein Nein Nein Jede, Syntax ist in der Regel hochspezifisch, im Zusammenhang mit dem Zielprozessor Ja
1985 IEEE 694-1985[10]
Autohotkey GUI -Automatisierung (Makros), hochdomänenspezifisch Ja Ja
[11]
Nein Ja Nein Nein Ja Nein
Autoit GUI-Automatisierung (MACROS), hochdomänenspezifisch Ja Nein Nein Ja Nein Nein Ja Nein
Ballerina Integration, Agile, Server-Seite, Allgemeines Ja Ja Ja Ja Nein Nein Ja Gleichzeitige, transaktionale, statisch und stark typisierte Programmierung, Diagramm- / visuelle Programmierung De facto
Standard über Ballerina -Sprachspezifikation[12]
Verprügeln Hülse, Scripting Ja Nein Nein Ja Nein Nein Nein Optional
Pox.2[13]
BASIC Anwendung, Ausbildung Ja Nein Nein Ja Nein Nein Nein Ja
1983, ANSI, ISO, ECMA
Beanshell Anwendung, Skript Ja Ja Ja Nein Nein Ja Nein Nein
Im Gange, JCP[14]
WONNE System Nein Nein Nein Ja Nein Nein Nein Nein
Blitzmax Anwendung, Spiel Ja Ja Nein Ja Nein Ja Nein Nein
Boo Anwendung, Spielskription Nein Ja Nein Nein Nein Nein Nein Nein
C Anwendungssystem,[15] Allgemeinzweck, niedrige Operationen Ja Nein Nein Ja Nein Nein Nein Ja
1989, ANSI C89, ISO C90, ISO C99, ISO C11, ISO C18[16]
C ++ Anwendungssystem Ja Ja Ja Ja Ja Nein Nein Ja
1998, ISO/IEC 2003, ISO/IEC 2011, ISO/IEC 2014, ISO/IEC 2017[17]
C# Anwendung, RAD, Geschäft, clientseitig, allgemein, serverseitig, web, Spielprogrammierung Ja Ja Ja[18] Ja Ja Ja Ja Strukturiert, gleichzeitig Ja
2000, ECMA, ISO[19]
Clarion General, Geschäft, Web Ja Ja Ja[20] Nein Nein Nein Nein Unbekannt
Sauber Allgemein Nein Nein Ja Nein Ja Nein Nein Nein
Clojure Allgemein Nein Nein Ja Nein Nein Nein Nein Gleichzeitig Nein
Clu Allgemein Ja Ja Nein Ja Ja Nein Nein Nein
Cobol Anwendung, Geschäft Ja Ja Nein Ja Nein Nein Nein Ja
1968 ANSI X3.23, 1974, 1985; ISO/IEC 1989: 1985, 2002, 2014
Kobra Anwendung, Geschäft, allgemein, Web Ja Ja Ja Nein Ja Ja Nein Nein
Coldfusion (CFML) Netz Nein Ja Nein Ja Nein Nein Nein Nein
Common Lisp Allgemein Ja Ja Ja Ja Ja Ja Ja Erweiterbare Syntax, Array-orientiert, Syntaktische Makros, Mehrfachversand, gleichzeitig Ja
1994, Ansi
Comal 80 Ausbildung Ja Nein Nein Ja Nein Nein Nein Nein
Kristall Allgemeiner Zweck Ja Ja[21] Ja Ja Nein Nein Nein Alpha -Stufe[22] Nein
Curry Anwendung Nein Nein Ja Nein Ja Nein Nein faule Bewertung, Nichtdeterminismus De facto Standard über Curry -Sprachbericht
Cython Anwendung, allgemein, Numerisches Computer Ja Ja Ja Nein Nein Ja Nein Aspektorientiert Nein
D Anwendungssystem Ja Ja Ja Ja Ja Ja Nein Generativ, gleichzeitig Nein
Pfeil Anwendung, Web, serverseitig, mobil, IoT Ja Ja Ja Ja Ja Nein Ja Strukturiert Ja
ECMA-408 Standard
Dylan Anwendung Nein Ja Ja Nein Nein Nein Nein Nein
Eiffel Allgemein, Anwendung, Geschäft, clientseitig, serverseitig, Web (EWF) Ja Ja Ja[23][24] Nein Ja Ja Erl-g Ja Agenten Verteilt SCOOP, Void-safe Ja
2005, ECMA, ISO[25]
ELAN Ausbildung Ja Nein Nein Ja Nein Nein Nein Strukturiert, Schrittweise Verfeinerung Nein
Elixier Anwendung, verteilt Nein Nein Ja Nein Nein Ja Ja Gleichzeitig, verteilt Nein
Erlang Anwendung, verteilt Nein Nein Ja Nein Nein Ja Ja Gleichzeitig, verteilt Nein
Euphorie Anwendung Nein Nein Nein Ja Nein Ja Nein Nein
Faktor Allgemein Ja Nein Kann als als angesehen werden als Nein Ja Ja Nein Stapelorientiert Nein
FP Nein Nein Ja Nein Nein Nein Nein Nein
F# Anwendung Ja Ja Ja Ja Ja Ja Ja Nein
Weiter Allgemein Ja Nein Kann als als angesehen werden als Nein Nein Nein Nein Stapelorientiert Ja
1994, Ansi
Forran Anwendung, numerisches Computing Ja Ja Ja Ja Ja Nein Nein Array-basierte, vektorisierte, gleichzeitige, native verteilte/gemeinsam genutzte Parallelität Ja
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)
Freilasisch Anwendung, numerisches Computing Ja Ja Nein Ja Ja Nein Nein Nein
Gambas Anwendung Ja Ja Nein Nein Nein Nein Ja Nein
Game Maker -Sprache Anwendung, Spielprogrammierung Ja Ja Nein Nein Nein Nein Ja Nein
GLBasic Anwendung, Spiele Ja Ja Nein Ja Nein Nein Nein Einfacher objektorientiert Nein
gehen Anwendung, Web, serverseitig Ja Kann als als angesehen werden als[26] Nein Ja Ja Ja Ja Gleichzeitig De facto Standard über Go -Sprachspezifikation
Gosu Anwendung, allgemein, Skript, Web Ja Ja Nein Nein Ja Ja Nein Nein
GraphTalk Anwendung Nein Ja Nein Nein Nein Nein Nein Logik Nein
Groovig Anwendung, allgemein, Skript, Web Ja Ja Ja Ja Ja Ja Ja Metaprogrammierung Im Gange, JCP[27]
Hafen Anwendung, Geschäft, Datenverarbeitung, allgemein, Web Ja Ja Ja Ja Ja Ja Nein Deklarativ Nein
Haskell Anwendung Nein Nein Ja Nein Ja Nein Nein Faule Bewertung Ja
2010, Haskell 2010[28]
Haxe Anwendung, allgemein, Web Ja Ja Ja Nein Ja Ja Nein Nein
HYPERNEXT Anwendung, Ausbildung Nein Nein Nein Ja Nein Nein Ja Schwach tippt Nein
Hypertalk Anwendung, rad, allgemein Nein Ja Nein Nein Nein Nein Ja Schwach tippt Unbekannt
Io Anwendung, hostgetriebenes Skripting Ja Ja Nein Nein Nein Nein Nein Nein
IPL Allgemein Nein Nein Ja Nein Nein Nein Nein Unbekannt
ISLISP Allgemein Ja Ja Ja Nein Ja Nein Nein Ja
1997, 2007, ISO
J Anwendung, Datenverarbeitung Ja Ja Ja Ja Ja Ja Ja Array-orientiert, Funktionsebene, stillschweigend, gleichzeitig Nein
JADE Anwendung, verteilt Ja Ja Nein Nein Nein Nein Nein Nein
Java Anwendung, Geschäft, clientseitig, allgemein, mobile Entwicklung, serverseitig, Web Ja Ja Ja Ja Ja Ja Ja Gleichzeitig De facto Standard über Java -Sprachspezifikation
JavaScript Clientseitig, serverseitig, Web Ja Ja Ja Ja Nein Ja Ja Prototypbasiert Ja
1997-2021, ECMA-262
Freude Forschung Nein Nein Ja Nein Nein Nein Nein Stapelorientiert Nein
Julia Allgemeines technisches Computing Ja Ja Ja Ja Ja Ja Nein Multiple Versand, Meta, Skalar und Array-orientiert, parallel, gleichzeitig, verteilt ("Cloud") Nein
K Datenverarbeitung, Geschäft Nein Nein Nein Nein Nein Nein Nein Array-orientiert, stillschweigend Unbekannt
Kotlin Anwendung, mobile Entwicklung, serverseitig, clientseitig, Web Ja Ja Ja Ja Ja Ja[29] Ja De facto Standard über die Kotlin -Sprachspezifikation
Ksh Shell, Scripting Ja Ja Nein Ja Nein Nein Nein Mehrere Varianten, benutzerdefinierte programmierbare, dynamische ladbare Module Ja
1992, Pox.2[13]
Labor (G) Anwendung, industrielle Instrumentation-Automatierung Ja Ja Ja Nein Nein Nein Ja Datenfluss, visuell Nein
Lispeln Allgemein Nein Nein Ja Nein Nein Nein Nein Unbekannt
LiveCode Anwendung, rad, allgemein Nein Ja Nein Nein Nein Nein Ja Schwach tippt Nein
Logtalk Künstliche Intelligenz, Anwendung Nein Ja Nein Nein Nein Ja Ja Logik Nein
Linden -Skriptsprache (LSL) Inhalts- und Animation in Virtual Worlds Ja Nein Nein Ja Nein Nein Ja Skripte existieren in Objekten in der Welt De facto Referenz ist die Zweites Leben Implementierung von LSL.[30]
Lua Anwendung, eingebettete Skripte Ja Ja[31] Ja Ja Nein Ja Nein Aspektorientiert, prototypbasiert Nein[32]
Ahorn Symbolische Berechnung, numerisches Computer Ja Ja Ja Ja Nein Nein Nein Verteilt Nein
Mathematica Symbolische Sprache Ja Ja Ja Ja Ja Ja Ja Logik, verteilt Nein
Matlab Hochdomänenspezifischer, numerisches Computing Ja Ja Nein Ja Nein Nein Nein Nein
Modula-2 Anwendungssystem Ja Nein Nein Nein Ja Nein Nein Ja
1996, ISO[33]
Modula-3 Anwendung Ja Ja Nein Nein Ja Nein Nein Nein
MUMPS (M) Allgemeine, Anwendung, Datenbanken Ja Für den nächsten Standard zugelassen Nein Ja Teilweise durch Indirektion und Xecute Ja Für den nächsten Standard zugelassen Gleichzeitig, Multi-User, NoSQL, Transaktionsverarbeitung Ja
1977 Ansi, 1995, ISO 2020
Nim Anwendung, allgemein, Web, Skript, System Ja Ja Ja Ja Ja Ja Nein Mehrfachversand, gleichzeitig, Meta Nein
Oberon Anwendungssystem Ja Ja Nein Nein Nein Nein Nein Nein
Objekt Pascal Anwendung, allgemeine, mobile App, Web Ja Ja Nein Ja Ja Ja Ja Strukturiert Nein
Ziel c Antrag, allgemein Ja Ja Nein Ja Nein Ja Nein Gleichzeitig Nein
Ocaml Antrag, allgemein Ja Ja Ja Ja Ja Nein Nein Nein
Occam Allgemein Ja Nein Nein Ja Nein Nein Nein Gleichzeitig, prozessorientiert Nein
Opa Web Applikationen Ja Nein Ja Nein Ja Nein Nein Verteilt Nein
OpenLisp Allgemeiner, eingebetteter Lisp -Motor Ja Ja Ja Nein Ja Nein Nein Ja
Ersetzt ISLISP, ISO
Oxygen Anwendung Ja Ja Nein Nein Ja Nein Nein Nein
Oz-Mozart Anwendung, Vertrieb, Bildung Ja Ja Ja Nein Nein Nein Nein Gleichzeitiger Logik Nein
Pascal Anwendung, Ausbildung Ja Nein Nein Ja Nein Nein Nein Ja
1983, ISO[34]
Perl Anwendung, Skript, Textverarbeitung, Web Ja Ja Ja Ja Ja Ja Nein Nein
Php Server-Seite, Webanwendung, Web Ja Ja[35] Ja[36] Ja Nein Ja Nein De facto Standard über Sprachspezifikation und Anfragen nach Kommentaren (RFCs)
Pl/i Anwendung Ja Ja Nein Ja Nein Nein Nein Ja
1969, ECMA-50 (1976)
Plus Anwendung, Systementwicklung Ja Nein Nein Ja Nein Nein Nein Nein
PostScript Grafik, Seitenbeschreibung Ja Nein Nein Ja Nein Nein Nein Übereinstimmend, stapelorientiert Ja
Als PostScript -Referenzhandbuch[37]
Power Shell Verwaltung, Anwendung, allgemeine, Skripten Ja Ja Ja Ja Nein Ja Nein Pipeline Nein
Prolog Anwendung, künstliche Intelligenz Nein Nein Ja Ja Nein Ja Nein Logik, deklarativ Ja
1995, ISO/IEC 13211-1: 1995, TC1 2007, TC2 2012, TC3 2017
PureBasic Anwendung Nein Nein Nein Ja Nein Nein Nein Nein
Python Anwendung, allgemein, Web, Skript, künstliche Intelligenz, wissenschaftliches Computing Ja Ja Ja Ja Ja Ja Ja Aspektorientiert De facto Standard über Python -Verbesserungsvorschläge (PEPS)
R Anwendung, Statistik Ja Ja Ja Ja Nein Ja Nein Nein
Schläger Bildung, General, Skripten Nein Ja Ja Ja Nein Ja Nein Modular, Logik, Meta Nein
Raku Skripten, Textverarbeitung, Kleberkleber Ja Ja Ja Ja Ja Ja Nein Aspektorientiert, Array, faule Bewertung, Mehrfachversand, Metaprogrammierung Ja
Realbasic Anwendung Nein Nein Nein Ja Nein Nein Nein Unbekannt
Rebol Verteilt Ja Ja Ja Ja Nein Ja Ja Dialiert Nein
Rexx Scripting Ja Ja (Netrexx und Objekt rexx Dialekte) Nein Ja Nein Nein Nein Ja
1996 (ANSI X3.274-1996)
Rollenspiel Anwendungssystem Ja Nein Nein Ja Nein Nein Nein Nein
Ring Anwendung Ja Ja Ja Ja Ja Ja Ja Metaprogrammierung, deklarativ, Natürliche Sprache Nein
Rubin Anwendung, Skripten, Web Ja Ja Ja Nein Nein Ja Nein Aspektorientiert Ja
2011 (JIS X 3017), 2012 (ISO/IEC 30170)
Rost Anwendung, serverseitig, System, Web Ja Ja[38] Ja Ja Ja Nein[39] Ja Gleichzeitig Nein
S Anwendung, Statistik Ja Ja Ja Ja Nein Nein Nein Nein
Slang Anwendung, numerisch, Skripten Ja Nein Nein Ja Nein Nein Nein Nein
Scala Anwendung, verteilt, Web Ja Ja Ja Nein Ja Ja Ja De facto Standard über Scala -Sprachspezifikation (SLS)
Planen Bildung, allgemein Nein Nein Ja Nein Nein Nein Nein Erweiterbare Syntax Ja
1998, r6Rs
Samen7 Anwendung, allgemein, Skript, Web Ja Ja Nein Nein Ja Ja Nein Multi-Paradigma, erweiterbar, strukturiert Nein
Simula Bildung, allgemein Ja Ja Nein Nein Nein Nein Ja Diskrete Ereignissimulation, Multi-Threaded (quasi parallele) Programmausführung Ja
1968
Kleine Basic Anwendung, Bildung, Spiele Ja Nein Nein Nein Nein Nein Ja Komponentenorientiert Nein
Smalltalk Anwendung, allgemein, geschäftlich, künstliche Intelligenz, Bildung, Web Ja Ja Ja Ja Nein Ja Ja Gleichzeitig, deklarativ Ja
1998, Ansi
Snobol Textverarbeitung Nein Nein Nein Nein Nein Nein Nein Unbekannt
Standard ml Anwendung Ja Nein Ja Nein Ja Nein Nein Ja
1997, SML '97[40]
Schnell Antrag, allgemein Ja Ja Ja Ja Ja Ja Ja Gleichzeitig, deklarativ, Protokollorientiert Nein
Tcl Anwendung, Skripten, Web Ja Ja Ja Ja Nein Ja Ja Nein
Visual Basic Anwendung, RAD, Bildung, Wirtschaft, allgemein (einschließlich VBA), Büroautomatisierung Ja Ja Nein Nein Ja Nein Ja Komponentenorientiert Nein
Visual Basic .net Anwendung, RAD, Bildung, Web, Geschäft, allgemein Ja Ja Ja Ja Ja Ja Ja Strukturiert, gleichzeitig Nein
Visual Foxpro Anwendung Nein Ja Nein Nein Nein Nein Nein Datenzentriert, logik Nein
Visueller Prolog Anwendung Ja Ja Ja Nein Nein Nein Ja Deklarativ, Logik Nein
Wolfram Sprache Symbolische Sprache Ja Ja Ja Ja Ja Ja Ja Logik, verteilt Nein
Xl Ja Ja Nein Nein Nein Nein Nein Konzeptprogrammierung Nein
Xojo Anwendung, rad, allgemein, Web Ja Ja Nein Ja Nein Ja Ja Nein
XPath/XQuery Datenbanken, Datenverarbeitung, Skripten Nein Nein Ja Nein Nein Nein Nein Baumorientiert Ja
1999 W3C XPath 1, 2010 W3C XQuery 1, 2014 W3C XPath/XQuery 3.0
Zeek Domänenspezifisch, Anwendung Ja Nein Nein Nein Nein Nein Ja Nein
ZSH Shell, Scripting Ja Nein Nein Ja Nein Nein Nein Ladbare Module Nein

Typsysteme

Failsafe I/O- und Systemaufrufe

Die meisten Programmiersprachen drucken eine Fehlermeldung oder werfen einen Ausnahme wenn ein Input-Output Operation oder andere Systemanruf (z.B., Chmod, töten) scheitert, es sei denn, der Programmierer hat explizit für unterschiedliche Handhabung dieser Ereignisse angeordnet. So diese Sprachen sicher scheitern in dieser Hinsicht.

Einige (meist ältere) Sprachen erfordern, dass der Programmierer explizit Überprüfungen für diese Art von Fehlern hinzufügt. Psychologisch anders kognitive Voreingenommenheit (z.B., Optimismus -Voreingenommenheit) können Anfänger und Experten gleichermaßen betreffen, und diese Auslassungen können zu führen falsches Verhalten.

Failsafe i/o ist ein Merkmal von 1c: Enterprise, Ada (Ausnahmen), Algol (Ausnahmen oder Rückgabewert abhängig von der Funktion), Ballerina, C#, Common Lisp (System "Bedingungen und Neustart"), Curry, D (Misserfolg eingehen),[41] Erlang, Forran, gehen (es sei denn, Ergebnis wird ausdrücklich ignoriert), Gosu, Hafen, Haskell, ISLISP, Java, Julia, Kotlin, Labor, Mathematica, Ziel c (Ausnahmen), Ocaml (Ausnahmen), OpenLisp, Php, Python, Raku, Rebol, Rexx (mit optional Signal auf... Fallenhandhabung), Ring, Rubin, Rost (es sei denn, Ergebnis wird ausdrücklich ignoriert), Scala,[42] Smalltalk, Standard ml, Swift ≥ 2,0 (Ausnahmen), Tcl, Visual Basic, Visual Basic .net, Visueller Prolog, Wolfram Sprache, Xojo, XPath/XQuery (Ausnahmen) und Zeek.

Nein fehlschlägen i/o:Autohotkey (Global ERRALLEVEL muss explizit überprüft werden), C,[43] Cobol, Eiffel (Es hängt tatsächlich von der Bibliothek ab und wird nicht durch die Sprache definiert), GLBasic (wird im Allgemeinen das Programm zum Absturz bringen), Rollenspiel, Lua (Einige Funktionen warnen oder werfen keine Ausnahmen) und Perl.[44]

Einige E/A -Überprüfungen sind eingebaut C ++ (Stl iostreams Misserfolg einschalten, aber C -APIs mögen stdio oder Posix unterlassen Sie)[43] und Objekt Pascal, in Verprügeln[45] Es ist optional.

Ausdruckskraft

Sprache Aussagenverhältnis[46] Linienverhältnis[47]
C 1 1
C ++ 2.5 1
Forran 2 0,8
Java 2.5 1.5
Perl 6 6
Smalltalk 6 6.25
Python 6 6.5

Die Literatur zu Programmiersprachen enthält eine Fülle informeller Ansprüche über ihren Verwandten AusdruckskraftEs gibt jedoch keinen Rahmen für die Formalisierung solcher Aussagen oder für die Herstellung interessanter Konsequenzen.[48] Diese Tabelle bietet zwei Ausdruckskraft aus zwei verschiedenen Quellen. Ein zusätzliches Maß für die Ausdruckskraft in GZIP -Bytes finden Sie im Spiel mit Computersprachen -Benchmarks.[49]

Benchmarks

Barplot der Protokollzeit zur Herstellung eines 1600² großen Mandelbrot [50] Wie in Das Benchmarks -Spiel [51]

Benchmarks sind so konzipiert, dass sie eine bestimmte Art der Arbeitsbelastung in einer Komponente oder einem System nachahmen. Die Computerprogramme, die zum Kompilieren einiger Benchmark -Daten in diesem Abschnitt verwendet wurden, wurden möglicherweise nicht vollständig optimiert, und die Relevanz der Daten ist umstritten. Die genauesten Benchmarks sind diejenigen, die an Ihre spezielle Situation angepasst werden. Die Benchmark -Daten anderer Menschen haben möglicherweise einen gewissen Wert für andere, aber die richtige Interpretation bringt viele mit sich Herausforderungen. Das Computer mit Computersprachen -Benchmarks Spiel Site warnt vor Über-Generalisierung aus Benchmark-Daten, enthält jedoch eine große Anzahl von Mikro-Benchmarks von mit Leser kontribierten Code-Snippets mit einer Schnittstelle, die verschiedene Diagramme und Tabellen generiert, in denen bestimmte Programmiersprachen und Arten von Tests verglichen werden.[52]

Zeitleiste spezifischer Sprachvergleiche

  • 1974 - Vergleichsnotizen zu Algol 68 und PL/i[53] - S. H. Valentine - November 1974
  • 1976 - Bewertung von Algol 68, Fröhlich J3B, Pascal, Simula 67 und Tacpol Versus Tinman - Anforderungen an eine gemeinsame Programmiersprache mit hoher Ordnung.
  • 1977 - Ein Vergleich von Pascal und Algol 68[54]Andrew S. Tanenbaum - Juni 1977.
  • 1993 - fünf kleine Sprachen und wie sie wuchsen - WONNE, Pascal, Algol 68, BCPL & CDennis M. Ritchie - April 1993.
  • 2009 - on Go - Oh, mach weiter - wie gut wird Google's gehen gegen die Brand X -Programmiersprache stehen? - David gegeben - November 2009

Siehe auch

Um alle Seiten, Unterkategorien und Bilder anzuzeigen, klicken Sie auf "►":

Verweise

  1. ^ Ab Mai 2006 Diarmuid Pigott's Enzyklopädie von Computersprachen Archiviert 2011-02-20 im Wayback -Maschine veranstaltet bei Murdoch Universität, Australien Listet 8512 Computersprachen auf.
  2. ^ ADA -Referenzhandbuch, ISO/IEC 8652: 2005 (e) ed. 3, 3.9 Tagged -Typen und Typverlängerungen
  3. ^ ADA -Referenzhandbuch, ISO/IEC 8652: 2005 (e) ed. 3, Abschnitt 6: Unterprogramme
  4. ^ ADA -Referenzhandbuch, ISO/IEC 8652: 2005 (e) ed. 3, Abschnitt 12: Generische Einheiten
  5. ^ ADA -Referenzhandbuch, ISO/IEC 8652: 2005 (e) ed. 3, Abschnitt 9: Aufgaben und Synchronisation
  6. ^ ADA -Referenzhandbuch, ISO/IEC 8652: 2005 (e) ed. 3 Anhang E: Verteilte Systeme
  7. ^ "Vak.ru" (PDF). Archiviert von das Original (PDF) Am 2017-03-30. Abgerufen 2008-08-09.
  8. ^ ISO 1538: 1984
  9. ^ "Vak.ru" (PDF). Archiviert von das Original (PDF) Am 2017-03-24. Abgerufen 2008-08-09.
  10. ^ IEEE 694-1985
  11. ^ Objekte - Definition und Verwendung
  12. ^ "Ballerina Sprachspezifikation" (PDF). WSO2. 2018-05-01. Abgerufen 2018-05-03.
  13. ^ a b Pox.2, Shell and Utilities, Befehlsinterpreter (IEEE STD 1003.2-1992.)
  14. ^ JSR 274
  15. ^ glockenlabs.com
  16. ^ ANSI C89, ISO/IEC 9899: 1990, 1999, 2011, 2018
  17. ^ ISO/IEC 14882: 1998, 2003, 2011, 2014, 2017
  18. ^ CodeProject.com: Funktionale Programmierung in C# 3.0 mit Lambda -Expression
  19. ^ ECMA-334; ISO/IEC 23270: 2006
  20. ^ SofteloCity.com
  21. ^ "Kristall". GitHub. 2. November 2021.
  22. ^ "Kristall". GitHub. 2. November 2021.
  23. ^ Grundlegende Eiffeltelsprachenmechanismen
  24. ^ Verschluss (Computerprogrammierung)
  25. ^ ECMA-367; ISO/IEC 25436: 2006
  26. ^ Die Go -Programmiersprache (FAQ)
  27. ^ JSR 241
  28. ^ "The Haskell 2010 Language Report". Abgerufen 2011-12-07. Die meisten Haskell -Implementierungen erweitern den Haskell 2010 -Standard.
  29. ^ "M8 ist raus!". Als erster Blick in die zukünftigen reflektierenden Fähigkeiten von Kotlin können Sie jetzt als erstklassige Objekte in Kotlin auf Eigenschaften zugreifen
  30. ^ Halcyon (Inworldz) und offene Sims schlagen kompatible Implementierungen mit zusätzlichen Funktionen vor.
  31. ^ LUA hat keinen expliziten "Objekt" -Typ (allgemeinerer Typ "Tabelle" wird für die Objektdefinition verwendet), hat jedoch eine explizite Syntax für die Objektmethode aufgerufen
  32. ^ Versionsveröffentlichungen werden mit einem definitiven LUA -Referenzhandbuch begleitet, das die vollständige Syntax und die Semantik zeigt. eine Referenzimplementierung und eine Testsuite. Diese werden verwendet, um andere Lua zu erzeugen VM Implementierungen und Compiler wie Kahlua und LLVM-Lua.
  33. ^ ISO/IEC 10514-1: 1996
  34. ^ ISO 7185
  35. ^ PHP -Handbuch, Kapitel 19. Klassen und Objekte (Php 5),
  36. ^ PHP -Handbuch, Kapitel 17. Funktionen
  37. ^ "PostScript -Sprachreferenzhandbuch" (PDF). Archiviert von das Original (PDF) Am 2017-02-18. Abgerufen 2017-02-18.
  38. ^ Ist Rost eine objektorientierte Programmiersprache?
  39. ^ Klabnik, Steve; Nichols, Carol. "Makros". Die Rost -Programmiersprache.
  40. ^ Smlnj.org
  41. ^ "Std.stdio - D Programmiersprache".
  42. ^ Scala läuft auf der Java Virtual Machine, von der sie das Handling zur Laufzeitausnahme erbt.
  43. ^ a b GCC kann auf deaktiviert warnen Errno. Neuere Versionen von Visual Studio Normalerweise Ausnahmen von fehlgeschlagener E/A bei der Verwendung werfen stdio.
  44. ^ Eine beträchtliche Fehlerprüfung kann optional aktiviert werden, aber standardmäßig ist Perl nicht fehlgeschlagen.
  45. ^ set -e Ermöglicht die Beendigung, falls dies nicht überprüft wird Status beenden ist ungleich Null.
  46. ^ Daten von McConnell, Steve (30. November 2009). Code vollständig. p. 100. ISBN 9780735636972. Das Aussagenverhältnis Spalte "zeigt typische Verhältnisse von Quellanweisungen in mehreren hochrangigen Sprachen zum äquivalenten Code in C. Ein höheres Verhältnis bedeutet, dass jede Codezeile in der aufgeführten Sprache mehr erreicht als jede Codezeile in C.
  47. ^ Das Verhältnis von Linienzähler -Tests, die jede Sprache zu der von C gewonnenen Zahl bei der Verwendung der Verwendung gewonnen haben Vergleichen mit Feature at Jon Mcloone (14. November 2012). "Codelänge in 14 Sprachen gemessen". Archiviert von das Original Am 2012-11-19. C GCC wurde für C, C ++ G ++ verwendet, wurde für C ++ verwendet, FORTRAN G95 wurde für FORTRAN verwendet, Java JDK Server wurde für Java verwendet und SmallTalk GST wurde für SmallTalk verwendet.
  48. ^ Fellisen, Matthias. Über die ausdrucksstarke Kraft der Programmiersprachen. ESOP '90 3. Europäisches Symposium für Programmierung. Citeseerx 10.1.1.51.4656.
  49. ^ "Wie Programme gemessen werden | Computersprach -Benchmarks -Spiel". Benchmarksgame-team.pages.debian.net/benchmarksgame. Abgerufen 2018-05-29.
  50. ^ Mandelbrot, Benoit B. (1982). Die fraktale Geometrie der Natur (Überarbeitete Ausgabe). San Francisco. ISBN 0-7167-1186-9. OCLC 7876824.
  51. ^ "Mandelbrot". Computersprach -Benchmarks -Spiel. Abgerufen 2021-07-09.
  52. ^ "Der ultimative Benchmark | Das Spiel der Computersprachen -Benchmarks". Benchmarksgame-team.pages.debian.net/benchmarksgame. Abgerufen 2018-05-29.
  53. ^ Valentine, S. H. (November 1974). "Vergleichsnotizen zu Algol 68 und PL/I". Das Computerjournal. 17 (4): 325–331. doi:10.1093/comjnl/17.4.325.
  54. ^ "Vrije Universität Amsterdam" (PDF).

Weitere Lektüre