A playground for various programming languages.
Ada is a strongly typed imperative porgramming language with emphasis on safety and security. It also features generic and object-oriented paradigms. SPARK is a subset of Ada, which enables program verification by theorem provers, like Alt-Ergo
.
ATS is a statically-typed programming language that support functional and imperative styles. Its type system supports dependent types and enables theorem proofing of its implementations.
Ballerina is statically typed programming language with emphasis on implementing services. It has good support for concurrency and deployment in the cloud. Ballerina programs also feature a graphical representation with sequence diagrams and seamless conversion between them and textual representation.
Clojure is a LISP-style language for the Java Virtual Machine (JVM).
ClojureScript is a Clojure dialect (mainly a subset) for web development, as it compiles to JavaScript.
A standardized version of LISP, containing an object system (CLOS) and many libraries.
Crystal is a compiled programming language with a static type system. It features a Ruby-like syntax and utilizes the LLVM toolchain for high performance of te built executables.
A functional programmig language for the Erlang virtual machine. It features macros, strong concurrency features (Erlang!) and an expressive syntax ala Ruby.
Elm is a Haskell-style programming language for web development. It compiles to JavaScript and features Functional Reactive Programming for GUIs.
Go is a mainly imperative programming language with a static type system. Go has a strong emphasis on concurrency via channels, aka goroutines.
Fortran is an imperative programming language, well establised for scientific computing and other number-crunching tasks.
Frege is a Haskell implementation for the Java Virtual Machine (JVM).
Haskell is a pure functional programming language with a very powerful static type system.
Haxe is a programming language mainly for the web that compiles to JavaScript, Flash, Neko (a VM for web server) or to native code (via C).
Haxe is statically typed and supports algebraic data types ala Haskell.
Idris is a Haskell-style programming language with dependent types. It compiles to either machine code (via C) or to JavaScript.
Julia is a dynamically-typed programming language well suited for scientific and data science related applications. It is JIT-compiled with the help of the LLVM framework.
Koka is a strongly-typed functional-style programming language developed by Microsoft Research. It features algebraic effects and compiles to very efficient C-code by using techniques called evidence passing, which makes a garbage collector unnecessary..
Kotlin is a statically-typed object-oriented programming language, targetting the Java Virtual Machine (JVM) and now also compiles to JavaScript. Its main goal is to reduce the complexity (aka boilerplate) and avoid some pitfalls, like null pointers, of the Java programming language.
Lua is a small dynamically typed "scripting" language. Due to its size it is very well suited to be embedded into applications. It also features a very easy interface to native (C) code. LuaJIT is an alternative implementation with increased performance by LIT-compilation.
Mathematica, nowadays also known as Wolfram Language is a symbolic, functional programming langauge specialized for engineering and scientific calculations. It features a powerful symbolic algebra system. Mathematica was one of the first programming environments featuring the 'notebook-style' of literate programming.
Nim (formerly Nimrod) is an imperative programming language that compiles to native code via C. It is designed for better safety than C to prevent errors especially for multithreaded programs.
OCaml is a functional programming language that also supports imperative and object-oriented style. It is statically typed and derived from the ML language.
Perl is a general purpose scripting language with a large set of supporting libraries. It is very well suited for an kind of text processing thanks to its powerful regular expression engine. Perl6 is a modern dialect of Perl, recently released.
Pony is a statically typed programming language with built-in support for actors, like they are known from Scala of Erlang. In contrast, pony compiles to native code without using a dedicated runtime engine.
Prolog is a declarative dynamically typed logical programming language.
Python is an interpreted general purpose programming language. Due to its wide spread, bindings to many popular libraries and frameworks are available, especially in the field of scientific computing
Racket is a Scheme dialect with emphasis on teaching computer science. It features the definition and usage of new programming language variants. Its infrastructure contains a large number of packages for different application areas. DrRacket is a multi-platform developement environment. This might enable the usage of Racket also for other disciplines besides education.
Ruby is a general purpose interpreted programming language with an expressive syntax. It is well known for the Rails web application framework.
Rust is a statically typed programming language with good support for multithreading. It features a concept of variable ownership to prevent data races, deadlocks, etc.
Scheme is a LISP-style programming language, mainly used for teaching. It is standardized (currently as R7RS) and contains a standard library for doing basic tasks like file-IO, etc. There are various implementations for Scheme, mostly compatible to the R7RS standard.
Swift is Apples successor of Objective-C and a statically-typed programming language with object-oriented and functional features.
Urn is a LISP dialect (LISP-1 type with a single namespace for functions & data). Urn compiles the LISP code to lua and can be used with ordinary lua 5.x or luajit.
Zig is a general-purpose language with the goal of robustness, optimality and maintanability. It is meant to be a successor to C as Rust is meant to be for C++.