programming-languages
Awesome Programming Languages
https://github.com/linsa-io/programming-languages
Last synced: 1 day ago
JSON representation
-
Explicit logical parallelism
- Estérel - Synchronous reactive language that allows simple expression of parallelism and preemption and is based on logical instants and zero time hypothesis. ([Web](http://www-sop.inria.fr/meije/esterel/esterel-eng.html))
- Ceu - Reactive language that aims to offer a higher-level and safer alternative to C. ([Web](http://www.ceu-lang.org/))
- FuncSug - Language for GUI programming that allows program codes to follow the same order as the scenario.
- Pendulum - Synchronous reactive language (OCaml extension) to program reactive systems on the Web.
- Reactive ML - Synchronous reactive language that combines the temporal expressiveness of synchronous languages with the power of functional programming.([Web](https://reactiveml.org/))
- SugarCubes - Synchronous (à la Boussinot) reactive language that allows to write reactive parallel/concurrent programs on top of sequential JavaScript.
-
Functional
- F\* - General-purpose functional programming language with effects aimed at program verification.
- Haskell - Advanced, purely functional programming language.
- OCaml - Industrial strength language supporting functional, imperative and object-oriented styles.
- TiML - Functional Language for Practical Complexity Analysis with Invariants.
- Silt - An in-progress fast, dependently typed, functional programming language implemented in Swift.
- Lasca - LLVM-based statically or dynamically typed strict functional programming language. Simplified OCaml if you will.
- Unlambda - Minimal, "nearly pure" functional programming language invented by David Madore. Based on combinatory logic. ([Wiki](https://en.wikipedia.org/wiki/Unlambda))
- Accelerate - Embedded language for high-performance array computations.
- Agda - Dependently typed functional language.
- Alice ML - Functional programming language based on Standard ML, extended with support for concurrent, distributed, and constraint programming.
- Amulet - ML-like functional programming language.
- Atto - Insanely simple self-hosted functional programming language.
- Beluga - Functional programming language designed for reasoning about formal systems.
- Bosatsu - Python-ish pure and total functional programming language.
- Braid - Functional language with Reason-like syntax that compiles to Go.
- Bright ML - Statically-typed programming language based on "F-ing modules".
- Calypso - Mostly imperative language with some functional influences that is focused on flexibility and simplicity.
- Clio - Functional, parallel, distributed programming language. ([Web](https://clio-lang.org/))
- cur - Powerful meta-programming for powerful types.
- Derw - Elm-inspired language that transpiles to TypeScript.
- Discus - Experimental dialect of Haskell which investigates static typing and program transformation in the presence of computational effects.
- Ditto - Functional, statically typed, and pure.
- Dynasty - Interpreted, dynamically-typed, lazily evaluated, purely functional programming language.
- Effekt - Research language with effect handlers and lightweight effect polymorphism. ([Web](https://effekt-lang.org/))
- Enki - Intended to be a logic language for teaching programming to people with no programming experience.
- Eta - Dialect of Haskell on the JVM.
- Eve - Programming language based on years of research into building a human-first programming platform.
- Expresso - Simple expressions language with polymorphic extensible row types. ([HN](https://news.ycombinator.com/item?id=23501981))
- F# - Open-source, cross-platform functional programming language for .NET.
- Facet - Call-by-value functional language with algebraic effects, quantitative type theory, and staging.
- Fika - Statically typed functional programming language for the web.
- Flix - Statically typed functional- and logic programming language inspired by Scala, OCaml, F#, Haskell, and Datalog. ([Web](https://flix.dev/))
- Functa - Flexible, fully functional dynamic programming language.
- Futhark - Purely functional data-parallel programming language. Its optimising compiler is able to compile it to typically very performant GPU code.
- Gluon - Static, type inferred and embeddable language written in Rust.
- Granule - Statically typed functional language with graded modal types for fine-grained program reasoning via types.
- Hemlock - Synthesizes the expressive type and module systems of ML-family languages, a unified parametric effects/mutability/type system, and the shared-nothing message-passing parallelism of Erlang.
- Ink - Minimal programming language inspired by modern JavaScript and Go, with functional style. ([Ink By Example](https://inkbyexample.com/))
- Keli - language.gitbook.io/doc/)) ([HN](https://news.ycombinator.com/item?id=24331635))
- Ko - Generic type-safe language for concurrent, stateful, deadlock-free systems and protocol manipulations.
- Koka - Function-oriented language with effect inference.
- Labrys - Toy language based on LLVM that implements the System Fω type-system.
- lambda-ski - Small functional language with a combinator based graph-reduction machine.
- Lawvere - Categorical programming language with effects.
- LinearML - Functional language for parallel programming.
- lviv - Stack-based RPN functional programming language. Written in Scheme.
- Mlatu - Statically typed, stack-based purely functional programming language designed for simplicity, speed, and safety.
- morloc - Typed, polyglot, functional language.
- Nazo ML - Experimental implementation of temporal-logic-based Hindley-Milner type system.
- Never - Statically typed, embedded functional programming language.
- Pikelet - Small, functional, dependently typed programming language.
- Salt - Compilation target that functional programmers always wanted.
- Sixten - Experimental functional language where all data is unboxed by default. Functional programming with fewer indirections.
- Spiral - Functional language with intensional polymorphism and first-class staging.
- TAMGU - FIL programming language: Functional, Imperative, Logical all in one for annotation and data augmentation.
- Tao - Statically-typed functional programming language.
- TiML - Functional Language for Practical Complexity Analysis with Invariants.
- TopShell - Purely functional, reactive scripting language.
- Tyrade - Pure functional language for type-level programming in Rust.
- Unison - Modern, statically-typed purely functional language, similar to Haskell, but with a unique ability to describe entire distributed systems with a single program.
- Unlambda - Minimal, "nearly pure" functional programming language invented by David Madore. Based on combinatory logic. ([Wiki](https://en.wikipedia.org/wiki/Unlambda))
- Ur/Web - Implementation of a domain-specific functional programming language for web applications.
- Verve - Functional language for the working hacker.
- Yeti - ML-like functional language for the JVM. ([Web](http://mth.github.io/yeti/))
- Zilch - Statically-typed, low-level, functional programming language with some focus on runtime performance.
- Neut - Dependently-typed programming language based on the Calculus of Constructions. ([HN](https://news.ycombinator.com/item?id=23283880))
- Eff - Functional language with handlers of not only exceptions, but also of other computational effects such as state or I/O.
- Leo - Functional, statically-typed programming language built for writing private applications.
-
Funny
- ArnoldC - Programming language based on the one-liners of Arnold Schwarzenegger.
- C-plus-Equality - Feminist programming language.
- dogescript - Wow so syntax very doge much future.
-
Lisp
- Common Lisp - Modern, multi-paradigm, high-performance, compiled, ANSI-standardized, most prominent (along with Scheme) descendant of the long-running family of Lisp programming languages.
- PicoLisp - Simple and lightweight and encourages clean, concise code.
- Urn - Lisp implementation for Lua. ([Code](https://github.com/SquidDev/urn)) ([Lobsters](https://lobste.rs/s/qzubyo/urn_lisp_implementation_for_lua))
- Emacs Lisp - dialect of the Lisp programming language used as a scripting language by Emacs with some later influence from Common Lisp. Created by GNU it supports imperative and functional programming methods.
- Carp - Statically typed lisp, without a GC, for real-time applications. ([Snippets](https://github.com/carpentry-org/snippets))
- Clojure - Dynamic, general-purpose, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.
- Fennel - Lua Lisp Language.
- Janet - Functional and imperative programming language and bytecode interpreter.
- Ketos - Lisp dialect scripting and extension language for Rust programs. ([HN](https://news.ycombinator.com/item?id=28616475))
- Liz - Lisp-flavored general-purpose programming language (based on Zig).
- llrl - Lisp-like programming language powered by Rust + LLVM.
- Lux - Functional, statically-typed Lisp that will run on several platforms, such as the Java Virtual Machine and JavaScript interpreters.
- Ren - Cleaner, clearer JavaScript. Modern scripting language for the Web.
-
Multi paradigm
- Ada - General-purpose, strongly typed, performant, readable and safe language.
- D - General-purpose programming language with static typing, systems-level access, and C-like syntax.
- JavaScript - High-level, dynamic, weakly typed, prototype-based, multi-paradigm, and interpreted.
- Objective C - General-purpose and object-oriented, adds Smalltalk-style messaging to the C programming language.
- Ante - Low-level functional language for exploring refinement types, lifetime inference, and other fun features. ([Code](https://github.com/jfecher/ante)) ([HN](https://news.ycombinator.com/item?id=31775216)) ([Lobsters](https://lobste.rs/s/02tu4z/ante_low_level_functional_language))
- Chaos - Strongly typed, dynamic yet compilable, test-oriented procedural programming language that achieves zero cyclomatic complexity. ([HN](https://news.ycombinator.com/item?id=22940265))
- Go - Compiled, statically typed in the tradition of Algol and C, with garbage collection, limited structural typing, memory safety features and CSP-style concurrent programming features added.
- Haxe - High-level and strictly-typed, cross-compiles to many different targets.
- Julia - High-level, high-performance dynamic language for technical computing.
- Nim - Both high-level and systems-level language, with productivity of Python, performance of C and meta-programming of Lisp.
- Python - Interpreted high-level language for general-purpose programming.
- Ring - Innovative and practical general-purpose multi-paradigm language.
- Swift - General-purpose, multi-paradigm, compiled programming language.
- TypeScript - Strict syntactical superset of JavaScript that adds optional static typing to the language.
-
Object-Oriented
- Smalltalk-72 - A pure message-oriented programming language and its environment implemented in '72 to test Alan Kay's idea of "programming by messaging".
- Pharo - A pure object-oriented programming language and a powerful environment derived from Squeak Smalltalk.
-
Other
- V - Fast, safe, compiled language.
- Lobster - General purpose stand-alone programming language that comes with a built-in library suitable for making games and other graphical things.
- Pony - Open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language. ([Code](https://github.com/ponylang/ponyc))
- Factor - Practical stack language. ([Lobsters](https://lobste.rs/s/sv9jw7/factor_programming_language))
- wenyan - Esoteric programming language that closely follows the grammar and tone of classical Chinese literature.
- Jai - High-level programming language developed by Jonathan Blow.
- Concurnas - Open source JVM programming language designed for building reliable, scalable, high performance concurrent, distributed and parallel systems. ([HN](https://news.ycombinator.com/item?id=23321096))
- Hamler - Haskell-style functional programming language running on Erlang VM. ([Code](https://github.com/hamler-lang/hamler)) ([Article](https://www.emqx.io/news/open-source-functional-programming-language-hamler))
- Gosu - Pragmatic language for the JVM. ([Code](https://github.com/gosu-lang/gosu-lang))
- Self - Prototype-based dynamic object-oriented programming language, environment, and virtual machine. ([Code](https://github.com/russellallen/self))
- Vale - Fast, safe, and easy programming language. It uses single ownership with constraint references for memory safety without garbage collection, and an emphasis on modern, readable syntax. ([Code](https://github.com/ValeLang/Vale)) ([HN](https://news.ycombinator.com/item?id=23865674)) ([HN 2](https://news.ycombinator.com/item?id=25160202))
- Lush - Object-oriented programming language designed for researchers, experimenters, and engineers interested in large-scale numerical and graphic applications.
- Charity - Categorical programming language. ([Code](https://github.com/mietek/charity-lang))
- Metamine - Completely declarative programming language.
- Neon - High-level, statically typed, garbage collected, imperative programming language intended for teaching and learning the craft of programming. ([Code](https://github.com/ghewgill/neon-lang))
- Icon - Programming language with a focus on string manipulation. ([Lobsters](https://lobste.rs/s/qendox/icon_programming_language))
- Fractran - Turing-complete esoteric programming language invented by the mathematician John Conway. ([Notes](https://wiki.xxiivv.com/site/fractran.html)) ([Fractran Interpreter](https://merveilles.town/web/statuses/105357795783765822))
- Zeta - Scripting language designed for efficiency, enabling dynamic extension and modification of high performance software.
- Kuljet - Language for writing database-backed HTML applications. ([Code](https://github.com/KMahoney/kuljet))
- Copper - Experimental programming language that can be used as a replacement to C and C++.
- CLU - Programming language created at MIT.
- Ella - Computer programming language interpreter written in Rust.
- Dip - Dynamically typed interpreted programming language written in Python, which gives emphasis to readability and ease of use, while also providing the power of all of python’s libraries. ([Code](https://github.com/raghavnautiyal/Dip))
- Mint - Refreshing programming language for the front-end web. ([Code](https://github.com/mint-lang/mint)) ([Lobsters](https://lobste.rs/s/78fixr/mint_refreshing_programming_language))
- Whiley - Programming Language with Extended Static Checking. ([Code](https://github.com/Whiley/WhileyCompiler))
- Egison - Programming language that features extensible efficient non-linear pattern matching with backtracking for non-free data types. ([Code](https://github.com/egison/egison))
- Kitten - Statically typed, stack-based functional programming language designed to be simple and fast. ([Code](https://github.com/evincarofautumn/kitten/))
- Hexagony - Two-dimensional stack-based programming language. ([Hexagony IDE](https://hexagony.net/))
- Kernel - Conservative, Scheme-like dialect of Lisp in which everything is a first-class object.
- Rust - Multi-paradigm, high-level, general-purpose programming language designed for performance and safety, especially safe concurrency.
- Emojicode - Open-source, full-blown programming language consisting of emojis. ([Code](https://github.com/emojicode/emojicode))
- Oak - Expressive, simple, dynamic programming language. ([Code](https://github.com/thesephist/oak))
- Pen - Programming language for scalable development. ([Code](https://github.com/pen-lang/pen)) ([HN](https://news.ycombinator.com/item?id=28590209))
- Kara - Experimental programming language inspired by Swift and Idris.
- Yuescript - Dynamic language that compiles to Lua. ([Code](https://github.com/pigpigyyy/Yuescript))
- Hare - Systems programming language designed to be simple, stable, and robust. ([Code](https://sr.ht/~sircmpwn/hare/))
- Tokay - Imperative, procedural programming language dedicated to parsing and other text-processing tasks. ([Code](https://github.com/tokay-lang/tokay))
- Luau - Fast, small, safe, gradually typed embeddable scripting language derived from Lua. ([FAQ](https://gist.github.com/zeux/bb646a63c02ff2828117092036d2d174)) ([HN](https://news.ycombinator.com/item?id=24059432))
- Luxury - Statically programming language which is targeting embedded programming.
- ABS - Programming language that works best when you're scripting on your terminal.
- Acton - Compiled language, offering the speed of C but with a considerably simpler programming model.
- Alan - Programming language that does concurrency for you and can thus separate how the software is written from how it runs.
- Antimony - Language that gets out of your way. ([Docs](https://antimony-lang.github.io/antimony/))
- Arturo - Simple, modern and powerful interpreted programming language for efficient scripting. ([Web](http://arturo-lang.io/))
- Astro - Fun safe language for rapid prototyping and high performance applications.
- Austral - Systems language with linear types.
- Bagel - Statically typed, reactive language with pure and impure functions. ([Article](https://www.brandons.me/blog/the-bagel-language))
- Ballerina - Open-source programming language for the cloud that makes it easier to use, combine, and create network services. ([Web](https://ballerina.io/))
- Basil - Fast and flexible language exploring partial evaluation, context-sensitive parsing, and metaprogramming. Compiles JIT or AOT to native code.
- Beef - Open source performance-oriented compiled programming language which has been built hand-in-hand with its IDE environment.
- BIPLAN - Byte coded Interpreted Programming language.
- BlazeX - AOT compiled object oriented programming language.
- Bog - Small, strongly typed, embeddable language. Written in Zig.
- Bolt - Research language with finer-grained concurrency than Rust. ([HN](https://news.ycombinator.com/item?id=23122973))
- Boson - Hybrid programming language written in Rust.
- Bosque - Experiment in regularized design for a machine assisted rapid and reliable software development lifecycle. ([HN](https://news.ycombinator.com/item?id=23175280))
- Butter - Aims to be a concise and friendly language for building efficient software.
- Cairo - Programming language for writing provable programs. ([Web](https://www.cairo-lang.org/))
- Caledon - Dependently typed, polymorphic, higher order logic programming language.
- Cane - A small vector language designed for making beats with realtime MIDI.
- Cant - Programming language descended mainly from E and Scheme.
- Charity - Categorical programming language. ([Code](https://github.com/mietek/charity-lang))
- Ciao - Programming language that builds up from a logic-based simple kernel, and is designed to be extensible and modular.
- Clay - Programming language designed for Generic Programming.
- Compose - Experimental programming language. It aims to be teachable, scalable, modern, powerful & precise.
- Cone - Fast, fit, friendly, and safe systems programming language. ([Web](https://cone.jondgoodwin.com/))
- Cotowali - Statically typed scripting language that transpile into POSIX sh.
- Crunch - Strongly & statically typed systems level language focused on ease of use, portability and speed.
- CUP - Simple, C-like programming language.
- DaCE - Data-Centric Parallel Programming.
- Dictu - High-level dynamically typed, multi-paradigm, interpreted programming language. ([Docs](https://dictu-lang.com/))
- Disco - Functional teaching language for use in a discrete mathematics course.
- Ditto - Super Kawaii Dependently Typed Programming Language.
- Dora - JIT-compiler for the programming language Dora implemented in Rust.
- Ein - Functional programming language for scalable development.
- Elsa - Minimal, fast and secure QuickJS wrapper written in Go. ([HN](https://news.ycombinator.com/item?id=24626655))
- Enso - Visual and textual functional programming language.
- FaCT - Flexible and Constant Time Programming Language.
- fe - Tiny, embeddable language implemented in ANSI C. ([HN](https://news.ycombinator.com/item?id=22785137))
- Felix - Advanced, statically typed, high performance scripting language with native C++ embedding.
- F-- - Uncurried minimal functional programming language.
- Flax - Level, general-purpose language with high level syntax and expressibility.
- Foolang - Smalltalk-inspired language. ([Web](https://foolang.org/#/))
- Ghost - Small, class-based scripting language. ([Web](https://ghostlang.org/))
- GLICOL - Graph-oriented live coding language written in Rust. Make music with code. ([Web](https://glicol.org/))
- Gravity - Embeddable programming language. ([Code](https://github.com/marcobambini/gravity)) ([HN](https://news.ycombinator.com/item?id=23467289))
- Gwion - Strongly-timed language aimed at music creation. Heavily inspired by ChucK.
- Hook - Cross-platform scripting language with a C-like syntax, dynamic typing, mutable value semantics approach, and memory management through reference counting.
- Horse64 - Simple & versatile high-level programming language. ([Web](https://horse64.org/))
- Hugorm - Mission-critical scripting language.
- \_hyperscript - Small scripting language for the web.
- Inko - Statically-typed, safe, object-oriented programming language for writing concurrent programs.
- IntercalScript - Systems programming language for the web that combines a simple and consistent syntax with a static type system that completely eliminates runtime type errors.
- io - Programming language. Inspired by Self, Smalltalk and LISP. ([Web](https://iolanguage.org/))
Programming Languages
Categories
Sub Categories
Keywords
programming-language
63
compiler
53
language
50
functional-programming
18
rust
14
interpreter
14
scripting-language
13
functional
10
haskell
10
javascript
10
c
8
lisp
8
bytecode
6
macros
6
lua
6
golang
6
go
6
webassembly
5
virtual-machine
5
typescript
5
embeddable
5
type-system
4
ocaml
4
cross-platform
4
llvm
4
transpiler
4
vm
4
dependent-types
4
repl
4
concurrency
3
stack-based
3
functional-language
3
metaprogramming
3
cuda
3
scripting
3
ide
3
functional-languages
3
music
3
wasm
3
algebraic-effects
3
procedural
3
object-oriented
3
gpu
3
linux
3
composition
2
games
2
homoiconic
2
capabilities
2
statically-typed
2
type-safety
2