List of programming languages by type
This is a list of notable programming languages, grouped by type.
There is no overarching classification scheme for programming languages. Thus, in many cases, a language is listed under multiple headings.
Array languages
languages generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays.- A+
- Analytica
- APL
- Chapel
- Fortran 90
- Freemat
- GAUSS
- Interactive Data Language
- J
- Julia
- K
- MATLAB
- Octave
- Q
- R
- S
- S-Lang
- SequenceL
- Speakeasy
- Wolfram Language
- X10
- ZPL
Assembly languages
Authoring languages
An authoring language is a programming language used to create tutorials, websites, and other interactive computer programs.- Darwin Information Typing Architecture
- Lasso
- PILOT
- TUTOR
Constraint programming languages
- ECLiPSe
Command line interface languages
- 4DOS
- bash
- CLIST
- CMS EXEC
- csh and tcsh
- DIGITAL Command Language – standard CLI language for VMS
- DOS batch language
- EXEC 2
- Expect
- fish
- Hamilton C shell
- JCL
- ksh
- Rc
- Rexx
- sh
- TACL
- Windows batch language
- Windows PowerShell
- zsh
Compiled languages
- ActionScript
- Ada
- ALGOL
- * SMALL Machine ALGOL Like Language
- Ballerina
- BASIC
- BCPL
- C
- C++
- C#
- Ceylon
- CHILL
- CLIPPER 5.3
- CLEO on the British Leo computers
- COBOL
- Cobra
- Common Lisp
- Crystal
- Curl
- D
- DASL compiles into Java, JavaScript, JSP, Flex, etc. as.war file
- Delphi
- DIBOL
- Dylan
- eC
- Eiffel
- * Sather
- * Ubercode
- Elm
- Emacs Lisp
- Emerald
- Erlang
- F#
- GAUSS
- Go
- Gosu
- Groovy
- Haskell
- Harbour
- Java
- JOVIAL
- Julia
- Kotlin
- LabVIEW
- Mercury
- Mesa
- Nemerle
- Nim
- Objective-C
- P
- Pascal
- PL/I
- Plus
- Python
- RPG
- Rust
- Scala
- Scheme
- SequenceL – purely [|functional], automatically parallelizing and race-free
- Simula
- Smalltalk compiles to platform independent bytecode for a Virtual Machine
- Swift
- ML
- * Standard ML
- ** Alice
- * OCaml
- Turing
- Vala
- Visual Basic
- Visual FoxPro
- Visual Prolog
- Xojo
Concurrent languages
- Ada – multi-purpose language
- Alef – concurrent language with threads and message passing, used for systems programming in early versions of Plan 9 from Bell Labs
- Ateji PX an extension of the Java language for parallelism
- Ballerina - a language designed for implementing and orchestrating micro-services. Provides a message based parallel-first concurrency model.
- ChucK – domain specific programming language for audio, precise control over concurrency and timing
- Cilk – a concurrent C
- Cω – C Omega, a research language extending C#, uses asynchronous communication
- Clojure – a dialect of Lisp for the Java virtual machine
- Chapel
- Co-array Fortran
- Concurrent Pascal
- , a multi-paradigm programming language for concurrent, distributed and reactive applications, with Python-like syntax, support for GPU-computing, and off heap memory management.
- Curry
- E – uses promises, ensures deadlocks cannot occur
- Eiffel
- Elixir
- Emerald - uses threads and monitors
- Erlang – uses asynchronous message passing with nothing shared
- Gambit Scheme - using the Termite library
- Go
- Haskell — supports concurrent, distributed, and parallel programming across multiple machines
- Java
- * Join Java – concurrent language based on Java
- * X10
- Julia
- Joule – dataflow language, communicates by message passing
- Limbo – relative of Alef, used for systems programming in Inferno
- MultiLisp – Scheme variant extended to support parallelism
- occam – influenced heavily by Communicating Sequential Processes
- * occam-π – a modern variant of occam, which incorporates ideas from Milner's π-calculus
- Orc
- Oz – multiparadigm language, supports shared-state and message-passing concurrency, and futures, and Mozart Programming System cross-platform Oz
- P
- Pict – essentially an executable implementation of Milner's π-calculus
- Rust
- Scala – implements Erlang-style actors on the JVM
- SequenceL – purely functional, automatically parallelizing and race-free
- SR – research language
- Unified Parallel C
- XProc – XML processing language, enabling concurrency
Curly-bracket languages
. This syntax originated with BCPL, and was popularized by C. Many curly-bracket languages descend from or are strongly influenced by C. Examples of curly-bracket languages include:- ABCL/c+
- Alef
- * Limbo
- ** Go
- AWK
- B
- bc
- BCPL
- Ballerina
- C – developed circa 1970 at Bell Labs
- C++
- C#
- Ceylon
- ChucK – audio programming language
- Cilk – concurrent C for multithreaded parallel programming
- Cyclone – a safer C variant
- D
- Dart
- DASL – based on Java
- E
- eC
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * TypeScript
- GLSL
- HLSL
- ICI
- Java
- * Processing
- * Groovy
- * Join Java
- * Kotlin
- * Tea
- * X10
- LPC
- MEL
- Nemerle – combines C# and ML features, provides syntax extension abilities
- PCASTL
- Perl
- PHP
- Pico
- Pike
- PowerShell
- R
- Rust
- S-Lang
- Scala
- sed
- SuperCollider
- Swift
- UnrealScript
- Yorick
Dataflow languages
- Analytica
- BMDFM
- Hartmann pipelines
- G
- Lucid
- Max
- Oz
- Prograph
- Pure Data
- Reaktor
- StreamBase StreamSQL EventFlow
- VEE
- VHDL
- VisSim
- Vvvv
- WebMethods Flow
- Ballerina
- Swift
Data-oriented languages
- Clarion
- Clipper
- dBase a relational database access language
- Gremlin
- MUMPS
- Caché
- RDQL
- SPARQL
- SQL
- Tutorial D – see also The Third Manifesto
- Visual FoxPro – a native RDBMS engine, object-oriented, RAD
- WebDNA
- Wolfram Language
Decision table languages
- Filetab
Declarative languages
- Analytica
- Ant
- Curry
- Cypher
- Distributed Application Specification Language
- ECL
- Gremlin
- Lustre
- Mercury
- MetaPost
- Modelica
- Prolog
- QML
- Oz
- RDQL
- SequenceL – purely functional, automatically parallelizing and race-free
- SPARQL
- SQL
- Wolfram Language
- xBase
- XSL Transformations
Embeddable languages
In source code
Source embeddable languages embed small pieces of executable code inside a piece of free-form text, often a web page.Client-side embedded languages are limited by the abilities of the browser or intended client. They aim to provide dynamism to web pages without the need to recontact the server.
Server-side embedded languages are much more flexible, since almost any language can be built into a server. The aim of having fragments of server-side code embedded in a web page is to generate additional markup dynamically; the code itself disappears when the page is served, to be replaced by its output.
Server side
- PHP
- VBScript
- SMX – dedicated to web pages
- Tcl – server-side in NaviServer and an essential component in electronics industry systems
- WebDNA – dedicated to database-driven websites
Client side
- ActionScript
- JavaScript
- VBScript
In object code
Languages developed primarily for the purpose of teaching and learning of programming.
- Alice
- Blockly
- COMAL
- Elan
- Emerald
- Logo
- KTurtle
- Modula-2
- Pascal
- Python
- Racket
- Scheme
- Scratch
- Snap!
- Turing
- Wolfram Language
Esoteric languages
- Beatnik
- Befunge
- Brainfuck
- Chef
- INTERCAL
- LOLCODE
- Malbolge
- Piet
- Shakespeare
- Thue
- Whitespace
Extension languages
- AutoLISP
- BeanShell
- CAL
- C/AL
- Guile
- Emacs Lisp
- JavaScript and some dialects, e.g., JScript
- Lua
- OpenCL
- OptimJ
- Perl
- Pike
- Python
- Rexx
- Ruby
- S-Lang
- SQL
- Squirrel
- Tcl
- Vim script
- Visual Basic for Applications
- Windows PowerShell
Fourth-generation languages
- ABAP
- CorVision
- CSC's GraphTalk
- CA-IDEAL for use with CA-DATACOM/DB
- Easytrieve report generator
- FOCUS
- IBM Informix-4GL
- LINC 4GL
- MAPPER – now part of BIS
- MARK-IV now VISION:BUILDER of CA
- NATURAL
- Progress 4GL
- PV-Wave
- LiveCode
- SAS
- SQL
- Ubercode
- Uniface
- Visual DataFlex
- Visual FoxPro
- xBase
Functional languages
Pure
- Agda
- Clean
- Coq
- Cuneiform
- Curry
- DAML
- Elm
- Futhark
- Haskell
- Hope
- Idris
- Joy
- Lean
- Mercury
- Miranda
- PureScript
- Ur
- KRC
- SAC
- SASL
- SequenceL
Impure
- APL
- ATS
- CAL
- C++
- C#
- VB.NET
- Ceylon
- D
- Dart
- Curl
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- Erlang
- * Elixir
- * LFE
- * Gleam
- F#
- Groovy
- Hop
- J
- Java
- Julia
- Kotlin
- Lisp
- * Clojure
- * Common Lisp
- * Dylan
- * Emacs Lisp
- * LFE
- * Little b
- * Logo
- * Scheme
- ** Racket
- * Tea
- Mathematica
- ML
- * Standard ML
- ** Alice
- * OCaml
- Nemerle
- Nim
- Opal
- OPS5
- Perl
- PHP
- Python
- Q
- Q
- R
- Raku
- REBOL
- Red
- Ruby
- REFAL
- Rust
- Scala
- Spreadsheets
- Tcl
- Wolfram Language
Hardware description languages
HDLs for analog circuit design
- Verilog-AMS
- VHDL-AMS
HDLs for digital circuit design
- Advanced Boolean Expression Language
- Altera Hardware Description Language
- Bluespec
- Confluence
- ELLA
- ESys.net
- Handel-C
- Impulse C
- JHDL
- Lava
- Lola
- M
- MyHDL
- PALASM
- Ruby
- SystemC
- SystemVerilog
- Verilog
- VHDL
Imperative languages
- Ada
- ALGOL
- BASIC
- C
- C++
- C#
- Ceylon
- CHILL
- COBOL
- D
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- FORTRAN
- GAUSS
- Go
- Groovy
- Java
- Julia
- Lua
- MATLAB
- Machine languages
- Modula-2, Modula-3
- MUMPS
- Nim
- OCaml
- Oberon
- Object Pascal
- Pascal
- Perl
- PHP
- PL/I
- PowerShell
- PROSE
- Python
- Ruby
- Rust
- Speakeasy
- Swift
- Tcl
- Wolfram Language
Interactive mode languages
- APL
- BASIC
- Clojure
- Common Lisp
- Dart
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- Erlang
- Elixir
- F#
- Fril
- GAUSS
- Groovy
- Haskell
- IDL
- J
- Java
- Julia
- Lua
- MUMPS
- Maple
- Mathematica
- MATLAB
- ML
- OCaml
- Perl
- PHP
- Pike
- PostScript
- Prolog
- Python
- PROSE
- R
- REBOL
- Rexx
- Ruby
- Scala
- Scheme
- Smalltalk
- S-Lang
- Speakeasy
- Swift
- Tcl
- Unix shell
- Windows PowerShell
- Visual FoxPro
Interpreted languages
- Ant
- APL
- AutoHotkey scripting language
- AutoIt scripting language
- BASIC
- Programming Language for Business
- DM
- Eiffel
- Emacs Lisp
- GameMaker Language
- Groovy
- J
- Julia
- JavaScript
- Lisp
- LPC
- Lua
- MUMPS
- Maple
- Mathematica
- MATLAB
- OCaml
- Pascal
- PCASTL
- Perl
- PHP
- PostScript
- PowerShell
- PROSE
- Python
- Rexx
- R
- REBOL
- Ruby
- S-Lang
- Speakeasy
- Standard ML
- Spin
- Tcl
- Tea
- TorqueScript
- thinBasic scripting language
- VBScript
- Windows PowerShell –.NET-based CLI
- Wolfram Language
- Some scripting languages – [|below]
Iterative languages
- Aldor
- Alphard
- C#
- CLU
- Cobra
- Eiffel, through "agents"
- Icon
- IPL-v
- Julia
- Lua
- Nim
- PHP
- Python
- Sather
Languages by memory management type
Garbage collected languages
- C#
- Crystal
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- Emerald
- Erlang
- Go
- Groovy
- Java
- Julia
- Kotlin
- Lisp
- * Arc
- * Clojure
- * Common Lisp
- * Dylan
- * Emacs Lisp
- * Racket
- * Scheme
- * Logo
- Haskell
- Lua
- ML
- * Standard ML
- ** Alice
- * OCaml
- Perl
- PHP
- PowerShell
- Python
- Ruby
- Smalltalk
- Nim
Languages with manual memory management
- Ada
- C
- C++
- Fortran
- Pascal
- Rust
- Objective-C
Languages with deterministic memory management
- Ada
- C
- C++
- Fortran
- Pascal
- Rust
- Objective-C
Languages with automatic reference counting (ARC)
- Objective-C
- Swift
- Visual Basic
- Xojo
List-based languages – LISPs
- Joy
- R
- Source
- Tcl
- * Tea
- TRAC
Little languages
- awk – used for text file manipulation.
- Comet – used to solve complex combinatorial optimization problems in areas such as resource allocation and scheduling
- sed – parses and transforms text
- SQL – has only a few keywords, and not all the constructs needed for a full programming language – many database management systems extend SQL with additional constructs as a stored procedure language
Logic-based languages
Notable languages following this programming paradigm include:
- ALF
- Alma-0
- CLACL
- Curry
- Fril
- Janus
- λProlog
- Oz, and Mozart Programming System cross-platform Oz
- Prolog
- * Mercury
- * Visual Prolog
- ROOP
Machine languages
- ARM
- * Original 32-bit
- * 16-bit Thumb instructions
- * 64-bit
- DEC:
- * 18-bit: PDP-1, PDP-4, PDP-7, PDP-9, PDP-15
- * 12-bit: PDP-5, PDP-8, LINC-8, PDP-12
- * 36-bit: PDP-6, PDP-10, DECSYSTEM-20
- * 16-bit: PDP-11
- * 32-bit: VAX
- * 64-bit: Alpha
- Intel 8008, 8080 and 8085
- * Zilog Z80
- x86:
- * 16-bit x86, first used in the Intel 8086
- ** Intel 8086 and 8088
- ** Intel 80186
- ** Intel 80286
- * IA-32, introduced in the 80386
- * x86-64 The original specification was created by AMD. There are vendor variants, but they're essentially the same:
- ** AMD's AMD64
- ** Intel's Intel 64
- IBM
- * 305
- * 650
- * 701
- * 702, 705 and 7080
- * 704, 709, 7040, 7044, 7090, 7094
- * 1400 series, 7010
- * 7030
- * 7070
- * System/360 and successors, including z/Architecture
- MIPS
- Motorola 6800
- Motorola 68000 family
- MOS Technology 65xx
- * 6502
- * 6510
- * Western Design Center 65816/65802
- National Semiconductor NS320xx
- POWER, first used in the IBM RS/6000
- * PowerPC – used in Power Macintosh and in many game consoles, particularly of the seventh generation.
- * Power ISA
- Sun Microsystems SPARC
- UNIVAC
- * 30 bit computers: 490, 492, 494, 1230
- * 36 bit computers
- ** 1101, 1103, 1105
- ** 1100/2200 series
- MCST Elbrus 2000
Macro languages
Textual substitution macro languages
languages transform one source code file into another. A "macro" is essentially a short piece of text that expands into a longer one, possibly with parameter substitution. They are often used to preprocess source code. Preprocessors can also supply facilities like file inclusion.Macro languages may be restricted to acting on specially labeled code regions. Alternatively, they may not, but in this case it is still often undesirable to expand a macro embedded in a string literal, so they still need a rudimentary awareness of syntax. That being the case, they are often still applicable to more than one language. Contrast with source-embeddable languages like PHP, which are fully featured.
s such as Tcl and ECMAScript have been embedded into applications. These are sometimes called "macro languages", although in a somewhat different sense to textual-substitution macros like m4.
Metaprogramming languages
is the writing of programs that write or manipulate other programs, including themselves, as their data or that do part of the work that is otherwise done at run time during compile time. In many cases, this allows programmers to get more done in the same amount of time as they would take to write all the code manually.- C++
- CWIC
- Curl
- D
- eC
- Emacs Lisp
- Elixir
- F#
- Groovy
- Haskell
- Julia
- Lisp
- Lua
- Maude system
- Mathematica
- META II
- MetaOCaml
- Nemerle
- Nim
- Perl
- Python
- Ruby
- Rust
- Scheme
- SequenceL
- Smalltalk
- Source
- TREEMETA
- Wolfram Language
Multiparadigm languages
- Ada, imperative, object-oriented )
- ALF
- Alma-0
- APL
- BETA
- C++
- C#
- Ceylon
- ChucK
- Cobra
- Common Lisp, aspect-oriented )
- Curl
- Curry
- D
- Delphi Object Pascal
- Dylan
- eC
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- Eiffel, generic, functional, concurrent )
- F#
- Fantom
- Go,
- Groovy
- Harbour
- Hop
- J
- Julia
- LabVIEW
- Lava
- Lua
- Mercury
- Metaobject protocols
- Nemerle
- Objective-C
- OCaml
- Oz, logic, constraint, imperative, object-oriented, and Mozart Programming System cross-platform Oz
- Object Pascal
- Perl, object-oriented, class-oriented, aspect-oriented )
- PHP
- Pike
- Prograph
- Python
- R
- Racket
- REBOL, metaprogramming )
- Red, metaprogramming )
- ROOP
- Ruby
- Rust
- Scala
- Seed7
- SISAL
- Spreadsheets
- Swift
- Tcl
- * Tea
- Windows PowerShell
- Wolfram Language
Numerical analysis
- AIMMS
- AMPL
- Analytica
- GAUSS
- GAMS
- Julia
- Klerer-May System
- Mathematica
- MATLAB
- PROSE
- R
- Seneca – an Oberon variant
- Wolfram Language
Non-English-based languages
- Chinese BASIC – Chinese
- Fjölnir – Icelandic
- Language Symbolique d'Enseignement – French
- Lexico – Spanish
- Rapira – Russian
- ezhil-Tamil
Object-oriented class-based languages
Polymorphic functions parameterized by the class of some of their arguments are typically called methods. In languages with single dispatch, classes typically also include method definitions. In languages with multiple dispatch, methods are defined by generic functions. There are exceptions where single dispatch methods are generic functions.
[Multiple dispatch]
- Common Lisp
- Cecil
- Dylan
- Julia
Single dispatch
- ActionScript 3.0
- Actor
- Ada 95 and Ada 2005
- APL
- BETA
- C++
- C#
- Ceylon
- Oxygene
- ChucK
- Cobra
- ColdFusion
- Curl
- D
- Distributed Application Specification Language
- Delphi Object Pascal
- E
- GNU E
- eC
- Eiffel
- * Sather
- * Ubercode
- F-Script
- Fortran 2003
- Fortress
- Gambas
- Harbour
- J
- Java
- * Processing
- * Groovy
- * Join Java
- * Tea
- * X10
- LabVIEW
- Lava
- Lua
- Modula-2
- * Modula-3
- Nemerle
- NetRexx
- Oberon-2
- Object Pascal
- Object REXX
- Objective-C
- OCaml
- Oz, Mozart Programming System
- Perl 5
- PHP
- Pike
- Prograph
- Python
- Revolution
- Ruby
- Scala
- Speakeasy
- Simula
- Smalltalk
- * F-Script
- * Little Smalltalk
- * Pharo
- * Squeak
- ** Scratch
- * IBM VisualAge
- * VisualWorks
- SPIN
- SuperCollider
- VBScript
- Visual DataFlex
- Visual FoxPro
- Visual Prolog
- X++
- Xojo
- XOTcl
Object-oriented prototype-based languages
- Actor-Based Concurrent Language
- Agora
- Cecil
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- Etoys in Squeak
- Io
- Lua
- MOO
- NewtonScript
- Obliq
- R
- REBOL
- Red
- Self
- TADS
Off-side rule languages
- ISWIM, the abstract language that introduced the rule
- ABC, Python's parent
- * Python
- ** Cobra
- ** Boo
- ** Genie
- Miranda, Haskell's parent
- * Orwell
- * Haskell
- ** Curry
- Elixir
- F#
- Nim
- Occam
- SPIN
Procedural languages
- Ada
- ALGOL
- * SMALL Machine ALGOL Like Language
- Alma-0
- BASIC
- BCPL
- BLISS
- C
- C++
- C#
- Ceylon
- CHILL
- ChucK
- COBOL
- Cobra
- ColdFusion
- Combined Programming Language
- Curl
- D
- Distributed Application Specification Language
- eC
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- Eiffel
- Fortran
- * F
- GAUSS
- Go
- Harbour
- HyperTalk
- Java
- * Groovy
- * Join Java
- * Tea
- JOVIAL
- Julia
- Language H
- Lasso
- Modula-2
- Mathematica
- MATLAB
- Mesa
- MUMPS
- Nemerle
- Nim
- Oberon, Oberon-2
- * Component Pascal
- * Seneca
- OCaml
- Occam
- Oriel
- Pascal
- * Free Pascal
- * Object Pascal, Delphi
- PCASTL
- Perl
- Pike
- PL/C
- PL/I
- Plus
- PowerShell
- PROSE
- Python
- R
- Rapira
- RPG
- Rust
- S-Lang
- VBScript
- Visual Basic
- Visual FoxPro
- Wolfram Language
- Microsoft Dynamics AX
Query languages
Reflective Language
languages let programs examine and possibly modify their high level structure at runtime or compile-time. This is most common in high-level virtual machine programming languages like Smalltalk, and less common in lower-level programming languages like C. Languages and platforms supporting reflection:- Befunge
- Ceylon
- Charm
- ChucK
- CLI
- * C#
- Cobra
- Component Pascal BlackBox Component Builder
- Curl
- Cypher
- Delphi Object Pascal
- eC
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- Emacs Lisp
- Eiffel
- Harbour
- Julia
- JVM
- * Java
- * Groovy
- * Join Java
- * X10
- Lisp
- * Clojure
- * Common Lisp
- * Dylan
- * Logo
- * Scheme
- Lua
- Maude system
- Oberon-2 – ETH Oberon System
- Objective-C
- PCASTL
- Perl
- PHP
- Pico
- Poplog
- * POP-11
- PowerShell
- Prolog
- Python
- REBOL
- Red
- Ruby
- Smalltalk
- * F-Script
- * Little Smalltalk
- * Self
- * Squeak
- * IBM VisualAge
- * VisualWorks
- Snobol
- Tcl
- Wolfram Language
- XOTcl
- X++
- Xojo
Rule-based languages
- awk
- CLIPS
- Constraint Handling Rules
- Drools
- GOAL agent programming language
- Jess
- OPS5
- Prolog
- ToonTalk – robots are rules
- Mathematica
- Wolfram Language
Scripting languages
Recently, many applications have built-in traditional scripting languages, such as Perl or Visual Basic, but there are quite a few native scripting languages still in use. Many scripting languages are compiled to bytecode and then this platform-independent bytecode is run through a virtual machine.
- AppleScript
- AutoHotKey
- AutoIt
- AWK
- bc
- BeanShell
- Bash
- Ch
- CLI
- * C#
- CLIST
- ColdFusion
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- Emacs Lisp
- CMS EXEC
- EXEC 2
- F-Script
- ICI
- Io
- JASS
- Julia
- JVM
- * Groovy
- * Join Java
- Ksh
- Lasso
- Lua
- MAXScript
- MEL
- Object REXX
- Oriel
- Pascal Script
- Perl
- PHP
- PowerShell
- Python
- R
- REBOL
- Red
- Rexx
- Revolution
- Ruby
- Sh
- Smalltalk
- S-Lang
- sed
- Tea
- Tcl
- TorqueScript
- VBScript
- WebDNA, dedicated to database-driven websites
- Windows PowerShell
- Winbatch
- Many shell command languages such as Unix shell or DIGITAL Command Language on VMS have powerful scripting abilities.
Stack-based languages
- Beatnik
- Canonware Onyx
- Factor
- Forth
- Joy
- Piet
- Poplog via its implementation language POP-11
- PostScript
- RPL
- S-Lang
Synchronous languages
Examples:
A shading language is a graphics programming language adapted to programming shader effects. Such language forms usually consist of special data types, like "color" and "normal". Due to the variety of target markets for 3D computer graphics.
Real-time rendering
They provide both higher hardware abstraction and a more flexible programming model than previous paradigms which hardcoded transformation and shading equations. This gives the programmer greater control over the rendering process and delivers richer content at lower overhead.- Adobe Graphics Assembly Language
- ARB assembly language
- OpenGL Shading Language
- High-Level Shading Language or DirectX Shader Assembly Language
- PlayStation Shader Language
- Metal Shading Language
- Cg
- Shining Rock Shading Language
- Spark
- Nitrous Shading Language
- Godot Shading Language
Offline rendering
- RenderMan Shading Language
- Houdini VEX Shading Language
- Gelato Shading Language
- Open Shading Language
Syntax handling languages
- ANTLR
- Coco/R
- GNU bison
- GNU Flex
- glex/gyacc
- lex
- M4
- Parsing expression grammar
- Prolog
- Emacs Lisp
- Lisp
- SableCC
- Scheme
- yacc
- JavaCC
System languages
System software is computer software designed to operate and control the computer hardware, and to provide a platform for running application software. System software includes software categories such as operating systems, utility software, device drivers, compilers, and linkers. Examples of system languages include:
Language | Originator | First appeared | Influenced by | Used for |
ESPOL | Burroughs Corporation | 1961 | ALGOL 60 | MCP |
PL/I | IBM, SHARE | 1964 | ALGOL, FORTRAN, some COBOL | Multics |
PL360 | Niklaus Wirth | 1968 | ALGOL 60 | ALGOL W |
C | Dennis Ritchie | 1969 | BCPL | Most operating system kernels, including Windows NT and most Unix-like systems |
PL/S | IBM | 196x | PL/I | OS/360 |
BLISS | Carnegie Mellon University | 1970 | ALGOL-PL/I | VMS |
PL/8 | IBM | 197x | PL/I | AIX |
PL-6 | Honeywell, Inc. | 197x | PL/I | CP-6 |
SYMPL | CDC | 197x | JOVIAL | NOS subsystems, most compilers, FSE editor |
C++ | Bjarne Stroustrup | 1979 | C, Simula | See C++ Applications |
Ada | Jean Ichbiah, S. Tucker Taft | 1983 | ALGOL 68, Pascal, C++, Java, Eiffel | Embedded systems, OS kernels, compilers, games, simulations, CubeSat, air traffic control, and avionics |
D | Digital Mars | 2001 | C++ | Multiple domains |
Nim | Andreas Rumpf | 2008 | Ada, Modula-3, Lisp, C++, Object Pascal, Python, Oberon | OS kernels, compilers, games |
Rust | Mozilla Research | 2010 | C++, Haskell, Erlang, Ruby | Servo layout engine, Redox OS |
Swift | Apple Inc. | 2014 | C, Objective-C, Rust | macOS, iOS app development |
Transformation languages
Visual languages
s let users specify programs in a two--dimensional way, instead of as one-dimensional text strings, via graphic layouts of various types. Some dataflow programming languages are also visual languages.- Analytica
- Blockly
- DRAKON
- Fabrik
- G
- Grasshopper
- Lava
- Limnor
- Max
- NXT-G
- Pict programming language
- Prograph
- Pure Data
- Quartz Composer
- Scratch
- Snap!
- Simulink
- Spreadsheets
- Stateflow
- Subtext
- ToonTalk
- VEE
- VisSim
- Vvvv
- XOD
- EICASLAB
Wirth languages
- ALGOL W
- Euler
- Modula
- * Modula-2, Modula-3, variants
- ** Obliq Modula 3 variant
- Oberon
- * Component Pascal
- * Oberon-2
- Pascal
- * Object Pascal
XML-based languages