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.Command-line interface languages are also called batch languages or job control languages. Examples:
- 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
- * Hamilton 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
- Factor
- Forth
- jq
- Joy
- PostScript
- Raku
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.
- 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