Jump to content

User:Draychev/programming languages

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Draychev (talk | contribs) at 00:47, 13 March 2016. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Sortable table
name license created paradigm influenced-by typing GC tail call
C license 1972 imperative (procedural), structured B (BCPL, CPL), ALGOL 68,Assembly, PL/I, FORTRAN Static, weak, manifest, nominal no no
C++ license 1983 procedural, functional, object-oriented, generic no maybe
Java GNU General Public License, Java Community Process 1995 object-oriented (class-based), structured, imperative, generic, reflective, concurrent yes no
Scala license 2004 functional, object-oriented, imperative, concurrent yes no
Clojure Eclipse Public License 2007 functional Common Lisp, Erlang, Haskell, ML, Prolog, Scheme, Java, Ruby dynamic, strong yes no
Kotlin Apache 2 2011 oop, Procedural_programming, procedural Java, Scala, Groovy, C#, Gosu static yes no
Ruby license 1995 object-oriented, imperative, functional, reflective yes no
Javascript license 1995 scripting, object-oriented (prototype-based), imperative, functional yes no (maybe in ES6)
Python license 1991 object-oriented, imperative, functional, procedural, reflective yes no
Go license 2009 compiled, concurrent, imperative, structured yes no
Rust license 2010 compiled, concurrent, functional, imperative, structured no no
Erlang license 1986 concurrent, functional yes yes
Haskell license 1990 functional, lazy/non-strict, modular Clean, FP, Gofer, Hope, Id, ISWIM, KRC, Lisp, Miranda, ML and Standard ML, Orwell, SASL, Scheme, SISAL, Agda, Bluespec,[1] C++11/Concepts, C#/LINQ, CAL,[citation needed] Cayenne,[2] Clean, Clojure, CoffeeScript, Curry, Elm, Epigram, Escher, F#, Frege, Hack, Idris, Isabelle, Java/Generics, LiveScript, Mercury, Omega, Perl 6, Python, Rust, Scala, Swift, Timber, Visual Basic 9.0 static, strong, inferred yes yes
Racket LGPL 1994 functional, procedural, modular, object-oriented, logic, reflective, meta Scheme, Eiffel Dynamic, strong, static yes yes
Perl GNU General Public License or Artistic License 1987 functional, imperative, object-oriented (class-based), reflective, procedural, event-driven, generic dynamic, static, gradual yes no
Swift 2014 Multi-paradigm (Protocol-oriented programming, object-oriented, functional, imperative, block structured) C#, CLU, D, Haskell, Objective-C, Python, Rust, Ruby Static, strong, inferred no no
Objective-C 1983 Reflective, class-based object-oriented C, Smalltalk static, dynamic, weak no no
Pascal depends on vendor 1970 no no
Wolfram Proprietary 1988 Julia term-rewriting, functional, procedural, array no maybe no maybe
  1. ^ Hudak et al. 2007, p. 12-38,43.
  2. ^ Hudak et al. 2007, pp. 12-45–46.