This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
Programming language lists |
---|
This is a record of notable programming languages, by decade.
Year | Name | Chief developer, company | Predecessor(s) |
---|---|---|---|
1804 | Jacquard machine | Joseph Marie Jacquard | none (unique language) |
1879 | Begriffsschrift | Gottlob Frege | none (unique language) |
1943–45 | Plankalkül (year of conceptualization) | Konrad Zuse | none (unique language) |
1943–46 | ENIAC coding system | John von Neumann, John Mauchly, J. Presper Eckert and Herman Goldstine after Alan Turing. The first programmers of ENIAC were Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Meltzer, Fran Bilas, and Ruth Lichterman. | none (unique language) |
1946 | ENIAC Short Code | Richard Clippinger and John von Neumann after Alan Turing | none (unique language) |
1947–52 | ARC/Birkbeck Assembler | Kathleen Booth | ENIAC Short Code [1] |
1948 | Plankalkül (year of concept publication) | Konrad Zuse | none (unique language) |
1949 | EDSAC Initial Orders | David Wheeler | ENIAC coding system |
1949 | Short Code (originally known as Brief Code) | John Mauchly and William F. Schmitt | ENIAC Short Code |
Year | Name | Chief developer, company | Predecessor(s) |
Year | Name | Chief developer, company | Predecessor(s) |
---|---|---|---|
1950 | Short Code (for UNIVAC I) | William F. Schmitt | Short Code |
1951 | Superplan | Heinz Rutishauser | Plankalkül |
1951 | ALGAE | Edward A. Voorhees and Karl Balke | none (unique language) |
1951 | Intermediate Programming Language | Arthur Burks | Short Code |
1951 | Boehm unnamed coding system | Corrado Böhm | CPC Coding scheme |
1951 | Klammerausdrücke | Konrad Zuse | Plankalkül |
1951 | Stanislaus (Notation) | Fritz Bauer | none (unique language) |
1951 | Sort Merge Generator | Betty Holberton | none (unique language) |
1952 | Short Code (for UNIVAC II) | Albert B. Tonik, [2] J. R. Logan | Short Code (for UNIVAC I) |
1952 | A-0 | Grace Hopper | Short Code |
1952 | Glennie Autocode | Alick Glennie after Alan Turing | CPC Coding scheme |
1952 | Operator programming | Alexey Andreevich Lyapunov with the participation Kateryna Yushchenko | MESM |
1952 | Editing Generator | Milly Koss | SORT/MERGE |
1952 | COMPOOL | RAND/SDC | none (unique language) |
1953 | Speedcoding | John W. Backus | none (unique language) |
1953 | READ/PRINT | Don Harroff, James Fishman, George Ryckman | none (unique language) |
1954 | Laning and Zierler system | Laning, Zierler, Adams at MIT Project Whirlwind | none (unique language) |
1954 | Mark I Autocode | Tony Brooker | Glennie Autocode |
1954–55 | FORTRAN (concept) | Team led by John W. Backus at IBM | Speedcoding |
1954 | ARITH-MATIC | Team led by Grace Hopper at UNIVAC | A-0 |
1954 | MATH-MATIC | Team led by Charles Katz | A-0 |
1954 | MATRIX MATH | H G Kahrimanian | none (unique language) |
1954 | IPL I (concept) | Allen Newell, Cliff Shaw, Herbert A. Simon | none (unique language) |
1955 | Address programming language | Kateryna Yushchenko | Operator programming – Alexey Andreevich Lyapunov & Kateryna Yushchenko & MESM |
1955 | FLOW-MATIC | Team led by Grace Hopper at UNIVAC | A-0 |
1955 | BACAIC | M. Grems and R. Porter | |
1955 | PACT I | SHARE | FORTRAN, A-2 |
1955 | Freiburger Code [3] [4] | University of Freiburg | — |
1955–56 | Sequentielle Formelübersetzung | Fritz Bauer and Karl Samelson | Boehm |
1955–56 | IT | Team led by Alan Perlis | Laning and Zierler |
1955 | IBM | ||
1958 | IPL II (implementation) | Allen Newell, Cliff Shaw, Herbert A. Simon | IPL I |
1956–58 | LISP (concept) | John McCarthy | IPL |
1957 | COMTRAN | Bob Bemer | FLOW-MATIC |
1957 | GEORGE | Charles Leonard Hamblin | none (unique language) |
1957 | FORTRAN I (implementation) | John W. Backus at IBM | FORTRAN |
1957–58 | UNICODE | Remington Rand UNIVAC | MATH-MATIC |
1957 | COMIT (concept) | Victor Yngve | none (unique language) |
1958 | FORTRAN II | Team led by John W. Backus at IBM | FORTRAN I |
1958 | ALGOL 58 (IAL) | ACM/GAMM | FORTRAN, IT, Sequentielle Formelübersetzung |
1958 | IPL V | Allen Newell, Cliff Shaw, Herbert A. Simon | IPL II |
1959 | APT | Douglas T. Ross | |
1959 | FACT | Fletcher R. Jones, Roy Nutt, Robert L. Patrick | none (unique language) |
1959 | COBOL (concept) | The CODASYL Committee | FLOW-MATIC, COMTRAN, FACT |
1959 | JOVIAL | Jules Schwartz at SDC | ALGOL 58 |
1959 | LISP (implementation) | Steve Russell | IPL |
1959 | MAD – Michigan Algorithm Decoder | Bruce Arden, Bernard Galler, and Robert M. Graham | ALGOL 58 |
1959 | TRAC (concept) | Calvin Mooers | |
Year | Name | Chief developer, company | Predecessor(s) |
Year | Name | Chief developer, company | Predecessor(s) |
---|---|---|---|
1960 | ALGOL 60 | ALGOL 58 | |
1960 | COBOL 61 (implementation) | The CODASYL Committee | FLOW-MATIC, COMTRAN |
1961 | COMIT (implementation) | Victor Yngve | none (unique language) |
1961 | GPSS | Geoffrey Gordon, IBM | none (unique language) |
1962 | FORTRAN IV | IBM | FORTRAN II |
1962 | APL (concept) | Kenneth E. Iverson | none (unique language) |
1962 | Simula (concept) | Ole-Johan Dahl (mostly) | ALGOL 60 |
1962 | SNOBOL | Ralph Griswold, et al. | FORTRAN II, COMIT |
1963 | Combined Programming Language (CPL) (concept) | Barron, Christopher Strachey, et al. | ALGOL 60 |
1963 | SNOBOL3 | Griswold, et al. | SNOBOL |
1963 | ALGOL 68 (concept) | Adriaan van Wijngaarden, et al. | ALGOL 60 |
1963 | JOSS I | Cliff Shaw, RAND | ALGOL 58 |
1964 | MIMIC | H. E. Petersen, et al. | MIDAS |
1964 | COWSEL | Rod Burstall, Robin Popplestone | CPL, LISP |
1964 | PL/I (concept) | IBM | ALGOL 60, COBOL, FORTRAN |
1964 | Basic Assembly Language | IBM | Assembly language |
1964 | BASIC | John George Kemeny, Thomas Eugene Kurtz at Dartmouth College | FORTRAN II, JOSS |
1964 | IBM RPG | IBM | FARGO |
1964 | Mark-IV | Informatics | |
1964 | Speakeasy-2 | Stanley Cohen at Argonne National Laboratory | Speakeasy |
1964 | TRAC (implementation) | Calvin Mooers | |
1964 | P′′ | Corrado Böhm | none (unique language) |
1964? | IITRAN | ||
1965 | RPG II | IBM | FARGO, RPG |
1965 | MAD/I (concept) | University of Michigan | MAD, ALGOL 60, PL/I |
1965 | TELCOMP | BBN | JOSS |
1965 | Atlas Autocode | Tony Brooker, Derrick Morris at Manchester University | ALGOL 60, Autocode |
1965 | PL360 (concept) | Niklaus Wirth | ALGOL 60, ESPOL |
1966 | JOSS II | Chuck Baker, RAND | JOSS I |
1966 | ALGOL W | Niklaus Wirth, C. A. R. Hoare | ALGOL 60 |
1966 | FORTRAN 66 | John Backus and his team | FORTRAN IV |
1966 | ISWIM (concept) | Peter J. Landin | LISP |
1966 | CORAL 66 | I. F. Currie, M. Griffiths | ALGOL 60 |
1966 | APL (implementation) [5] | Kenneth E. Iverson | none (unique language) |
1967 | BCPL | Martin Richards | CPL |
1967 | MUMPS | Massachusetts General Hospital | FORTRAN, TELCOMP |
1967 | Simula 67 (implementation) | Ole-Johan Dahl, Bjørn Myhrhaug, Kristen Nygaard at Norsk Regnesentral | ALGOL 60 |
1967 | Interlisp | D.G. Bobrow and D.L. Murphy | Lisp |
1967 | EXAPT | Herwart Opitz, Wilhelm Simon, Günter Spur, and Gottfried Stute at RWTH Aachen University and TU Berlin | APT |
1967 | SNOBOL4 | Ralph Griswold, et al. | SNOBOL3 |
1967 | XPL | William M. McKeeman, et al. at University of California, Santa Cruz J. J. Horning, et al. at Stanford University | PL/I |
1968 | ALGOL 68 (UNESCO/IFIP standard) | Adriaan van Wijngaarden, Barry J. Mailloux, John E. L. Peck and Cornelis H. A. Koster, et al. | ALGOL 60 |
1968 | POP-1 | Rod Burstall, Robin Popplestone | COWSEL |
1968 | DIBOL-8 | DEC | DIBOL |
1968 | Forth (concept) | Moore | |
1968 | Logo | Wally Feurzeig, Seymour Papert, Cynthia Solomon | LISP |
1968 | MAPPER | Unisys | CRT RPS |
1968 | REFAL (implementation) | Valentin Turchin | none (unique language) |
1968 | TTM (implementation) | Steven Caine and E. Kent Gordon, California Institute of Technology | GAP, GPM |
1968 | PILOT | John Amsden Starkweather, University of California, San Francisco | Computest |
1968 | PL360 (implementation) | Niklaus Wirth | ALGOL 60, ESPOL |
1968 | PL/S (as Basic Systems Language) | IBM | Assembly language |
1969 | PL/I (implementation) | IBM | ALGOL 60, COBOL, FORTRAN |
1969 | B | Ken Thompson, with contributions from Dennis Ritchie | Fortran [6] |
1969 | Polymorphic Programming Language (PPL) | Thomas A. Standish at Harvard University | |
1969 | SETL | Jack Schwartz at Courant Institute of Mathematical Sciences | ALGOL 60 |
1969 | TUTOR | Paul Tenczar & University of Illinois at Urbana–Champaign | |
1969 | Edinburgh IMP | Edinburgh University | ALGOL 60, Autocode, Atlas Autocode |
Year | Name | Chief developer, company | Predecessor(s) |
Year | Name | Chief developer, company | Predecessor(s) |
---|---|---|---|
1990 | Sather | Steve Omohundro | Eiffel |
1990 | AMOS BASIC | François Lionet and Constantin Sotiropoulos | STOS BASIC |
1990 | AMPL | Robert Fourer, David Gay and Brian Kernighan at Bell Laboratories | |
1990 | Object Oberon | H Mössenböck, J Templ, R Griesemer | Oberon |
1990 | J | Kenneth E. Iverson, Roger Hui at Iverson Software | APL, FP |
1990 | Haskell | Miranda, Clean | |
1990 | EuLisp | Common Lisp, Scheme | |
1990 | Z shell (zsh) | Paul Falstad at Princeton University | ksh |
1990 | SKILL | T. J. Barnes at Cadence Design Systems | Franz Lisp |
1991 | GNU E | David J. DeWitt, Michael J. Carey | C++ |
1991 | Oberon-2 | Hanspeter Mössenböck, Niklaus Wirth | Object Oberon |
1991 | Oz | Gert Smolka and his students | Prolog |
1991 | Q | Albert Gräf | |
1991 | Python | Guido van Rossum | Perl, ABC, C |
1991 | Visual Basic | Alan Cooper, sold to Microsoft | QuickBASIC |
1992 | Borland Pascal | Turbo Pascal OOP | |
1992 | Dylan | Many people at Apple Computer | Common Lisp, Scheme |
1992 | S-Lang | John E. Davis | PostScript |
1993? | Self (implementation) | Sun Microsystems | Smalltalk |
1993 | Amiga E | Wouter van Oortmerssen | DEX, C, Modula-2 |
1993 | Brainfuck | Urban Müller | P'′ |
1993 | LiveCode Transcript | HyperTalk | |
1993 | AppleScript | Apple Computer | HyperTalk |
1993 | K | Arthur Whitney | APL, Lisp |
1993 | Lua | Roberto Ierusalimschy et al. at Tecgraf, PUC-Rio | Scheme, SNOBOL, Modula, CLU, C++ |
1993 | R | Robert Gentleman and Ross Ihaka | S |
1993 | ZPL | Chamberlain et al. at University of Washington | C |
1993 | NewtonScript | Walter Smith | Self, Dylan |
1993 | Euphoria | Robert Craig | SNOBOL, AWK, ABC, Icon, Python |
1994 | Claire | Yves Caseau | Smalltalk, SETL, OPS5, Lisp, ML, C, LORE, LAURE |
1994 | ANSI Common Lisp | Common Lisp | |
1994 | RAPID | ABB | ARLA |
1994 | Pike | Fredrik Hübinette et al. at Linköping University | LPC, C, μLPC |
1994 | ANS Forth | Elizabeth Rather, et al. | Forth |
1995 | Ada 95 | S. Tucker Taft, et al. at Intermetrics | Ada 83 |
1995 | Borland Delphi | Anders Hejlsberg at Borland | Borland Pascal |
1995 | ColdFusion (CFML) | Allaire | |
1995 | Java | James Gosling at Sun Microsystems | C, Simula 67, C++, Smalltalk, Ada 83, Objective-C, Mesa |
1995 | LiveScript | Brendan Eich at Netscape | Self, C, Scheme |
1995 | Mercury | Zoltan Somogyi at University of Melbourne | Prolog, Hope, Haskell |
1995 | PHP | Rasmus Lerdorf | Perl |
1995 | Ruby | Yukihiro Matsumoto | Smalltalk, Perl |
1995 | JavaScript | Brendan Eich at Netscape | LiveScript |
1995 | Racket | Matthew Flatt at Rice University | Scheme, Lisp |
1996 | CSS | Håkon Wium Lie and Bert Bos | SGML |
1996 | Curl | David Kranz, Steve Ward, Chris Terman at MIT | Lisp, C++, Tcl/Tk, TeX, HTML |
1996 | Lasso | Blue World Communications | |
1996 | Perl Data Language (PDL) | Karl Glazebrook, Jarle Brinchmann, Tuomas Lukka, and Christian Soeller | APL, Perl |
1996 | VBScript | Microsoft | Visual Basic |
1996 | OCaml | INRIA | Caml Light, Standard ML |
1996 | NetRexx | Mike Cowlishaw | REXX |
1997 | Component Pascal | Oberon Microsystems | Oberon-2 |
1997 | E | Mark S. Miller | Joule, Original-E |
1997 | Pico | Free University of Brussels | Scheme |
1997 | Squeak | Alan Kay, et al. at Apple Computer | Smalltalk-80, Self |
1997 | ECMAScript | ECMA TC39-TG1 | JavaScript |
1997 | F-Script | Philippe Mougin | Smalltalk, APL, Objective-C |
1997 | ISLISP | ISO Standard ISLISP | Common Lisp |
1997 | Tea | Jorge Nunes | Java, Scheme, Tcl |
1997 | REBOL | Carl Sassenrath, Rebol Technologies | Self, Forth, Lisp, Logo |
1998 | Logtalk | Paulo Moura (then at University of Coimbra) | Prolog |
1998 | ActionScript | Gary Grossman | ECMAScript |
1998 | Standard C++ | ANSI/ISO Standard C++ | C++, Standard C, C |
1998 | PureBasic | Frederic Laboureur, Fantaisie Software | |
1998 | UnrealScript | Tim Sweeney at Epic Games | C++, Java |
1998 | XSLT (+ XPath) | W3C, James Clark | DSSSL |
1998 | Xojo (REALbasic at the time) | Xojo, Andrew Barry | Visual Basic |
1999 | C99 | C99 ISO/IEC 9899:1999 | C90 |
1999 | Gambas | Benoît Minisini | Visual Basic, Java |
1999 | Game Maker Language (GML) | Mark Overmars | Game Maker |
1999 | Harbour | Antonio Linares | dBase, Clipper |
Year | Name | Chief developer, company | Predecessor(s) |
Year | Name | Chief developer, company | Predecessor(s) |
---|---|---|---|
2000 | Join Java | G Stewart von Itzstein | Java |
2000 | DarkBASIC | The Game Creators | |
2000 | C# | Anders Hejlsberg, Microsoft (ECMA) | C, C++, Java, Delphi, Modula-2 |
2001 | Joy | Manfred von Thun | FP, Forth |
2001 | AspectJ | Gregor Kiczales, Xerox PARC | Java, Common Lisp |
2001 | D | Walter Bright, Digital Mars | C, C++, C#, Java |
2001 | Processing | Casey Reas and Benjamin Fry | Java, C, C++ [9] |
2001 | Visual Basic .NET | Microsoft | Visual Basic |
2001 | GDScript (GDS) | Juan Linietsky, Ariel Manzur (OKAM Studio) | Godot |
2001 | Shakespeare Programming Language | Jon Åslund, Karl Hasselström | |
2002 | Io | Steve Dekorte | Self, NewtonScript, Lua |
2002 | Gosu | Guidewire Software | GScript |
2002 | Scratch | Mitchel Resnick, John Maloney, Natalie Rusk, Evelyn Eastmond, Tammy Stern, Amon Millner, Jay Silver, and Brian Silverman | Logo, Smalltalk, Squeak, E-Toys, HyperCard, AgentSheets, StarLogo, Tweak |
2003 | Nix | Eelco Dolstra | Miranda/SASL, Haskell |
2003 | Nemerle | University of Wrocław | C#, ML, MetaHaskell |
2003 | Factor | Slava Pestov | Joy, Forth, Lisp |
2003 | Scala | Martin Odersky | Smalltalk, Java, Haskell, Standard ML, OCaml |
2003 | C++03 | C++ ISO/IEC 14882:2003 | C++, Standard C, C |
2003 | Squirrel | Alberto Demichelis | Lua |
2003 | Boo | Rodrigo B. de Oliveira | Python, C# |
2004 | Subtext | Jonathan Edwards | none (unique language) |
2004 | Alma-0 | Krzysztof Apt, Centrum Wiskunde & Informatica | none (unique language) |
2004 | FreeBASIC | Andre Victor | QBasic |
2004 | Groovy | James Strachan | Java |
2004 | Little b | Aneil Mallavarapu, Harvard Medical School, Department of Systems Biology | Lisp |
2005 | Fantom | Brian Frank, Andy Frank | C#, Scala, Ruby, Erlang |
2005 | F# | Don Syme, Microsoft Research | OCaml, C#, Haskell |
2005 | Haxe | Nicolas Cannasse | ActionScript, OCaml, Java |
2005 | Oxygene | RemObjects Software | Object Pascal, C# |
2005 | PWCT | Mahmoud Samir Fayed | none (unique language) |
2005 | Seed7 | Thomas Mertes | none (unique language) |
2005 | fish | Thomas Mertes | none (unique language) |
2006 | Cobra | Chuck Esterbrook | Python, C#, Eiffel, Objective-C |
2006 | Windows PowerShell | Microsoft | C#, ksh, Perl, CL, DCL, SQL |
2006 | OptimJ | Ateji | Java |
2006 | Fortress | Guy L. Steele Jr. | Scala, ML, Haskell |
2006 | Vala | GNOME | C# |
2007 | Ada 2005 | Ada Rapporteur Group | Ada 95 |
2007 | Agda | Ulf Norell | Coq, Epigram, Haskell |
2007 | QB64 | Galleon, QB64Team | QBasic |
2007 | Clojure | Rich Hickey | Lisp, ML, Haskell, Erlang |
2007 | LOLCODE | Adam Lindsay | none (unique language) |
2007 | Oberon-07 | Wirth | Oberon |
2007 | Swift (parallel scripting language) | University of Chicago, Argonne National Laboratory | |
2008 | Nim | Andreas Rumpf | Python, Lisp, Object Pascal |
2008 | Genie | Jamie McCracken | Python, Boo, D, Object Pascal |
2008 | Pure | Albert Gräf | Q |
2009 | Chapel | Brad Chamberlain, Cray Inc. | HPF, ZPL |
2009 | Go | C, Oberon, Limbo, Smalltalk | |
2009 | CoffeeScript | Jeremy Ashkenas | JavaScript, Ruby, Python, Haskell |
2009 | Idris | Edwin Brady | Haskell, Agda, Coq |
2009 | Parasail | S. Tucker Taft, AdaCore | Modula, Ada, Pascal, ML |
2009 | Whiley | David J. Pearce | Java, C, Python |
2009 | Dafny | K. Rustan M. Leino | Java, Spec# |
Year | Name | Chief developer, company | Predecessor(s) |
Year | Name | Chief developer, company | Predecessor(s) |
---|---|---|---|
2010 | Rust | Graydon Hoare, Mozilla | Alef, C++, Camlp4, Erlang, Hermes, Limbo, Napier, Napier88, Newsqueak, NIL, Sather, Standard ML |
2011 | C11 | C11 ISO/IEC 9899:2011 | C99 |
2011 | Ceylon | Gavin King, Red Hat | Java |
2011 | Dart | Java, JavaScript, CoffeeScript, Go | |
2011 | C++11 | C++ ISO/IEC 14882:2011 | C++, Standard C, C |
2011 | Kotlin | JetBrains | Java, Scala, Groovy, C#, Gosu |
2011 | Red | Nenad Rakočević | Rebol, Scala, Lua |
2011 | Opa | MLstate | OCaml, Erlang, JavaScript |
2012 | Elixir | José Valim | Erlang, Ruby, Clojure |
2012 | Elm | Evan Czaplicki | Haskell, Standard ML, OCaml, F# |
2012 | TypeScript | Anders Hejlsberg, Microsoft | JavaScript, CoffeeScript |
2012 | Julia | Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman,MIT | MATLAB, Lisp,C, Fortran, Mathematica [10] (strictly its Wolfram Language), Python, Perl, R, Ruby, Lua [11] |
2012 | P | Vivek Gupta, Ethan Jackson, Shaz Qadeer, Sriram Rajamani, Microsoft | |
2012 | Ada 2012 | ARA and Ada Europe (ISO/IEC 8652:2012) | Ada 2005, ISO/IEC 8652:1995/Amd 1:2007 |
2013 | P4 | P4 Language Consortium (P4.org) | |
2013 | PureScript | Phil Freeman | Haskell |
2013 | Hopscotch | Hopscotch Technologies | Scratch |
2013 | Cuneiform | Jörgen Brandt | Swift (the parallel scripting language) |
2013 | Lean | Microsoft Research | ML, Coq, Haskell, Agda |
2013 | Hy | Paul Tagliamonte | Python, Lisp, Clojure |
2014 | Crystal | Ary Borenszweig, Manas Technology Solutions | Ruby, C, Rust, Go, C#, Python |
2014 | Hack | PHP | |
2014 | Swift | Apple Inc. | Objective-C, Rust, Haskell, Ruby, Python, C#, CLU |
2014 | C++14 | C++ ISO/IEC 14882:2014 | C++11, Standard C, C |
2014 | Solidity | Gavin Wood, Ethereum | JavaScript, C++, Python |
2015 | Raku | Larry Wall, The Rakudo Team | Perl, Haskell, Python, Ruby |
2015 | Zig | Andrew Kelley | C, C++, LLVM IR, Go, Rust |
2016 | Reason | Jordan Walke | JavaScript, OCaml [12] |
2016 | Ring | Mahmoud Samir Fayed | Lua, Python, Ruby, C, C#, BASIC, QML, xBase, Supernova [13] |
2017 | C++17 | C++ ISO/IEC 14882:2017 | C++14, Standard C, C |
2017 | AssemblyScript | The AssemblyScript Project [14] | JavaScript, TypeScript, WebAssembly |
2017 | Ballerina | WSO2, Open Source [15] | Java, Javascript, Go, Rust, C# |
2017 | Q# | Microsoft | C#, F#, Python |
2018 | C17 | ISO/IEC 9899:2018 | C11 |
2018 | Fortran 2018 | ISO/IEC JTC1/SC22/WG5 N2150:2018 | Fortran 2008 |
2019 | Bosque | Mark Marron, Microsoft | JavaScript, TypeScript, ML |
2019 | V (Vlang) | Alexander Medvednikov | C, Go, Kotlin, Oberon, Python, Rust, Swift |
Year | Name | Chief developer, company | Predecessor(s) |
Year | Name | Chief developer, company | Predecessor(s) |
---|---|---|---|
2020 | C++20 | C++ ISO/IEC 14882:2020 | C++17, Standard C, C |
2021 | Microsoft Power Fx | Vijay Mital, Robin Abraham, Shon Katzenberger, Darryl Rubin, Microsoft | Excel formulas |
2022 | Carbon | C++, Rust | |
2023 | Mojo | Modular | Python |
2023 | Fortran 2023 | ISO/IEC JTC1/SC22 2023 | Fortran 2018 |
2024 | Gleam | Louis Pilfold, Fly.io | Erlang, Elixir, Elm, Rust, Go, OCaml |
2024 | C++23 | C++ ISO/IEC 14882:2024 | C++20, Standard C, C |
Year | Name | Chief developer, company | Predecessor(s) |
Bjarne Stroustrup is a Danish computer scientist, known for the development of the C++ programming language. He led the Large-scale Programming Research department at Bell Labs, served as a professor of computer science at Texas A&M University, and spent over a decade at Morgan Stanley while also being a visiting professor at Columbia University. Since 2022 he has been a full professor at Columbia.
Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of ALGOL 60, and was also influenced by the design of Simscript.
Yacc is a computer program for the Unix operating system developed by Stephen C. Johnson. It is a lookahead left-to-right rightmost derivation (LALR) parser generator, generating a LALR parser based on a formal grammar, written in a notation similar to Backus–Naur form (BNF). Yacc is supplied as a standard utility on BSD and AT&T Unix. GNU-based Linux distributions include Bison, a forward-compatible Yacc replacement.
C++ is a high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C programming language, it has since expanded significantly over time; as of 1997, C++ has object-oriented, generic, and functional features, in addition to facilities for low-level memory manipulation for systems like microcomputers or to make operating systems like Linux or Windows. It is usually implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Embarcadero, Oracle, and IBM.
The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.
Arduino is an Italian open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under a CC BY-SA license, while the software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the manufacture of Arduino boards and software distribution by anyone. Arduino boards are available commercially from the official website or through authorized distributors.
QuickCheck is a software library, a combinator library, originally written in the programming language Haskell, designed to assist in software testing by generating test cases for test suites – an approach known as property testing.
Haskell is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell has pioneered several programming language features such as type classes, which enable type-safe operator overloading, and monadic input/output (IO). It is named after logician Haskell Curry. Haskell's main implementation is the Glasgow Haskell Compiler (GHC).
Probabilistic programming (PP) is a programming paradigm in which probabilistic models are specified and inference for these models is performed automatically. It represents an attempt to unify probabilistic modeling and traditional general purpose programming in order to make the former easier and more widely applicable. It can be used to create systems that help make decisions in the face of uncertainty.
F* is a high-level, multi-paradigm, functional and object-oriented programming language inspired by the languages ML, Caml, and OCaml, and intended for program verification. It is a joint project of Microsoft Research, and the French Institute for Research in Computer Science and Automation (Inria). Its type system includes dependent types, monadic effects, and refinement types. This allows expressing precise specifications for programs, including functional correctness and security properties. The F* type-checker aims to prove that programs meet their specifications using a combination of satisfiability modulo theories (SMT) solving and manual proofs. For execution, programs written in F* can be translated to OCaml, F#, C, WebAssembly, or assembly language. Prior F* versions could also be translated to JavaScript.
Julia is a high-level, general-purpose dynamic programming language, still designed to be fast and productive, for e.g. data science, artificial intelligence, machine learning, modeling and simulation, most commonly used for numerical analysis and computational science.
WebAssembly (Wasm) defines a portable binary-code format and a corresponding text format for executable programs as well as software interfaces for facilitating communication between such programs and their host environment.
Ballerina is an open source general-purpose programming language designed by WSO2 for cloud-era application programmers.
Reason, also known as ReasonML, is a general-purpose, high-level, multi-paradigm, functional and object-oriented programming language and syntax extension and toolchain for OCaml created by Jordan Walke, who also created the React framework, at Facebook. Reason uses many syntax elements from JavaScript, compiles to native code using OCaml's compiler toolchain, and can compile to JavaScript using the ReScript compiler.
Microsoft, a tech company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.
Carbon is an experimental programming language designed for connectiveness with C++. The project is open-source and was started at Google. Google engineer Chandler Carruth first introduced Carbon at the CppNorth conference in Toronto in July 2022. He stated that Carbon was created to be a C++ successor. The language is expected to have an experimental MVP version 0.1 in 2025 and a production-ready version 1.0 after 2027.
Daniel Wirtz (@dcodeIO) - Author of AssemblyScript