List of programming languages by type
This is a list of notable programming languages, grouped by notable language attribute. As a language can have multiple attributes, the same language can be in multiple groupings.
Agent-oriented programming languages
Agent-oriented programming allows the developer to build, extend and use software agents, which are abstractions of objects that can message other agents.languages generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays.
- A+
- Ada
- Analytica
- APL
- Chapel
- Dartmouth BASIC
- Fortran
- FreeMat
- GAUSS
- Interactive Data Language
- J
- Julia
- K
- MATLAB
- Octave
- PL/I
- Q
- R
- Raku
- S
- Scilab
- S-Lang
- SequenceL
- Speakeasy
- Wolfram Mathematica
- X10
- ZPL
Aspect-oriented programming languages
s directly correspond to a machine language, so machine code instructions appear in a form understandable by humans, although there may not be a one-to-one mapping between an individual statement and an individual instruction. Assembly languages let programmers use symbolic addresses, which the assembler converts to absolute or relocatable addresses. Most assemblers also support macros and symbolic constants.
Authoring languages
An authoring language is a programming language designed for use by a non-computer expert to easily create tutorials, websites, and other interactive computer programs.- Darwin Information Typing Architecture
- Lasso
- PILOT
- TUTOR
- Authorware
Command-line interface languages
- 4DOS
- 4OS2
- Batch files for DOS and Windows
- * COMMAND.COM command language for DOS and pre-Windows NT Windows
- * cmd.exe command language for Windows NT
- sh and compatibles
- * bash
- * ksh
- CLIST
- CMS EXEC
- csh and compatibles
- * tcsh
- * C shell">C (programming language)">C shell
- DIGITAL Command Language CLI for OpenVMS
- EXEC 2
- Expect
- fish
- Nushell
- PowerShell
- rc
- Rexx
- TACL
- zsh
Compiled languages
- ArkTS
- ActionScript
- Ada
- ALGOL 58
- * JOVIAL
- * NELIAC
- ALGOL 60
- * SMALL a Machine ALGOL
- ALGOL 68
- Ballerina→ bytecode runtime
- BASIC
- BCPL
- C
- C++
- C#
- Ceylon
- CHILL
- CLIPPER 5.3
- CLEO for Leo computers
- Clojure
- COBOL
- Cobra
- Common Lisp
- Crystal
- Curl
- D
- DASL→Java, JS, JSP, Flex.war
- Delphi
- DIBOL
- Dylan
- Eiffel
- * Sather
- * Ubercode
- Elm
- Emacs Lisp
- Emerald
- Erlang
- Factor
- Fortran
- GAUSS
- Go
- Gosu
- Groovy
- Haskell
- Harbour
- HolyC
- Inform
- Java
- JOVIAL
- Julia
- Kotlin
- LabVIEW
- Mercury
- Mesa
- Nemerle
- Nim
- Objective-C
- P
- Pascal
- PL/I
- Plus
- Pony
- Python
- RPG
- Red
- Rust
- Scala
- Scheme
- SequenceL – purely [|functional], parallelizing and race-free
- Simula
- Smalltalk platform independent VM bytecode
- Swift
- ML
- * Standard ML
- ** Alice
- * OCaml
- * F#
- Turing
- V
- Vala
- Visual Basic
- Visual FoxPro
- Visual Prolog
- Xojo
- Zig
Concatenative programming languages
languages provide language constructs for concurrency. The predominant paradigm for concurrency in mainstream languages such as Java is shared memory concurrency. Concurrent languages that make use of message passing have generally been inspired by process calculi such as communicating sequential processes or the π-calculus.
- 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.
- C++
- 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
- 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
- Gleam
- 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
- LabVIEW
- Limbo – relative of Alef, used for systems programming in Inferno
- MultiLisp – Scheme variant extended to support parallelism
- OCaml
- 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
- Pony
- Pict – essentially an executable implementation of Milner's π-calculus
- Python – uses thread-based parallelism and process-based parallelism
- Raku
- Rust
- Scala – implements Erlang-style actors on the JVM
- SequenceL – purely functional, automatically parallelizing and race-free
- SR – research language
- V
- Unified Parallel C
- XProc – XML processing language, enabling concurrency
Constraint programming languages
- Claire
- Constraint Handling Rules
- CHIP
- ECLiPSe
- Kaleidoscope
- Oz
- Raku
Contract languages
- Ada
- Ciao
- Clojure
- Cobra
- C++
- D
- Dafny
- Eiffel
- Fortress
- Kotlin
- Mercury
- Oxygene
- Racket
- Sather
- Scala
- SPARK
- Vala
- Vienna Development Method
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:- ABCL/c+
- Alef
- AWK
- ArkTS
- B
- bc
- BCPL
- Ballerina
- C – developed circa 1970 at Bell Labs
- C++
- C#
- Ceylon
- Chapel
- ChucK – audio programming language
- Cilk – concurrent C for multithreaded parallel programming
- Cyclone – a safer C variant
- D
- Dart
- DASL – based on Java
- E
- ECMAScript
- * AssemblyScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * TypeScript
- GLSL
- Go
- HLSL
- Java
- * Processing
- * Groovy
- * Join Java
- * Kotlin
- * Tea
- * X10
- Limbo
- LPC
- MEL
- Nemerle
- Objective-C
- PCASTL
- Perl
- PHP
- Pico
- Pike
- PowerShell
- R
- Raku
- Rust
- S-Lang
- Scala
- sed
- Solidity
- SuperCollider
- Swift
- UnrealScript
- V
- Yorick
- YASS
- Zig
Dataflow languages
- Analytica
- Ballerina
- BMDFM
- Hartmann pipelines
- G
- Lucid
- Max
- Oz
- Prograph
- Pure Data
- Reaktor
- StreamBase StreamSQL EventFlow
- Swift
- VEE
- VHDL
- VisSim
- Vvvv
- WebMethods Flow
Data-oriented languages
- Associative Programming Language
- Clarion
- Clipper
- dBase a relational database access language
- Gremlin
- MUMPS
- Caché ObjectScript
- RETRIEVE
- RDQL
- SPARQL
- SQL
- Visual FoxPro – a native RDBMS engine, object-oriented, RAD
- Wolfram Mathematica
Decision table languages
- Filetab
Declarative languages
- Analytica
- Ant
- Curry
- Cypher
- Datalog
- Distributed Application Specification Language
- ECL
- Gremlin
- Inform
- Lustre
- Mercury
- Metafont
- MetaPost
- Modelica
- Nix
- Prolog
- QML
- Oz
- RDQL
- SequenceL – purely functional, automatically parallelizing and race-free
- SPARQL
- SQL
- Soufflé
- VHDL
- Wolfram Mathematica
- WOQL
- 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
- Tcl – server-side in NaviServer and an essential component in electronics industry systems
Client side
- ActionScript
- JavaScript
- VBScript
In object code
Languages developed primarily for the purpose of teaching and learning of programming.
- Alice
- Blockly
- Catrobat
- COMAL
- Elan
- Emerald
- Ezhil
- Logo
- Modula-2
- Pascal
- PL/C
- Racket
- Scheme
- Scratch
- Snap!
- SP/k
- Turing
- Wolfram Mathematica
Esoteric languages
- Beatnik
- Befunge
- Brainfuck
- Chef
- INTERCAL
- LOLCODE
- Malbolge
- Piet
- Shakespeare
- Whitespace
Extension languages
- AutoLISP
- BeanShell
- CAL
- C/AL
- Guile
- Emacs Lisp
- JavaScript and some dialects, e.g., JScript
- Lua
- OpenCL
- OptimJ
- Perl
- Pike
- PowerShell
- Python
- Rexx
- Ruby
- S-Lang
- SQL
- Squirrel
- Tcl
- Vim script
- Visual Basic for Applications
Fourth-generation languages
- 1C:Enterprise programming language
- ABAP
- CorVision
- CSC's GraphTalk
- CA-IDEAL for use with CA-DATACOM/DB
- Easytrieve report generator
- FOCUS
- IBM Informix-4GL
- LINC 4GL
- LiveCode
- MAPPER – now part of BIS
- MARK-IV now VISION:BUILDER of CA
- NATURAL
- Progress 4GL
- PV-Wave
- RETRIEVE
- SAS
- SQL
- Ubercode
- Uniface
- Visual DataFlex
- Visual FoxPro
- xBase
Functional languages
Pure
- Agda
- Clean
- Cuneiform
- Curry
- Elm
- Futhark
- Haskell
- Hope
- Idris
- Joy
- jq
- KRC
- Lean
- Mercury
- Miranda
- Pure
- PureScript
- Rocq
- SAC
- SASL
- SequenceL
- Ur
Impure
- APL
- * J
- * Q
- ATS
- CAL
- C++
- C#
- VB.NET
- Ceylon
- Curl
- D
- Dart
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- * ArkTS
- * TypeScript
- Erlang
- * Elixir
- * Gleam
- * LFE
- Fexl
- Flix
- G
- Groovy
- Hop
- Java
- Julia
- Kotlin
- Lisp
- * Clojure
- * Common Lisp
- * Dylan
- * Emacs Lisp
- * LFE
- * Little b
- * Logo
- * Racket
- * Scheme
- ** Guile
- * Tea
- ML
- * Standard ML
- ** Alice
- * OCaml
- * F#
- Nemerle
- Nim
- Opal
- OPS5
- Perl
- * Raku
- PHP
- PL/pgSQL
- Python
- Q
- R
- Rebol
- Red
- Ruby
- REFAL
- Rust
- Scala
- Swift
- Spreadsheets
- V
- Tcl
- Wolfram Mathematica
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
- Handel-C
- Impulse C
- Lola
- MyHDL
- PALASM
- Ruby
- SystemC
- SystemVerilog
- Verilog
- VHDL
Imperative languages
- Ada
- ALGOL 58
- * JOVIAL
- * NELIAC
- ALGOL 60
- ALGOL 68
- BASIC
- C
- C++
- C#
- Ceylon
- CHILL
- COBOL
- D
- Dart
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- FORTRAN
- GAUSS
- Go
- Groovy
- Icon
- Java
- Julia
- Lua
- MATLAB
- Machine languages
- Modula-2, Modula-3
- MUMPS
- Nim
- OCaml
- Oberon
- Object Pascal
- Open Object Rexx
- Open Programming Language
- OpenEdge Advanced Business Language
- Pascal
- Perl
- PHP
- PL/I
- PL/S
- PowerShell
- PROSE
- Python
- Raku
- Rexx
- Ruby
- Rust
- SETL
- Speakeasy
- Swift
- Tcl
- V
- Wolfram Mathematica
Interactive mode languages
- APL
- BASIC
- Clojure
- Common Lisp
- Dart
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- * ArkTS
- Erlang
- Elixir
- F#
- Fril
- GAUSS
- Groovy
- Guile
- Haskell
- IDL
- J
- Java
- Julia
- Lua
- MUMPS
- Maple
- MATLAB
- ML
- Nim
- OCaml
- Perl
- PHP
- Pike
- PostScript
- PowerShell
- Prolog
- Python
- PROSE
- R
- Raku
- Rebol
- Red
- Rexx
- Ruby
- Scala
- Scheme
- Smalltalk
- S-Lang
- Speakeasy
- Swift
- Tcl
- Unix shell
- Visual FoxPro
- Wolfram Mathematica
Interpreted languages
- Ant
- APL
- AutoHotkey scripting language
- AutoIt scripting language
- BASIC
- Programming Language for Business
- Eiffel
- Emacs Lisp
- FOCAL
- GameMaker Language
- Groovy
- J
- jq
- Java bytecode
- Julia
- JavaScript
- Lisp
- LPC
- Lua
- MUMPS
- Maple
- MATLAB
- OCaml
- Pascal
- PCASTL
- Perl
- PHP
- PostScript
- PowerShell
- PROSE
- Python
- Rexx
- R
- Raku
- Rebol
- Red
- Ruby
- S-Lang
- Seed7
- Speakeasy
- Standard ML
- Spin
- Tcl
- Tea
- TorqueScript
- VBScript
- Windows PowerShell – .NET-based CLI
- Some scripting languages – below
- Wolfram Mathematica
Iterative languages
- Aldor
- Alphard
- C++
- C#
- CLU
- Cobra
- ECMAScript
- Eiffel, through "agents"
- Icon
- Processing Language|IPL-v]
- jq
- Julia
- Lua
- Nim
- PHP
- Python
- Raku
- Sather
Languages by memory management type
Garbage collected languages
Garbage Collection is a form of automatic memory management. The garbage collector attempts to reclaim memory that was allocated by the program but is no longer used.- APL
- C++
- C#
- Clean
- Crystal
- Dart
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- Emerald
- Erlang
- Go
- Groovy
- Haskell
- Java
- Julia
- Kotlin
- LabVIEW
- Lisp
- * Arc
- * Clojure
- * Common Lisp
- * Dylan
- * Emacs Lisp
- * Guile
- * Racket
- * Scheme
- * Logo
- Lua
- ML
- * Standard ML
- ** Alice
- * OCaml
- Modula-3
- Perl
- PHP
- PowerShell
- Python
- Ruby
- Smalltalk
- Speakeasy
Languages with manual memory management
- ALGOL 68
- Assembly
- BLISS
- C
- C++
- Component Pascal
- Forth
- Fortran
- FreeBASIC
- Modula-2
- Oberon
- Pascal
- PL/I
- Zig
Languages with optional manual memory management
- Ada
- Blitz BASIC
- COBOL
- D
- Nim
- Objective-C
- Objective-C++
- PostScript
- Rust
- V
- Vala
malloc and free from C through a foreign function interface.Languages with deterministic memory management
- Ada
- C
- C++
- Fortran
- Nim
- Pascal
- Rust
- Objective-C
- Zig
- Modula-3
Languages with automatic reference counting (ARC)
- Nim
- Objective-C
- Perl
- Swift
- Visual Basic
- Xojo
List-based languages – LISPs
- Lisp
- * Arc
- * Clojure
- * Common Lisp
- * Dylan
- * Emacs Lisp
- * Guile
- * Racket
- * Scheme
- * Logo
- Joy
- R
- Source
- Tcl
- * Tea
- TRAC
Little languages
- awk – used for text file manipulation.
- 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
- XPL - a language designed for, although not limited to, compiler writing
Logic-based languages
Notable languages following this programming paradigm include:
- ALF
- Alma-0
- Curry
- Datalog
- Fril
- Flix
- Janus
- λProlog
- Oz, and Mozart Programming System cross-platform Oz
- Prolog
- * Mercury
- * Visual Prolog
- ROOP
- Soufflé
Machine languages
- RISC-V
- 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
- Burroughs Corporation
- * Burroughs B5000 instruction set
- * Burroughs B6x00-7x00 instruction set
- IBM
- * 305 RAMAC|305]
- * 650
- * 701
- * 702, 705 and 7080
- * 704, 709, 7040, 7044, 7090, 7094
- * 1400 series, 7010
- * 7030 Stretch|7030]
- * 7070, 7072, 7074
- * System/360 and successors, including z/Architecture
- MIPS
- Motorola 6800
- Motorola 68000 series
- MOS Technology 65xx
- * 6502
- * 6510
- * Western Design Center 65816/65802
- National Semiconductor NS320xx
- POWER architecture|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 – an evolution of PowerPC.
- 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.
- C preprocessor
- m4
- ML/I
- TTM
Application macro languages
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
- Emacs Lisp
- Elixir
- F#
- Groovy
- Haskell
- Julia
- Lisp
- Lua
- Maude system
- META II
- OCaml
- Nemerle
- Nim
- Perl
- Python
- Raku
- Red
- Ruby
- Rust
- Scheme
- SequenceL
- Smalltalk
- Source
- TREE-META
- Wolfram Mathematica
Modular languages
- Ada
- ALGOL
- BlitzMax
- C
- C++
- C#
- Clojure
- COBOL
- Common Lisp
- D
- Dart
- eC
- Erlang
- Elixir
- Elm
- F
- F#
- Fortran
- Go
- Haskell
- IBM/360 IBM Basic [assembly language and successors|Assembler]
- IBM System/38 and AS/400 Control Language
- IBM RPG
- Java
- JavaScript
- Julia
- MATLAB
- ML
- Modula, Modula-2, Modula-3
- Morpho
- NEWP
- Oberon, Oberon-2
- Objective-C
- OCaml
- Pascal derivatives
- * Component Pascal
- * Object Pascal
- * Turbo Pascal
- * UCSD Pascal
- Perl
- PHP
- PL/I
- PureBasic
- Python
- R
- Ruby
- Rust
- Visual Basic
- WebDNA.
Multiparadigm languages
- 1C:Enterprise programming language
- Ada
- ALF
- Alma-0
- APL
- BETA
- C++
- C#
- Ceylon
- ChucK
- Cobra
- Common Lisp, aspect-oriented )
- Curl
- Curry
- D
- Dart
- Delphi Object Pascal
- Dylan
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- Eiffel, generic, functional, concurrent )
- F#
- Fantom
- Go,
- Groovy
- Harbour
- Hop
- J
- Java
- Julia
- LabVIEW
- 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
- Raku
- Rebol, metaprogramming )
- Red, metaprogramming )
- ROOP
- Ruby
- Rust
- Scala
- Seed7
- SISAL
- Spreadsheets
- Swift
- Tcl
- * Tea
- V
- Windows PowerShell
- Wolfram Mathematica
Numerical analysis
- AIMMS
- AMPL
- Analytica
- Calcpad
- Fortran
- FreeMat
- Frink
- GAUSS
- GAMS
- GNU Data Language
- GNU Octave
- Interactive Data Language
- J
- Julia
- Klerer-May System
- Mathcad
- MATLAB
- MiniZinc
- O-Matrix
- OptimJ
- Ox
- PROSE
- R
- Seneca – an Oberon variant
- Scilab
- SequenceL
- Speakeasy
- Sysquake
- Wolfram Mathematica
Non-English-based languages
- Chinese BASIC
- Fjölnir
- Language Symbolique d'Enseignement
- Rapira
- ezhil
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
- Raku
Single dispatch
- ActionScript 3.0
- Actor
- Ada 95 and Ada 2005
- APL
- BETA
- C++
- C#
- Ceylon
- Dart
- Oxygene
- ChucK
- Cobra
- ColdFusion
- Curl
- D
- Distributed Application Specification Language
- Delphi Object Pascal
- E
- GNU E
- Eiffel
- * Sather
- * Ubercode
- Fortran 2003
- Fortress
- Gambas
- Game Maker Language
- Harbour
- J
- Java
- * Processing
- * Groovy
- * Join Java
- * Tea
- * X10
- LabVIEW
- Lua
- Modula-2
- * Modula-3
- Nemerle
- NetRexx
- Oberon-2
- Object Pascal
- Object REXX
- Objective-C
- OCaml
- OpenEdge Advanced Business Language
- Oz, Mozart Programming System
- Perl 5
- PHP
- Pike
- Prograph
- Python
- Revolution
- Ruby
- Scala
- Speakeasy
- Simula
- Smalltalk
- * 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
- 1C:Enterprise programming language
- 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
- Miranda, Haskell's parent
- * Orwell
- * Haskell
- ** Curry
- Elixir
- F#
- Nemerle
- Nim
- Occam
- SPIN
- Scala
Procedural languages
- Ada
- ALGOL 58
- * JOVIAL
- * NELIAC
- ALGOL 60
- * SMALL Machine ALGOL Like Language
- ALGOL 68
- Alma-0
- BASIC
- BCPL
- BLISS
- C
- C++
- C#
- Ceylon
- CHILL
- ChucK
- COBOL
- Cobra
- ColdFusion
- CPL
- Curl
- D
- Distributed Application Specification Language
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- Eiffel
- Forth
- Fortran
- * F
- GAUSS
- Go
- Harbour
- HyperTalk
- Java
- * Groovy
- * Join Java
- * Tea
- JOVIAL
- Julia
- Language H
- Lasso
- Modula-2
- 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
- Raku
- Rapira
- RPG
- Rust
- S-Lang
- VBScript
- Visual Basic
- Visual FoxPro
- Wolfram Mathematica
- Microsoft Dynamics AX
Query languages
Reflective languages
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
- C++
- Ceylon
- Charm
- ChucK
- CLI
- * C#
- Cobra
- Component Pascal BlackBox Component Builder
- Curl
- Cypher
- Delphi Object Pascal
- 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
- Raku
- Rebol
- Red
- Ruby
- Rust
- Smalltalk
- * Little Smalltalk
- * Self
- * Squeak
- * IBM VisualAge
- * VisualWorks
- SNOBOL
- Tcl
- Wolfram Mathematica
- XOTcl
- X++
- Xojo
Rule-based languages
- awk
- CLIPS
- Claire
- Constraint Handling Rules
- Drools
- GOAL agent programming language
- Jess
- OPS5
- Prolog
- ToonTalk – robots are rules
- Wolfram Mathematica
Scripting languages
- AngelScript
- AppleScript
- AutoHotKey
- AutoIt
- AWK
- bc
- BeanShell
- C
- Ch
- CLI
- * C#
- CLIST
- ColdFusion
- ECMAScript
- * ActionScript
- * ECMAScript for XML
- * JavaScript
- * JScript
- * Source
- Emacs Lisp
- CMS EXEC
- EXEC 2
- Game Maker Language
- GDScript
- Io
- JASS
- Julia
- JVM
- * Groovy
- * Java
- * Join Java
- Lasso
- Lua
- MAXScript
- MEL
- Oriel
- Pascal Script
- Perl
- PHP
- Python
- R
- Raku
- Rebol
- Red
- Rexx
- * Object REXX
- Revolution
- Ruby
- RUNCOM
- S-Lang
- sed
- Smalltalk
- Squirrel
- Tea
- Tcl
- TorqueScript
- VBScript
- Many shell command languages have powerful scripting abilities:
- * sh and compatibles
- ** Ksh
- ** Bash
- * DIGITAL Command Language on VMS
- * PowerShell
Stack-based languages
- Beatnik
- Befunge
- 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
Offline rendering
- RenderMan Shading Language
- Open Shading Language
Syntax-handling languages
- ANTLR
- Coco/R
- GNU bison
- GNU Flex
- JavaCC
- lex
- M4
- Parsing expression grammar
- Prolog
- Emacs Lisp
- Lisp
- Raku
- SableCC
- Scheme
- yacc
- XPL
System languages
System software is computer software designed to operate and control computer hardware, and provide a platform to run application software. System software includes software categories such as operating systems, utility software, device drivers, compilers, and linkers. Examples of system languages include:
Transformation languages
s serve the purpose of transforming source code specified in a certain formal language into a defined destination format code. It is most commonly used in intermediate components of more complex super-systems in order to adopt internal results for input into a succeeding processing routine.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
- Clickteam Fusion
- DRAKON
- Fabrik
- Grasshopper
- Max
- NXT-G
- Pict
- Prograph
- Pure Data
- Quartz Composer
- Scratch
- Snap!
- Simulink
- Spreadsheets
- Stateflow
- Subtext
- ToonTalk
- VEE
- VisSim
- Vvvv
- XOD
Wirth languages
- ALGOL W
- Euler
- Modula
- * Modula-2, Modula-3, variants
- ** Obliq Modula 3 variant
- Oberon
- * Component Pascal
- * Oberon-2
- Pascal
- * Object Pascal |Delphi], Free Pascal, Oxygene
- [PL360
XML-based languages