Liste der Programmiersprachen nach Typ
Dies ist eine Liste von bemerkenswerten Programmiersprachen, gruppiert nach Typ.
Es gibt kein übergeordnetes Klassifizierungsschema für Programmiersprachen. In vielen Fällen wird eine Sprache unter mehreren Überschriften aufgeführt (in dieser Hinsicht siehe "."Multiparadigmsprachen" unter).
Arraysprachen
Array -Programmierung (auch bezeichnet Vektor oder mehrdimensional) Sprachen verallgemeinern die Operationen auf Skalaren, um sich transparent zu bewerben Vektoren, Matrizen, und höherdimensionale Arrays.
Assemblersprachen
Assemblersprachen entsprechen direkt a Maschinensprache (sehen unter), obwohl es möglicherweise keine 1-1-Mapping zwischen einer einzelnen Anweisung und einer einzelnen Anweisung gibt, so dass die Anweisungen für Maschinencode in einer von Menschen verständlichen Form erscheinen. Assemblersprachen können Programmierer symbolische Adressen verwenden, die die Assembler konvertiert in absolut oder Umlebbar Adressen. Die meisten Assembler unterstützen auch Makros und Symbolische Konstanten.
Authoringsprachen
Ein Autorierungssprache ist eine Programmiersprache, die für die Verwendung eines Nicht-Computer-Experten entwickelt wurde, um einfach Tutorials, Websites und andere interaktive Computerprogramme zu erstellen.
Okatenative Programmiersprachen
A Conklibstönische Programmiersprache ist ein punktfrei Computer Programmiersprache in denen alle Ausdrücke bezeichnen Funktionen, und die Nebeneinander von Ausdrücke bezeichnet Funktionszusammensetzung.[1] Die verkettungsansiedlige Programmierung ersetzt Funktionsanwendung, was in anderen Programmierstilen üblich ist, mit Funktionszusammensetzung als die Standardmethode zum Erstellen Unterroutinen.
Einschränkungsprogrammiersprachen
A Einschränkungsprogrammiersprache ist ein deklarative Programmiersprache wo Beziehungen zwischen Variablen ausgedrückt werden als Einschränkungen. Die Ausführung wird fortgesetzt, indem versucht wird, Werte für die Variablen zu finden, die alle deklarierten Einschränkungen erfüllen.
Befehlszeilen-Schnittstellensprachen
Befehlszeilenschnittstelle (CLI) Sprachen werden auch als Stapelsprachen oder Arbeitskontrollsprachen bezeichnet. Beispiele:
- 4dos (Erweiterte Befehlszeilenschale für IBM PCs)
- 4OS2 (Erweiterte Befehlszeilenschale für IBM PCs)
- verprügeln (die Bourne-auf-Schale von GNU, Kostenlose Software -Stiftung (FSF))
- Clist (MVS Befehlsliste)
- CMS Exec
- CSH und TCSH (C-ähnliche Hülle von Bill Joy bei uc Berkeley)
- Digitale Befehlssprache (DCL) - Standard -CLI -Sprache für VMs (Dez, Compaq, HP)
- DOS -Batch -Sprache (Standard -CLI/Batch -Sprache für die IBM PC laufend DOS Betriebssysteme, bevor Fenster)
- Exec 2
- Erwarten von (a Unix Automatisierungs- und Testwerkzeug)
- Fische (a Unix Hülse)
- Hamilton C Shell (eine C -Shell für Fenster)
- ksh (ein Standard Unix Muschel, geschrieben von David Korn)
- Rc (Befehlszeilenschale für Plan 9)
- Rexx
- Sch (Der Standard Unix Muschel, geschrieben von Stephen R. Bourne)
- TaCl (Tandem Advanced Command Language)
- Windows -Batch -Sprache (Windows -Batch -Dateisprache, wie sie verstanden wird Command.com und Cmd.exe)
- Windows PowerShell (.NETZ-basierte CLI)
- ZSH (a Unix Hülse)
Kompilierte Sprachen
Dies sind Sprachen, die normalerweise von verarbeitet werden von Compilerobwohl theoretisch jede Sprache kompiliert oder interpretiert werden kann.
- Aktionen
- Ada (Mehrzwecksprache)
- Algol 58
- Algol 60 (sehr einflussreiches Sprachdesign)
- KLEIN Maschinenalgolähnliche Sprache
- Ballerina (kompiliert zu Bytecode Für Ballerina Runtime (BVM))
- BASIC (Einige Dialekte, einschließlich der ersten Version von Dartmouth Basic)
- BCPL
- C (Eine der am häufigsten verwendeten prozeduralen Sprachen)
- C ++ (weit verbreitete Multiparadigmensprache, die aus C abgeleitet ist)
- C# (kompiliert in Cilgeneriert ein nationales Bild zur Laufzeit)
- Ceylon (kompiliert in JVM Bytecode)
- AUSRUHEN
- Clipper 5.3 (Programmiersprache für DOS-basierte Software)
- Cleo (Klare Sprache zum Ausdruck von Bestellungen) auf Leo -Computern
- Clojure (kompiliert in JVM Bytecode)
- Cobol
- Kobra
- Common Lisp
- Kristall
- Locken
- D (aus einer Neugineering von C ++)
- Dasl Kompiliert in Java, JavaScript, JSP, Flex usw. als .war -Datei
- Delphi (Borland's Objekt Pascal Entwicklungssystem)
- Dibol (Digital interaktive geschäftorientierte Sprache)
- Dylan
- EC
- Eiffel (objektorientierte Sprache, die von entwickelt wurde von Bertrand Meyer))
- Ulme
- EMACS Lisp
- Smaragd
- Erlang
- F# (kompiliert in Cil, um Laufzeitbild zu generieren)
- Faktor
- Forran (die erste hochrangige, kompilierte Sprache, von IBM's John Backus)
- Gauß
- Genie
- gehen
- Gosu (kompiliert in JVM Bytecode)
- Groovig (kompiliert in JVM Bytecode)
- Haskell
- Hafen
- Holyc (Exklusiv für Templeos verwendet)
- Java (normalerweise zusammengestellt in JVM Bytecode; Vorzeit (AOT) -Kompiler zusammenstellen Maschinensprache)
- Fröhlich
- Julia (kompiliert im laufenden Fliegen zum Maschinencode)
- Kotlin (Kotlin/Native verwendet Llvm einheimische Binärdateien produzieren)
- Labor
- Quecksilber
- Mesa
- Nemerle (In mittlerer Sprachbytecode kompiliert)
- Nim
- Ziel c
- Odin
- P
- Pascal (die meisten Implementierungen)
- Pl/i (Allzwecksprache, ursprünglich für IBM Mainframes)
- Plus
- Python (Kompiliert zu Zwischenprodukt VM Bytecode)
- Rollenspiel (Berichtsprogrammgenerator)
- Rost
- Scala (kompiliert in JVM Bytecode)
- Planen (Einige Implementierungen, z. B. Gambit)
- Sequencel -rein funktionell, parallelisierend und rassenfrei
- Simula (Erste objektorientierte Sprache, ein Supersatz von Algol 60)
- Smalltalk Compiles to Platform Independent Bytecode für eine virtuelle Maschine
- Schnell
- Ml
- Standard ml (SML)
- Ocaml
- Turing
- Vala (Compiler für das Gobject Types System)
- Visual Basic (verwenden Gemeinsame Zwischensprache (CIL) Das wird in einer nativen Laufzeit zusammengestellt)
- Visual Foxpro
- Visueller Prolog
- Xojo
Gleichzeitige Sprachen
Nachrichtenübergang Sprachen bieten Sprachkonstrukte für Parallelität. Das vorherrschende Paradigma für die Parallelität in Mainstream -Sprachen wie z. Java ist geteilte Erinnerung Parallelität. Gleichzeitige Sprachen, die das Übergeben von Nachrichten verwenden Kommunizieren von sequentiellen Prozessen (Csp) oder die π-Kalkulus.
- Ada -Mehrzwecksprache
- ALEF - Gleichzeitige Sprache mit Threads und Nachrichtenübergabe, die für die Systemprogrammierung in frühen Versionen von verwendet wird Plan 9 von Bell Labs
- Ateji px - Eine Erweiterung der Java -Sprache für die Parallelität
- Ballerina -Eine Sprache, die zum Implementieren und Orchestrieren von Mikrodiensten entwickelt wurde. Bietet ein meldungsbasiertes paralleles Modell auf Parallelität.
- Futter - Domänenspezifische Programmiersprache für Audio, präzise Kontrolle über Parallelität und Timing
- Cilk - eine gleichzeitige C
- Cω - C Omega, eine Forschungssprache, die C#erweitert, verwendet asynchrone Kommunikation
- Clojure - Ein Dialekt von Lispeln für die Java virtuelle Maschine
- Kapelle
- Co-Array Forran
- Gleichzeitiger Pascal (von Brinch-Hansen)
- Curry
- E - verwendet Versprechen, stellt sicher, dass Deadlocks nicht auftreten können
- Eiffel (durch die SCOOP Mechanismus, einfache gleichzeitige objektorientierte Berechnung)
- Elixier (Läuft auf der Erlang VM)
- Smaragd - Verwendet Threads und Monitore
- Erlang - verwendet asynchrone Nachrichten, die mit nichts gemeinsam genutzt werden
- Gambit -Schema - Verwenden der Termitenbibliothek
- gehen
- Haskell - Unterstützt gleichzeitig, verteilte und parallele Programmierung über mehrere Maschinen hinweg
- Java
- Treten Sie Java bei - gleichzeitige Sprache basierend auf Java
- X10
- Julia
- Joule - DataFlow -Sprache, kommuniziert nach Nachrichtenüberschreitung
- Labor
- Limbo - relativ von ALEF, verwendet für die Systemprogrammierung in Inferno (Betriebssystem)
- Multilisp – Planen Variante erweitert, um die Parallelität zu unterstützen
- Ocaml
- occam - stark beeinflusst von durch Kommunizieren von sequentiellen Prozessen (CSP)
- occam-π - Eine moderne Variante von occam, die Ideen von Milner enthält π-Kalkulus
- Ork
- Oz -Multiparadigm-Sprache, unterstützt Shared State und Message-Passing-Parallelität sowie Futures sowie das Mozart-Programmiersystem plattformübergreifend Oz
- P
- Pict - im Wesentlichen eine ausführbare Implementierung von Milner π-Kalkulus
- Python -Verwendet Thread-basierte Parallelität und prozessbasierte Parallelität[9]
- Rost
- Scala -Implementiert Erlang-Stil Schauspieler Auf dem JVM
- Sequencel -rein funktionell, automatisch parallelisierend und rassenfrei
- Sr - Forschungssprache
- Einheitlich parallel c
- Xproc - XML -Verarbeitungssprache, die Parallelität ermöglichen
Lockige Sprachen
Geschweifte Klammer oder Curly-Brace-Programmiersprachen eine Syntax haben, die Anweisungsblöcke mit dem definiert lockige Klammer- oder Klammerfiguren {
und }
. Diese Syntax entstand von BCPL (1966) und wurde populär von C. Viele lockige Sprachen stammen von C. Beispiele für Curly-Spurt-Sprachen aus oder werden stark beeinflusst: Zu gehören: gehören:
- ABCL/C+
- ALEF
- Awk
- B
- BC
- BCPL
- Ballerina
- C - um 1970 entwickelt bei Bell Labs
- C ++
- C#
- Ceylon
- Futter - Audio -Programmiersprache
- Cilk - gleichzeitiger C für die multitHhread -parallele Programmierung
- Zyklon - Eine sicherere C -Variante
- D
- Pfeil
- Dasl - Basierend auf Java
- E
- EC
- ECMaskript
- GLSL
- HLSL
- ICI
- Java
- LPC
- Mel
- Nemerle (lockige Zahnspangen optional[10])
- Ziel c
- Pcastl
- Perl
- Php
- Pico
- Pike
- Power Shell
- R
- Rost
- Slang
- Scala (Curly-Braces Optional)
- sed
- Solidität[11]
- Supercollider
- Schnell
- Unrealscript
- Yorick
- Yass
DataFlow -Sprachen
Datenflow -Programmierung Sprachen stützen sich auf eine (normalerweise visuelle) Darstellung des Datenflusss, um das Programm anzugeben. Häufig zur Reaktion auf diskrete Ereignisse oder zur Verarbeitung von Datenströmen. Beispiele für Datenflusssprachen sind:
Datenorientierte Sprachen
Datenorientierte Sprachen bieten leistungsstarke Möglichkeiten, die Beziehungen zu durchsuchen und zu manipulieren, die als Entitätsbeziehungstabellen beschrieben wurden, die einen Satz von Dingen in andere Sätze abbilden. Beispiele für datenorientierte Sprachen sind:
- Clarion
- Clipper
- dbase Eine relationale Datenbankzugriffssprache
- Gremlin
- MUMPS (Eine ANSI-Standard-Allzwecksprache mit Spezialisierungen für Datenbankarbeit)
- Caché -ObjektSkript (ein proprietäres Superet von Mumps)
- Rdql
- Sparql
- Sql
- Tutorial d - siehe auch Das dritte Manifest
- Visual Foxpro -Ein nationaler RDBMS-Motor, objektorientiert, rad
- WebDNA
- Wolfram Sprache
Entscheidungstischsprachen
Entscheidungstabellen Kann als Hilfe zur Klärung der Logik verwendet werden, bevor ein Programm in jeder Sprache geschrieben wird, aber in den 1960er Jahren wurde eine Reihe von Sprachen entwickelt, bei denen die Hauptlogik direkt in Form einer Entscheidungstabelle ausgedrückt wird, einschließlich:
Deklarative Sprachen
Deklarative Sprachen Drücken Sie die Logik einer Berechnung aus, ohne ihren Kontrollfluss im Detail zu beschreiben. Deklarative Programmierung steht im Gegensatz zu Imperative Programmierung über imperative Programmiersprachen, wobei der Kontrollfluss durch serielle Ordnungen (Imperative) angegeben wird. (Rein) funktional und logikbasiert Programmiersprachen sind ebenfalls deklarativ und bilden die Hauptunterkategorien der deklarativen Kategorie. In diesem Abschnitt werden zusätzliche Beispiele aufgeführt, die nicht in diesen Unterkategorien sind.
- Analytica
- Ameise (kombinieren deklarative Programmierung und Imperative Programmierung)
- Curry
- Chiffre
- Verteilte Anwendungsspezifikationssprache (Dasl) (kombinieren deklarative Programmierung und Imperative Programmierung)
- ECL
- Gremlin
- Lüster
- Quecksilber
- Metapost
- Modelica
- Prolog
- QML
- Oz
- Rdql
- Sequencel -rein funktionell, automatisch parallelisierend und rassenfrei
- Sparql
- Sql (Nur DQL, nicht DDL, DCL und DML)
- Wolfram Sprache
- XBASE
- XSL -Transformationen
Einbettbare Sprachen
Im Quellcode
Einbettungsbare Sprachen mit Quellen, die kleine ausführbare Code-Teile in ein Stück freier Form einbetten, oft eine Webseite.
Die eingebetteten Sprachen auf dem Client-Seiten sind durch die Fähigkeiten des Browsers oder des beabsichtigten Kunden begrenzt. Sie wollen Webseiten Dynamik bereitstellen, ohne den Server wiederzugeben.
Eingebettete Serversprachen sind viel flexibler, da fast jede Sprache in einen Server integriert werden kann. Ziel, Fragmente des in einer Webseite eingebetteten serverseitigen Codes eingebettet zu haben, ist die dynamische Erstellung zusätzlicher Markup. Der Code selbst verschwindet, wenn die Seite serviert wird und durch seine Ausgabe ersetzt wird.
Serverseite
- Php
- Vbscript
- SMX - Webseiten gewidmet
- Tcl -Server-Seite in Naviserver und eine wesentliche Komponente in Systemen der Elektronikindustrie
- WebDNA -datenbankgesteuerte Websites gewidmet
Die obigen Beispiele sind besonders für diesen Zweck gewidmet. Eine große Anzahl anderer Sprachen, wie z. Erlang, Scala, Perl, Ring und Rubin kann angepasst werden (zum Beispiel, indem man in angegeben wird Apache Module).
Client -Seite
Im Objektcode
Eine Vielzahl von dynamischen oder Skriptsprachen kann in den kompilierten ausführbaren Code eingebettet werden. Grundsätzlich Objektcode für die Sprache der Sprache Dolmetscher muss mit der ausführbaren Datei verbunden werden. Quellcodefragmente für die eingebettete Sprache können dann als Zeichenfolgen an eine Bewertungsfunktion übergeben werden. Auf diese Weise können Anwendungssteuersprachen implementiert werden, wenn der Quellcode vom Benutzer eingegeben wird. Sprachen mit kleinen Dolmetschern werden bevorzugt.
Bildungsprogrammiersprachen
Sprachen entwickelten sich hauptsächlich zum Zweck des Lehrenes und Lernens der Programmierung.
Esoterische Sprachen
Ein Esoterische Programmiersprache ist eine Programmiersprache, die als Test der Grenzen des Computerprogrammiersprachenentwurfs, als Beweis für das Konzept oder als Witz entwickelt wurde.
Erweiterungssprachen
Erweiterungsprogrammiersprachen Sind Sprachen in ein anderes Programm eingebettet und verwendet, um seine Funktionen in Erweiterungsskripten zu nutzen.
- Autolisp (speziell für Autocad)
- Beanshell
- Cal
- C/al (C/Seite)
- List
- EMACS Lisp
- JavaScript und einige Dialekte, z. B.,, Jscript
- Lua (in viele Spiele eingebettet)
- OpenCL (Erweiterung von C und C ++, um die GPU- und Parallelerweiterungen der CPU zu verwenden)
- Optimj (Erweiterung von Java mit Sprachunterstützung für das Schreiben von Optimierungsmodellen und leistungsfähige Abstraktionen für die Verarbeitung von Massendaten)
- Perl
- Pike
- Python (Eingebettet in Maya, Mixer und andere 3-D-Animationspakete)
- Rexx
- Ring
- Rubin (Google Sketchup)
- Slang
- Sql
- Eichhörnchen
- Tcl
- Vim -Skript (vim)
- Visual Basic für Anwendungen (VBA)
- Windows PowerShell
Sprachen der vierten Generation
Programmiersprachen der vierten Generation sind hochrangige Sprachen, die rund um Datenbanksysteme basieren. Sie werden im Allgemeinen in kommerziellen Umgebungen verwendet.
- 1c: Enterprise -Programmiersprache
- Abap
- Korvision
- CSCGraphTalk
- Ca-ideal (Interaktive Entwicklungsumgebung für eine Anwendungslebensdauer) für die Verwendung mit Ca-datacom/db
- EasyTrieve Berichtsgenerator (jetzt Ca-EasyTrieve Plus)
- FOKUS
- IBM Informix-4gl
- Linc 4gl
- Mapper (Unisys/Sperry) - jetzt Teil von Bis
- Mark-IV (Sterling/Informatik) Jetzt Vision: Baumeister von CA
- NATÜRLICH
- Fortschritt 4gl
- PV-Welle
- LiveCode (Nicht auf einer Datenbank basiert; dennoch ist es das Ziel, auf einer höheren Abstraktionsebene zu arbeiten als 3gls.)
- SAS
- Sql
- Ubercode (Vhll oder Sprache auf sehr hoher Ebene)
- Uniface
- Visuelle Datenflex
- Visual Foxpro
- XBASE
Funktionssprachen
Funktionelle Programmierung Sprachen definieren Programme und Unterprogramme als mathematische Funktionen und behandeln sie als erstklassig. Viele sogenannte funktionale Sprachen sind "unrein", die zwingende Merkmale enthalten. Viele funktionale Sprachen sind an mathematische Berechnungswerkzeuge gebunden. Funktionale Sprachen umfassen:
Rein
Unrein
- Apl
- ATS
- Cal
- C ++ (seit C ++ 11)
- C#
- Vb.net
- Ceylon
- D
- Pfeil
- Locken
- ECMaskript
- Erlang
- F#
- Fexl
- Flix
- G (verwendet in LabView)
- Groovig
- Hüpfen
- J
- Java (seit Version 8)
- Julia
- Kotlin
- Lispeln
- Mathematica
- Ml
- Standard ml (SML)
- Ocaml
- Nemerle
- Nim
- Opal
- Ops5
- Perl
- Php
- Python
- Q (Gleichungsprogrammiersprache)
- Q (Programmiersprache von KX Systems)
- R
- Raku
- Rebol
- Rot
- Ring
- Rubin
- Refallierung
- Rost
- Scala
- Schnell
- Tabellenkalkulationen
- Tcl
- Wolfram Sprache
Hardware -Beschreibung Sprachen
In Elektronik, a Hardware -Beschreibung Sprache (HDL) ist eine spezialisierte Computersprache, mit der die Struktur, das Design und der Betrieb elektronischer Schaltungen und am häufigsten digitale Logikschaltungen beschrieben werden. Die beiden am häufigsten verwendeten und gut unterstützten HDL-Sorten in der Industrie sind Verilog und VHDL. Zu den Hardware -Beschreibung Sprachen gehören:
HDLs für das analoge Schaltungsdesign
- Verilog-Ams (Verilog für analoges und gemischtes Signal)
- VHDL-AMS (VHDL mit Analog-/Mischsignalverlängerung)
HDLs für digitales Schaltungsdesign
Imperative Sprachen
Imperative Programmiersprachen können Multi-Paradigma sein und in anderen Klassifikationen erscheinen. Hier ist eine Liste von Programmiersprachen, die dem folgen Imperatives Paradigma:
- Ada
- Algol 58
- Algol 60 (sehr einflussreiches Sprachdesign)
- BASIC
- C
- C ++
- C#
- Ceylon
- AUSRUHEN
- Cobol
- D
- ECMaskript
- Forran
- Gauß
- gehen
- Groovig
- Java
- Julia
- Lua
- Matlab
- Maschinensprachen
- Modula-2, Modula-3
- MUMPS
- Nim
- Ocaml
- Oberon
- Objekt Pascal
- Offene Programmiersprache (OPL)
- OpenEdge Advanced Geschäftssprache (ABL)
- Pascal
- Perl
- Php
- Pl/i
- Power Shell
- PROSA
- Python
- Ring
- Rubin
- Rost
- Speakeasy
- Schnell
- Tcl
- Wolfram Sprache
Interaktive Modussprachen
Sprachen der interaktiven Modus wirken als eine Art Shell: Ausdrücke oder Aussagen können einzeln eingegeben werden, und das Ergebnis ihrer Bewertung wird sofort angezeigt. Der interaktive Modus wird auch als a bezeichnet Read -E -druck -Schleife (Repl).
- Apl
- BASIC (einige Dialekte)
- Clojure
- Common Lisp
- Pfeil (mit Observatorien oder Dartium -Entwicklerwerkzeugen)
- ECMaskript
- Erlang
- Elixier (mit IEX)
- F#
- Fril
- Gauß
- Groovig
- List
- Haskell (mit dem GHCI oder dem Umarmungsdolmetscher)
- Idl
- J
- Java (Seit Version 9)
- Julia
- Lua
- MUMPS (Eine ANSI-Standard-Allzwecksprache)
- Ahorn
- Mathematica (Wolfram Sprache)
- Matlab
- Ml
- Ocaml
- Perl
- Php
- Pike
- PostScript
- Prolog
- Python
- PROSA
- R
- Rebol
- Rexx
- Ring
- Rubin (mit Irb)
- Scala
- Planen
- Smalltalk (Überall in einer SmallTalk -Umgebung)
- Slang (mit der S-Lang-Shell, SLSH)
- Speakeasy
- Schnell
- Tcl (mit der TCL -Shell, TCLSH)
- Unix Shell
- Windows PowerShell (.NETZ-basierte CLI)
- Visual Foxpro
Interpretierte Sprachen
Interpretierte Sprachen sind Programmiersprachen, in denen Programme von einem Interpreter aus dem Quellcodeformular ausgeführt werden können. Theoretisch kann jede Sprache kompiliert oder interpretiert werden, so dass der Begriff Interpretierte Sprache Bezieht sich im Allgemeinen auf Sprachen, die normalerweise eher interpretiert als kompiliert werden.
- Ameise
- Apl
- Autohotkey Skriptsprache
- Autoit Skriptsprache
- BASIC (einige Dialekte)
- Programmiersprache für Geschäft (PL/B, ehemals Datenbank, spätere Versionen hinzugefügt optionale Kompilierung)
- Eiffel (über Schmelzentechnologie in Eiffelstudio)
- EMACS Lisp
- Fokus
- Gamemaker -Sprache
- Groovig
- J
- Julia (Zusammengestellt im Fliegen nach Maschinensprachestandardmäßig auch die Interpretation auch verfügbar)
- JavaScript
- Lispeln (Frühe Versionen, vor 1962 und einige experimentelle Versionen; Produktionslisp-Systeme sind Compiler, aber viele von ihnen bieten bei Bedarf immer noch einen Dolmetscher.)
- LPC
- Lua
- MUMPS (Eine ANSI-Standard-Allzwecksprache)
- Ahorn
- Mathematica
- Matlab
- Ocaml
- Pascal (Frühe Implementierungen)
- Pcastl
- Perl
- Php
- PostScript
- Power Shell
- PROSA
- Python
- Rexx
- R
- Rebol
- Ring
- Rubin
- Slang
- Speakeasy
- Standard ml (SML)
- Drehen
- Tcl
- Tee
- Torqueskript
- Dünnbasic Skriptsprache
- Vbscript
- Windows PowerShell – .NETZ-Basierend CLI
- Wolfram Sprache
- Einige Skriptsprachen - unter
Iterative Sprachen
Iterative Sprachen basieren auf oder bieten an Generatoren.
Sprachen nach Speicherverwaltungstyp
Müll gesammelte Sprachen
Müllsammlung (GC) ist eine Form der automatischen Speicherverwaltung. Der Müllsammler versucht, das vom Programm zugewiesene Gedächtnis zurückzugewinnen, wird jedoch nicht mehr verwendet.
Sprachen mit manueller Speicherverwaltung
Sprachen mit optionalem manuellem Speichermanagement
- Ada Implementierungen sind nicht erforderlich, um Müllsammlung anzubieten, aber die Sprachsemantik unterstützt sie, und viele Implementierungen umfassen sie.
- D Bietet den Programmierern die volle Kontrolle über seinen eigenen Müllsammler, einschließlich der Möglichkeit, sie sofort zu deaktivieren.[14]
- Nim wird in der Regel standardmäßig mit Müll gesammelt oder referenziert, abhängig von seiner Konfiguration, der Programmierer kann jedoch den Switch verwenden
-mm: Keine
das Gedächtnis manuell zu erledigen.[15] - Ziel c und Ziel-C ++ Unterstützung optionaler Referenzzählung und Müllsammlung als Alternativen zum manuellen Speichermanagement (der Müllsammler wurde jedoch von Apple deklariert).
- Rost Unterstützt die optionale Referenzzählung, das manuelle Speichermanagement wird jedoch bevorzugt.
- Vala Verwendet standardmäßig die Referenzzählung, aber der Benutzer kann den Speicher manuell manuell verwalten, wenn er dies wünscht.[16]
Sprachen mit deterministischem Gedächtnismanagement
Sprachen mit automatischer Referenzzählung (ARC)
Listenbasierte Sprachen-LISPs
Listenbasierte Sprachen sind eine Art von datenstrukturierten Sprache, die auf dem basieren aufführen Datenstruktur.
Kleine Sprachen
Kleine Sprachen[19] eine spezialisierte Problemdomäne bedienen.
- awk - Verwendet für die Manipulation der Textdatei.
- Komet - verwendet, um komplexe Kombinator zu lösen Optimierung Probleme in Bereichen wie z. Ressourcenzuweisung und Planung
- sed - Analysiert und verwandelt Text
- Sql - hat nur wenige Schlüsselwörter und nicht alle Konstrukte, die für eine vollständige Programmiersprache benötigt werden[a] - Viele Datenbankverwaltungssysteme erweitern SQL mit zusätzlichen Konstrukten als a gespeicherte Prozedur Sprache
Logikbasierte Sprachen
Logikbasiert Sprachen geben eine Reihe von Attributen an, die eine Lösung eher und eine Reihe von Schritten haben, um eine Lösung zu erhalten.
Bemerkenswerte Sprachen folgen Programmierparadigma enthalten:
- Alf
- ALMA-0
- ClaCl (Clac-Sprache)
- Curry
- Fril
- Flix (Eine funktionale Programmiersprache mit erstklassigen Datalog-Einschränkungen)
- Janus
- λprolog (Eine logische Programmiersprache mit polymorpher Typisierung, modularer Programmierung und Programmierung höherer Ordnung)
- Oz, und Mozart -Programmiersystem plattformübergreifend Oz
- Prolog (Formuliert Daten und den Programmbewertungsmechanismus als spezielle Form der mathematischen Logik genannt Hornlogik und ein allgemeiner Beweismechanismus genannt Logische Auflösung))
- Quecksilber (basierend auf Prolog)
- Visueller Prolog (objektorientierte Prolog-Erweiterung)
- Roop
Maschinensprachen
Maschinensprachen sind direkt von der CPU eines Computers ausführbar. Sie sind normalerweise als Bitmuster formuliert, normalerweise in Oktal oder hexadezimal. Jedes Bitmuster bewirkt, dass die Schaltkreise in der CPU einen der grundlegenden Vorgänge der Hardware ausführen. Die Aktivierung spezifischer elektrischer Eingänge (z. B. CPU -Paketnins für Mikroprozessoren) und logische Einstellungen für CPU -Zustandswerte steuern die Berechnung des Prozessors. Einzelne Maschinensprachen sind spezifisch für eine Familie von Prozessoren; Maschinensprachiger Code für eine Prozessfamilie kann nicht direkt auf Prozessoren in einer anderen Familie ausgeführt werden, es sei denn, die fraglichen Prozessoren haben zusätzliche Hardware, um sie zu unterstützen (z. B. Dec-VAX-Prozessoren enthalten einen PDP-11-Kompatibilitätsmodus). Sie werden (im Wesentlichen) immer vom CPU -Entwickler definiert, nicht von den Dritten.[b] Die symbolische Version, die Prozessor des Prozessors Montagesprache, wird in den meisten Fällen auch vom Entwickler definiert. Einige häufig verwendete Maschinencode Anweisungssätze sind:
- ARM
- Dez:
- Intel 8008, 8080 und 8085
- x86:
- 16-Bit x86, zuerst im Intel 8086 verwendet
- Intel 8086 und 8088 (Letzteres wurde in der ersten und frühen Verwendung verwendet IBM PC)
- Intel 80186
- Intel 80286 (der erste X86 -Prozessor mit Sicherheitsmodus, verwendet in der IBM bei)
- IA-32, eingeführt in der 80386
- x86-64 - Die ursprüngliche Spezifikation wurde von erstellt von AMD. Es gibt Anbietervarianten, aber sie sind im Wesentlichen gleich:
- 16-Bit x86, zuerst im Intel 8086 verwendet
- IBM[c]
- MIPS
- Motorola 6800 (8 Bit)
- Motorola 68000 Familie (CPUs frühzeitig verwendet Apple Macintosh und früh Sonne Computers)
- MOS -Technologie 65xx (8 Bit))
- 6502 (CPU für Vic-20, Apple II, und Atari 800)
- 6510 (CPU für Commodore 64)
- Western Design Center 65816/65802 (CPU für Apfel -Iigs und (Variante) Super Nintendo Entertainment System)
- Nationaler Halbleiter NS320XX
- ENERGIE, zuerst in der verwendet IBM RS/6000
- Powerpc - benutzt in Power Macintosh und in vielen Spielekonsoleinsbesondere der siebte Generation.
- Macht ISA
- Sun Microsystems (jetzt Orakel) Sparc
- Univac[c]
- MCST Elbrus 2000
Makrosprachen
Makrosprachen makrote textuelle Substitution
Makro Sprachen verwandeln eine Quellcodedatei in eine andere. Ein "Makro" ist im Wesentlichen ein kurz Hygienische Makros), möglicherweise mit Parametersubstitution. Sie werden oft gewohnt Vorverarbeitung Quellcode. Präprozessoren können auch Einrichtungen wie Dateieinschluss.
Makrosprachen können auf speziell beschriftete Coderegionen beschränkt sein (vor dem Fixieren mit a #
im Fall des C -Präprozessors). Alternativ können sie möglicherweise nicht, aber in diesem Fall ist es immer noch oft unerwünscht, (zum Beispiel) ein Makro zu erweitern, das in a eingebettet ist SaitenliteralSie brauchen also immer noch ein rudimentäres Bewusstsein für die Syntax. In diesem Fall sind sie oft noch auf mehr als eine Sprache anwendbar. Kontrast zu Quellen-Embedable-Sprachen wie Php, die vollständig vorgestellt werden.
- CPP (der C -Präprozessor)
- M4 (Ursprünglich aus AT & T, mit Unix gebündelt)
- Ml/i (Allzweck-Makroprozessor)
Anwendungsmakrosprachen
Skriptsprachen wie zum Beispiel Tcl und ECMaskript (Aktionen, ECMascript für XML, JavaScript, Jscript) wurden in Anwendungen eingebettet. Diese werden manchmal als "Makrosprachen" bezeichnet, wenn auch in einem etwas anderen Sinne als Text-Substitution-Makros wie M4.
Metaprogrammiersprachen
Metaprogrammierung ist das Schreiben von Programmen, die andere Programme schreiben oder manipulieren, einschließlich sich selbst, als Daten oder die Teil der Arbeit, die sonst bei der Erledigung von Arbeiten erledigt wird Laufzeit während Zeit kompilieren. In vielen Fällen können Programmierer in der gleichen Zeit mehr erledigen, wie sie es brauchen würden, um den gesamten Code manuell zu schreiben.
Multiparadigmsprachen
Multiparadigmsprachen Unterstützen Sie mehr als eine Programmierparadigma. Sie erlauben a Programm mehr als einen verwenden Programmierung Stil. Ziel ist es, den Programmierern das beste Werkzeug für einen Job zu ermöglichen und zuzugeben, dass kein Paradigma alle Probleme auf die einfachste oder effizienteste Weise löst.
- 1c: Enterprise -Programmiersprache (Generisches, imperatives, objektorientiertes, prototypbasiertes, funktionales)
- Ada (gleichzeitig, verteilt, generisch (Vorlage Metaprogrammierung), Imperativ, objektorientierter (Klassenbasierte))
- Alf (funktional, Logik)
- ALMA-0 (Einschränkung, Imperativ, Logik)
- Apl (Funktional, imperativ, objektorientiert (klassenbasierte))
- BETA (Funktional, imperativ, objektorientiert (klassenbasierte))
- C ++ (Generisches, imperatives, objektorientiertes (klassenbasiertes), funktionaler, metaprogrammierender)
- C# (generisches, imperatives, objektorientiertes (klassenbasiertes), funktional, deklarativ)
- Ceylon (generisches, imperatives, objektorientiertes (klassenbasiertes), funktional, deklarativ)
- Futter (Imperativ, objektorientiert, zeitbasiert, gleichzeitig, im Fliege)
- Kobra (generisches, imperatives, objektorientiertes (klassenbasiertes), funktional, vertraglich)
- Common Lisp (funktional, imperativ, objektorientiert (klassenbasiert), Aspektorientiert (Benutzer kann weitere Paradigmen hinzufügen, z. B. Logik)))
- Locken (funktional, imperativ, objektorientiert (klassenbasierte), Metaprogrammierung)
- Curry (gleichzeitig, funktional, logisch)
- D (Generisches, imperatives, funktionales, objektorientiertes (klassenbasiertes), Metaprogrammieren)
- Delphi Objekt Pascal (Generisches, imperatives, objektorientiertes (klassenbasiertes), Metaprogrammieren)
- Dylan (funktional, objektorientiert (klassenbasierte))
- EC (generische, imperative, objektorientierte (klassenbasierte)))
- ECMaskript (funktional, imperativ, objektorientiert (prototypbasiert)))
- Eiffel (Imperative, objektorientierte (klassenbasierte), generische, funktionelle (Wirkstoffe), gleichzeitige (Scoop))
- F# (Funktional, generisches, objektorientiertes (klassenbasiert), sprachorientiert)
- Fantom (funktional, objektorientiert (klassenbasierte))
- gehen (Imperativ, prozedural),
- Groovig (funktional, objektorientiert (klassenbasiert), imperativ, prozedural)
- Hafen
- Hüpfen
- J (Funktional, imperativ, objektorientiert (klassenbasierte))
- Julia (Imperativ, Mehrfachversand ("objektorientiert"), funktional, metaprogrammieren)
- Labor (visuell, Datenfluss, gleichzeitig, modular, funktional, objektorientiert, Skript)
- Lava (objektorientiert (klassenbasiert), visuell)
- Lua (funktional, imperativ, objektorientiert (Prototypbasiert))
- Quecksilber (funktional, logisch, objektorientiert)
- MetaObject -Protokolle (objektorientiert (klassenbasierte, prototypbasierte)))
- Nemerle (funktional, objektorientiert (klassenbasierte), Imperativ, Metaprogrammierung)
- Ziel c (Imperativ, objektorientiert (klassenbasiert), reflektierend)
- Ocaml (funktional, imperativ, objektorientiert (klassenbasiert), modular)
- Oz (Funktional (Bewertung: erpicht, faul), Logik, Zwang, Imperativ, objektorientiert (klassenbasierte), gleichzeitige, verteilte) und Mozart-Programmiersystem plattformübergreifend Oz
- Objekt Pascal (Imperative, objektorientierte (klassenbasierte)))
- Perl (Imperativ, funktional (kann nicht rein funktionell sein), objektorientierter, klassenorientierter, Aspektorientiertes (durch Module))
- Php (Imperativ, objektorientiert, funktional (kann nicht rein funktionell sein)))
- Pike (Interpretierte, allgemeine, hochrangige, plattformübergreifende, dynamische Programmiersprache)
- Profil (DataFlow, objektorientiert (klassenbasiert), visuell)
- Python (Funktional, kompiliert, interpretiert, objektorientiert (klassenbasiert), Imperativ, Metaprogrammierung, Erweiterung, unrein, interaktiver Modus, iterativ, reflektierend, Scripting)
- R (Array, interpretiert, unrein, interaktiver Modus, listenbasierte, objektorientierte prototypbasierte Skripten)
- Schläger (Funktional, imperativ, objektorientiert (klassenbasiert) und kann vom Benutzer erweitert werden)
- Rebol (funktional, imperativ, objektorientiert (prototypbasiert), metaprogrammierend (dialiert))
- Rot (funktional, imperativ, objektorientiert (prototypbasiert), metaprogrammierend (dialiert))
- Roop (Imperativ, logisch, objektorientiert (klassenbasiert), regelbasiert)
- Ring (Imperativ, funktional, objektorientiert (klassenbasierte), Metaprogrammierung, deklarativ, natürlich)
- Rubin (Imperativ, funktional, objektorientiert (klassenbasierte), Metaprogrammierung)
- Rost (gleichzeitig, funktional, imperativ, objektorientiert, generisches, metaprogrammieren, kompiliert)
- Scala (funktional, objektorientiert)
- Samen7 (Imperativ, objektorientiert, generisches)
- Sisal (gleichzeitig, Datenflow, funktional)
- Tabellenkalkulationen (funktional, visuell)
- Schnell (Protokollorientiert, objektorientiert, funktional, imperativ, blockstrukturiert)
- Tcl (Funktional, imperativ, objektorientiert (klassenbasierte))
- Tee (Funktional, imperativ, objektorientiert (klassenbasierte))
- Windows PowerShell (funktional, imperativ, pipeline, objektorientiert (klassenbasiert))
- Wolfram Sprache
Numerische Analyse
Mehrere allgemeine Programmiersprachen, wie z. C und Python, werden auch für technisches Computing verwendet. Diese Liste konzentriert sich auf Sprachen, die fast ausschließlich für das technische Computing verwendet werden.
Nicht englischbasierte Sprachen
- Chinesische Basis (Chinesisch)
- Fjölnir (Isländisch)
- Kalaam (Hindi)
- Sprachsymbolique D'Ensesignement (Französisch)
- Lexiko (Spanisch)
- Rapira (Russisch)
- Ezhil (Tamil)
Objektorientierte klassenbasierte Sprachen
Klasse-basierend Objekt orientierte Programmierung Sprachen Unterstützung Objekte definiert von ihrer Klasse. Klassendefinitionen enthalten Mitgliedsdaten. Nachrichtenübergang ist ein Schlüsselkonzept, wenn nicht das Hauptkonzept in objektorientierten Sprachen.
Polymorphe Funktionen, die durch die Klasse einiger ihrer Argumente parametrisiert werden Methoden. In Sprachen mit einzelner Versand, Klassen enthalten typischerweise auch Methodendefinitionen. In Sprachen mit Mehrfachversand, Methoden werden durch definiert von generische Funktionen. Es gibt Ausnahmen, bei denen einzelner Versand Methoden sind generische Funktionen (z.B. BiglooObjektsystem).
Mehrfachversand
Einzelner Versand
- ActionScript 3.0
- Schauspieler
- ADA 95 und ADA 2005 (Mehrzwecksprache)
- Apl
- BETA
- C ++
- C#
- Ceylon
- Oxygen (früher Chrome genannt)
- Futter
- Kobra
- Coldfusion
- Locken
- D
- Verteilte Anwendungsspezifikationssprache (Dasl)
- Delphi Objekt Pascal
- E
- Gnu e
- EC
- Eiffel
- F-Skript
- Forran 2003
- Festung
- Gambas
- Game Maker -Sprache
- Hafen
- J
- Java
- Labor
- Lava
- Lua
- Modula-2 (Datenabstraktion, Informationen verstecken, starke Typisierung, vollständige Modularität)
- Modula-3 (Um Modula-2 mehr objektorientierte Funktionen hinzugefügt)
- Nemerle
- Netrexx
- Oberon-2 (Äquivalenz der vollständigen Objektorientierung auf originelle, stark typisierte, drirthische Weise)
- Objekt Pascal
- Objekt rexx
- Ziel c (ein Superet von C hinzufügen a Smalltalk Abgeleitete Objektmodell und Nachrichtenübergabe -Syntax)
- Ocaml
- OpenEdge Advanced Geschäftssprache (ABL)
- Oz, Mozart -Programmiersystem
- Perl 5
- Php
- Pike
- Profil
- Python (Interpretive Sprache, optional objektorientiert)
- Revolution (Der Programmierer kann die Objekte nicht auswählen)
- Ring
- Rubin
- Scala
- Speakeasy
- Simula (Erste objektorientierte Sprache, entwickelt von Ole-Johan Dahl und Kristen Nygaard)
- Smalltalk (reine Objektorientierung, entwickelt bei Xerox Parc))
- DREHEN
- Supercollider
- Vbscript (Microsoft Office 'Macro Scripting' Sprache)
- Visuelle Datenflex
- Visual Foxpro
- Visueller Prolog
- X ++
- Xojo
- Xotcl
Objektorientierte prototypbasierte Sprachen
Prototypbasierte Sprachen sind objektorientierte Sprachen, in denen die Unterscheidung zwischen Klassen und Instanzen entfernt wurde:
- 1c: Enterprise -Programmiersprache
- Actor-basierte gleichzeitige Sprache (ABCL, ABCL/1, ABCL/R, ABCL/R2, ABCL/C+)
- Agora
- Cecil
- ECMaskript
- Aktionen
- ECMascript für XML
- JavaScript (Zuerst Mokka genannt, dann LivesScript)
- Jscript
- ETOYS in Quietschen
- Io
- Lua
- MUHEN
- NewtonScript
- Obliq
- R
- Rebol
- Rot
- Selbst (Erste prototypbasierte Sprache, abgeleitet von Smalltalk)
- Nichts
Off-Side-Regelsprachen
Off-Side-Regel Sprachen bezeichnen Codeblöcke durch ihre Vertiefung.
Prozedurale Sprachen
Verfahrensprogrammierung Sprachen basieren auf dem Konzept des Geräts und des Umfangs (der Daten zur Datenzehlung) einer ausführbaren Code -Anweisung. Ein prozedurales Programm besteht aus einer oder mehreren Einheiten oder Modulen, die entweder benutzercodiert oder in einer Codebibliothek bereitgestellt werden. Jedes Modul besteht aus einer oder mehreren Verfahren, die je nach Sprache auch als Funktion, Routine, Unterprogramm oder Methode bezeichnet wird. Beispiele für prozedurale Sprachen sind:
- Ada (Mehrzwecksprache)
- Algol 58
- Algol 60 (sehr einflussreiches Sprachdesign)
- KLEIN Maschinenalgolähnliche Sprache
- ALMA-0
- BASIC (Diesem fehlt die meisten Modularität in (insbesondere) Versionen vor ungefähr 1990)
- BCPL
- WONNE
- C
- C ++ (C mit Objekten und viel anderes, wie beispielsweise Generika durch STL)
- C# (Ähnlich wie Java/C ++)
- Ceylon
- AUSRUHEN
- Futter (C/Java-ähnliche Syntax mit neuen Syntaxelementen für Zeit und Parallelität)
- Cobol
- Kobra
- Coldfusion
- Cpl (Kombinierte Programmiersprache)
- Locken
- D
- Verteilte Anwendungsspezifikationssprache (Dasl) (kombinieren deklarative Programmierung und Imperative Programmierung)
- EC
- ECMaskript
- Aktionen
- ECMascript für XML
- JavaScript (Zuerst Mokka genannt, dann LivesScript)
- Jscript
- Quelle
- Eiffel
- Weiter
- Forran (bessere Modularität in späteren Standards)
- Gauß
- gehen
- Hafen
- Hypertalk
- Java
- Fröhlich
- Julia
- Sprache h
- Lasso
- Modula-2 (Grundsätzlich basierend auf Modulen)
- Mathematica
- Matlab
- Mesa
- MUMPS (Die erste Veröffentlichung war modularer als andere Sprachen der Zeit; der Standard ist seitdem noch modularer geworden)
- Nemerle
- Nim
- Oberon, Oberon-2 (Verbessert, kleiner, schneller, sicherere Follow-Ons für Modula-2)
- Ocaml
- Occam
- Erker
- Pascal (Nachfolger von Algol 60, Vorgänger von Modula-2)
- Pcastl
- Perl
- Pike
- Pl/c
- Pl/i (große allgemeine Sprache, ursprünglich für IBM Mainframes)
- Plus
- Power Shell
- PROSA
- Python
- R
- Rapira
- Rollenspiel
- Rost
- Slang
- Vbscript
- Visual Basic
- Visual Foxpro
- Wolfram Sprache
- Microsoft Dynamics AX (X ++)
Abfragesprachen
Reflektierende Sprachen
Reflektierend Mit Sprachen können Programme ihre hochrangige Struktur zur Laufzeit oder zur Kompilierung untersuchen und möglicherweise ändern. Dies ist am häufigsten in hochrangigen Programmiersprachen virtueller Maschine wie möglich wie Smalltalkund weniger verbreitet in Programmiersprachen unter niedrigerer Ebene wie C. Sprachen und Plattformen, die Reflexion unterstützen:
- Vorbereiten
- Ceylon
- Charme
- Futter
- Cli
- Kobra
- Komponente Pascal Blackbox Component Builder
- Locken
- Chiffre
- Delphi Objekt Pascal
- EC
- ECMaskript
- EMACS Lisp
- Eiffel
- Hafen
- Julia
- JVM
- Lispeln
- Lua
- Maude -System
- Oberon-2 - ETH Oberon -System
- Ziel c
- Pcastl
- Perl
- Php
- Pico
- Papplog
- Power Shell
- Prolog
- Python
- Rebol
- Rot
- Ring
- Rubin
- Smalltalk (reine Objektorientierung, ursprünglich ursprünglich aus Xerox Parc))
- Snobol
- Tcl
- Wolfram Sprache
- Xotcl
- X ++
- Xojo
Regelbasierte Sprachen
Regelbasierte Sprachen instanziieren Regeln, wenn sie durch Bedingungen in einem Datensatz aktiviert werden. Von allen möglichen Aktivierungen wird ein Teil ausgewählt und die Aussagen dieser Regeln ausgeführt. Zu den regelbasierten Sprachen gehören:
Skriptsprachen
"Skriptsprache"Hat zwei anscheinend unterschiedliche, aber tatsächlich ähnliche Bedeutungen. Im herkömmlichen Sinne sind Skriptsprachen so konzipiert, dass sie häufig verwendete Aufgaben automatisieren, bei denen normalerweise Befehle aufgerufen oder an externe Programme weitergegeben werden. Viele komplexe Anwendungsprogramme liefern integrierte Sprachen, die Benutzer lassen Aufgaben automatisieren. Diejenigen, die sind Interpretativ werden oft als Skriptsprachen bezeichnet.
In jüngster Zeit haben viele Anwendungen integrierte traditionelle Skriptsprachen wie z. Perl oder Visual Basic, aber es gibt einige einheimisch SCRIPTING -Sprachen werden noch verwendet. Viele Skriptsprachen werden in Bytecode zusammengestellt und dann wird dieser (normalerweise) plattformunabhängige Bytecode durch eine virtuelle Maschine ausgeführt (verglichen mit Java virtuelle Maschine).
- Engelskript
- Apfelkript
- Autohotkey
- Autoit
- Awk
- BC
- Beanshell
- Verprügeln
- CH (Einbettbarer C/C ++ - Interpreter)
- Cli
- Clist
- Coldfusion
- ECMaskript
- Aktionen
- ECMascript für XML
- JavaScript (Zuerst Mokka genannt, dann LivesScript)
- Jscript
- Quelle
- EMACS Lisp
- CMS Exec
- Exec 2
- F-Skript
- Game Maker -Sprache (GML)
- Gdscript
- ICI
- Io
- Jass
- Julia (Zusammengestellt im Fliegen nach Maschinensprachestandardmäßig auch die Interpretation auch verfügbar)
- JVM
- Ksh
- Lasso
- Lua
- MaxScript
- Mel
- Objekt rexx (Orexx, Oorexx)
- Erker
- Pascal -Skript
- Perl
- Php (für Webserver bestimmt)
- Power Shell
- Python
- R
- Rebol
- Rot
- Rexx
- Revolution
- Ring
- Rubin
- Slang
- sed
- Sch
- Smalltalk
- Eichhörnchen
- Tee
- Tcl
- Torqueskript
- Vbscript
- WebDNAdatenbankgesteuerte Websites gewidmet
- Windows PowerShell (.NETZ-basierte CLI)
- Winbatch
- Viele Shell -Befehlssprachen wie z. Unix Shell oder Digitale Befehlssprache (DCL) auf VMs haben leistungsstarke Skriptfähigkeiten.
Stackbasierte Sprachen
Stackbasierte Sprachen sind eine Art von datenstrukturierter Sprache, die auf dem basieren Stapel Datenstruktur.
Synchronsprachen
Synchrone Programmiersprachen sind optimiert für Programmierreaktivsysteme, Systeme, die häufig unterbrochen werden und schnell reagieren müssen. Viele solcher Systeme werden auch genannt Echtzeitsysteme, und werden oft in verwendet in eingebettete Systeme.
Beispiele:
Schattierungssprachen
A Schattierungssprache ist eine Grafikprogrammiersprache, die an Programmier -Shader -Effekte angepasst ist. Solche Sprachformen bestehen normalerweise aus speziellen Datentypen wie "Farbe" und "normal". Aufgrund der Vielfalt der Zielmärkte für 3D -Computergrafiken.
Echtzeit-Rendering
Sie bieten sowohl eine höhere Hardware -Abstraktion als auch ein flexibleres Programmiermodell als frühere Paradigmen, die die transformierenden und schattierenden Gleichungen harten. Dies gibt dem Programmierer eine höhere Kontrolle über den Rendering -Prozess und liefert in niedrigeren Overheads einen umfangreicheren Inhalt.
- Adobe Graphics Assemblersprache (AGAL)[22]
- ARB -Versammlungssprache (ARB -Baugruppe)
- OpenGL -Schattierungssprache (GLSL oder GLSlang)
- Hochrangige Schattierungssprache (HLSL) oder DirectX Shader Assemblersprache
- PlayStation Shader Sprache (PSSL)
- Metallschattierungssprache (MSL)
- CG
- Shining Rock Shading Sprache (SRSL)[23]
- Funke[24]
- Nitros Shading -Sprache[25]
- Godot Shading Sprache[26]
Offline -Rendering
Schattierungssprachen, die bei Offline -Rendering verwendet werden, erzeugen maximale Bildqualität. Die Verarbeitung solcher Shader ist zeitaufwändig. Die erforderliche Rechenleistung kann aufgrund ihrer Fähigkeit, fotorealistische Ergebnisse zu erzielen, teuer sein.
- Renderman Shading Sprache (RSL)
- Houdini Vex Shading Sprache (Vex)
- Gelato -Schattierungssprache
- Offene Schattierungssprache (OSL)
Syntax-Handlingsprachen
Diese Sprachen helfen bei der Erzeugung Lexikalanalysatoren und Parser zum Kontextfreie Grammatiken.
- Antlr
- Coco/r (EBNF mit Semantik)
- Gnu Bison (FSF -Version von YACC)
- GNU Biegen (FSF -Version von Lex)
- glex/gyacc (Gobosoft Compiler-Compiler to Eiffel)
- Lex (Lexikalanalyse aus Bell Labs)
- M4
- Ausdrucksgrammatik analysieren (ANBINDUNG)
- Prolog
- EMACS Lisp
- Lispeln
- Sablecc
- Planen
- yacc (Ein weiterer Compiler-Compiler aus Bell Labs)
- Javacc
Systemsprachen
Das Systemprogrammiersprachen sind für Aufgaben auf niedrigem Niveau wie Speicherverwaltung oder Aufgabenverwaltung. Eine Systemprogrammiersprache bezieht sich normalerweise auf eine Programmiersprache, die für die Systemprogrammierung verwendet wird. Solche Sprachen sind für das Schreiben von Systemsoftware ausgelegt, für die in der Regel unterschiedliche Entwicklungsansätze im Vergleich zu Anwendungssoftware erforderlich sind.
Systemsoftware ist Computersoftware, die für den Betrieb und die Steuerung der Computerhardware entwickelt wurde und eine Plattform für das Ausführen von Anwendungssoftware bereitstellt. Die Systemsoftware umfasst Softwarekategorien wie Betriebssysteme, Dienstprogrammsoftware, Gerätefahrer, Compiler und Linker. Beispiele für Systemsprachen sind:
Sprache | Urheber | Erstmals erschienen | Beeinflusst von | Benutzt für |
---|---|---|---|---|
Espol | Burroughs Corporation | 1961 | Algol 60 | MCP |
Pl/i | IBM, TEILEN | 1964 | Algol 60, Forran, etwas Cobol | Mehrheit |
PL360 | Niklaus Wirth | 1968 | Algol 60 | Algol w |
C | Dennis Ritchie | 1969 | BCPL | Die meisten Betriebssystemkerne, einschließlich Windows NT Und die meisten Unix-artig Systeme |
Pl/s | IBM | 196x | Pl/i | OS/360 |
WONNE | Carnegie Mellon Universität | 1970 | Algol-pl/i[27] | VMs (Portionen) |
PL/8 | IBM | 197X | Pl/i | AIX |
PL/MP und PL/MI | IBM | 197X | Pl/i | CPF, OS/400 |
PL-6 | Honeywell, Inc. | 197X | Pl/i | CP-6 |
Sympl | CDC | 197X | Fröhlich | Nr Subsysteme, die meisten Compiler, FSE -Editor |
C ++ | Bjarne Stroustrup | 1979 | C, Simula | Siehe C ++ - Anwendungen[28] |
Ada | Jean IchbiahS. Tucker Taft | 1983 | Algol 68, Pascal, C ++, Java, Eiffel | Eingebettete Systeme, OS -Kerne, Compiler, Spiele, Simulationen, Cubesat, Flugverkehrskontrolle und Avionik |
D | Digital Mars | 2001 | C ++ | Mehrere Domänen[29] |
Nim | Andreas Rumpf | 2008 | Ada, Modula-3, Lispeln, C ++, Objekt Pascal, Python, Oberon | OS -Kerne, Compiler, Spiele |
Rost | Mozilla -Forschung[30] | 2010 | C ++, Haskell, Erlang, Rubin | Servo -Layout -Engine, Redox OS |
Schnell | Apple Inc. | 2014 | C, Ziel c, Rost | Mac OS, iOS App -Entwicklung[e] |
Zick | Andrew Kelley | 2016 | C, C ++, LLVM IR, gehen, Rost, JavaScript | Als Ersatz für c |
Odin | Ginger Bill | 2016 | Pascal, C, gehen, Oberon-2, Newsqueak, Jai, GLSL | Als Alternative für c |
Transformationssprachen
Transformationssprachen Servieren Sie den Zweck der Umwandlung (Übersetzung) Quellcode, die in einer bestimmten formalen Sprache in einen definierten Zielformatcode angegeben sind. Es wird am häufigsten in Zwischenkomponenten komplexerer Supersysteme verwendet, um interne Ergebnisse für die Eingabe in eine nachfolgende Verarbeitungsroutine zu verwenden.
Visuelle Sprachen
Visuelle Programmiersprachen Lassen Sie Benutzer über grafische Layouts verschiedener Typen Programme anstelle von eindimensionalen Textzeichenfolgen anstelle von eindimensionalen Textzeichenfolgen angeben. Etwas Datenflow -Programmierung Sprachen sind auch visuelle Sprachen.
- Analytica
- Blockisch
- Clickteam Fusion
- Drakon
- Fabrik
- G (verwendet in Labor)
- Heuschrecke
- Lava
- Limnor
- Max
- NXT-G
- Pict
- Profil
- Reine Daten
- Quarzkomponist
- Kratzen (geschrieben und basierend auf Quietschen, eine Version von Smalltalk)
- Schnapp!
- Simulink
- Tabellenkalkulationen
- STATEFLOW
- Subtext
- Toontalk
- VEE
- Vissim
- VVVV
- Xod
- EICASLAB
Wirthsprachen
Informatiker Niklaus Wirth entworfen und implementierte mehrere einflussreiche Sprachen.
- Algol w
- Euler
- Modula
- Oberon (Oberon, Oberon-07, Oberon-2)
- Pascal
- Objekt Pascal (Dachname für Delphi, Kostenloser Pascal, Oxygen, Andere)
XML-basierte Sprachen
Dies sind Sprachen basierend auf oder die betrieben werden Xml.
Siehe auch
- Programmierparadigma
- IEC 61131-3 - Ein Standard für Programmierbare Steuerung (Plc) Sprachen
- Bildungsprogrammiersprache
- Esoterische Programmiersprache
Anmerkungen
- ^ Die Objekte von SQL sind Sammlungen von Datenbankdatensätze, genannte Tische. Ein voller Programmiersprache kann angeben Algorithmen, unabhängig von Laufzeit. Somit kann ein Algorithmus in Betracht gezogen werden, um nutzbare Ergebnisse zu erzielen. Im Gegensatz dazu kann SQL nur Datensätze auswählen, die auf die aktuelle Sammlung beschränkt sind, die im System vorhandenen Daten, anstatt eine Anweisung zur Richtigkeit des Ergebniss zu erstellen.
- ^ Eine bemerkenswerte Ausnahme wäre der Sowjet/Russisch 1801 Serie CPU, die ursprünglich ihre eigene inländische ISA verwendeten, aber später neu gestaltet wurden, um zu sein PDP-11 kompatibel als politische Entscheidung.
- ^ a b Submodels sind nicht aufgeführt, nur Basismodelle.
- ^ Das Konzept von Objekt Mit der traditionellen Single-Dispatch-OO-Semantik ist in Julia nicht vorhanden, stattdessen mit dem allgemeineren Multiple-Versand auf verschiedenen Typen zur Laufzeit.
- ^ Swift verwendet Automatische Referenzzählung.
Verweise
- ^ "Christopher Diggins: Was ist eine verkettende Sprache". DRDOBBS.com. 2008-12-31. Abgerufen 2013-07-01.
- ^ "Kätzchen -Programmiersprache".
- ^ "LVIV -Programmiersprache".
- ^ "R3 Programmiersprache".
- ^ "STAAPL -Programmiersprache".
- ^ "Trith -Programmiersprache".
- ^ "XS -Programmiersprache".
- ^ "8. Programmiersprache".
- ^ Dokumentation »Die Python Standard Library» Gleichzeitige Ausführung
- ^ a b "Eindrückungsbasierte Syntax · RSDN/Nemerle Wiki". GitHub. Abgerufen 2022-03-18.
- ^ "Solidität - Solidität 0,8.11 Dokumentation".
- ^ "Rindfleischprogrammiersprache". Abgerufen 2022-03-18.
- ^ "Häufig gestellte Fragen | Odin Programmiersprache". Odin -Programmiersprache. Abgerufen 2022-03-18.
- ^ "Müllsammlung - D Programmiersprache". D Programmiersprache. Abgerufen 2022-03-18.
- ^ "NIMs Speicherverwaltung". Abgerufen 2022-03-18.
- ^ "Projekte/Vala/Referenzhandling - Gnome Wiki!". Abgerufen 2022-03-21.
- ^ "Eigentum verstehen - die Rust -Programmiersprache". doc.rustlang.org.
- ^ "Smart Zeiger - die Rost -Programmiersprache". doc.rustlang.org.
- ^ Jon Bentley (AT & T) August 1986 CACM 29 (8) "kleine Sprachen", S. 711-721 von ihm Programmierpearls -Spalte
- ^ "Verfahrensmakros zum Generieren von Code aus Attributen". doc.rustlang.org.
- ^ "Canonware Onyx". Canonware.com. Archiviert von das Original am 13. März 2017. Abgerufen 7. Juli, 2018.
- ^ Scabia, Marco. "Was ist allgemein". Adobe Developer -Verbindung. Adobe. Abgerufen 8. Mai 2018.
- ^ Hodorowicz, Luke (30. März 2015). "Schattierungssprachen". www.siningrocksoftware.com. Shining Rock -Software. Abgerufen 8. Mai 2018.
- ^ Foley, Tim; Hanrahan, Pat. "Spark: Modulare, komponierbare Shader für Grafikhardware". Intel -Software. ACM. Abgerufen 8. Mai 2018.
- ^ "Lachgiebende FAQ". oxidegames.com. Abgerufen 8. Mai 2018.
- ^ Linietsky, Juan; Manzur, Ariel. "Schattierungssprache - Godot Engine Neueste Dokumentation". docs.godotengine.org. Godot -Gemeinschaft. Abgerufen 8. Mai 2018.
- ^ Wulf, W. A.; Russell, D.B.; Haberman, A.N. (Dezember 1971). "Bliss: Eine Sprache für Systemprogramme". Kommunikation der ACM. 14 (12): 780–790. Citeseerx 10.1.1.691.9765. doi:10.1145/362919.362936. S2CID 9564255.
- ^ "C ++ Anwendungen".
- ^ "Organisationen, die die D -Sprache verwenden - D Programmiersprache".
- ^ "Mozilla Research". 1. Januar 2014.