Language |
Year begun |
Created by (at) |
Brief description, relationship to C |
References
|
Agora |
1993 |
Dr. Patrick Steyaert |
A reflective, prototype-based, object-oriented programming language that is based exclusively on message passing and not delegation. |
|
Alef |
1995 |
Phil Winterbottom (Bell Labs) |
Created for systems programming on the Plan 9 from Bell Labs operating system; published in 1995 and eventually abandoned. It provided substantial language support for concurrent programming. |
[3]
|
Amiga E |
1993 |
Wouter van Oortmerssen |
A combination of many features from several languages, but follows the original C language most closely in basic concepts. |
|
AMPL |
1985 |
Robert Fourer, David Gay and Brian Kernighan (Bell Labs) |
An algebraic modeling language with elements of a scripting language. |
|
AWK |
1977 |
Alfred Aho, Peter Weinberger & Brian Kernighan (Bell Labs) |
Designed for text processing and typically used as a data extraction and reporting tool. |
[4]
|
Axum |
2009 |
Microsoft |
A domain specific concurrent language, based on the actor model. |
|
BCPL |
1966 |
Martin Richards |
A procedural, imperative, and structured language. Precursor to C. |
[5]
|
C |
1969-1973 |
Dennis Ritchie (Bell Labs) |
Enhancement of Ken Thompson's B language. |
[2]
|
C shell/tcsh |
1978 |
Bill Joy (UC Berkeley) |
Scripting language and standard Unix shell. |
|
C* |
1987 |
Thinking Machines |
Object-oriented, data-parallel ANSI C superset. |
|
C++ |
1979 |
Bjarne Stroustrup (Bell Labs) |
Named as "C with Classes" and renamed C++ in 1983; it began as a reimplementation of static object orientation in the tradition of Simula 67, and through standardization and wide use has grown to encompass generic programming as well as its original object-oriented roots. |
[6][2]
|
C-- |
1997 |
Simon Peyton Jones, Norman Ramsey |
Generated mainly by compilers for very high-level languages. |
|
Cg |
2002 |
Nvidia |
Based on the C language and although they share the same syntax, some features of C were modified and new data types were added to make Cg more suitable for programming graphics processing units. This language is only suitable for GPU programming and is not a general programming language. |
|
Ch |
2001 |
Harry Cheng |
A C/C++ scripting language with extensions for shell programming and numerical computing. |
[7][8]
|
Chapel |
2009 |
Cray Inc. |
Aims to improve the programmability of parallel computers in general and the Cray Cascade system in particular. |
|
Charm |
1996 |
P. Nowosad |
An object-oriented language with similarities to the RTL/2, Pascal and C languages in addition to containing some unique features of its own. |
|
Cilk |
1994 |
MIT Laboratory for Computer Science |
General-purpose language designed for multithreaded parallel computing. |
|
CINT |
1997-1999? |
Masaharu Goto |
An interpreted version of C/C++, much in the way BeanShell is an interpreted version of Java. |
|
Claire |
1994 |
Yves Caseau |
A high-level functional and object-oriented language with rule processing abilities. |
|
Cyclone |
2001 |
Greg Morrisett (AT&T Labs) |
Intended to be a safe dialect of the C language. It is designed to avoid buffer overflows and other vulnerabilities that are endemic in C programs, without losing the power and convenience of C as a tool for system programming. |
|
C#
|
2000
|
Anders Hejlsberg
|
Developed by Microsoft in the early 2000s as a modern, object-oriented language for the .NET framework.
|
[2]
|
D |
2001 |
Walter Bright (Digital Mars) |
Based on C++, but with an incompatible syntax having traits from other C-like languages like Java and C#. |
|
Dart |
2013 |
Lars Bak and Kasper Lund (Google) |
A class-based, single inheritance, object-oriented language with C-style syntax. |
|
E
|
1997
|
Mark S. Miller, Dan Bornstein (Electric Communities)
|
Designed with secure computing in mind, accomplished chiefly by strict adherence to the object-oriented computing model.
|
|
eC |
2004 |
Jérôme Jacovella-St-Louis (Ecere) |
A super-set of C adding object-oriented features (inspired by C++), properties, dynamic modules and reflection developed as part of the Ecere SDK project, an open-source cross-platform SDK. |
|
Fantom |
2005 |
Brian Frank and Andy Frank |
An object-oriented, functional, actor concurrent with a null-able aware type system emphasizing pragmatism in building enterprise systems running on top of the JVM or the CLR or JavaScript. |
|
Fusion (formerly Ć) |
2011 |
Piotr Fusik and Adrian Matoga |
Fusion is a language based on C and C#. Aimed at crafting portable programming libraries, with syntax akin to C#. The translated code is lightweight (no virtual machine, emulation nor large runtime). |
|
Go |
2007 |
Rob Pike, Ken Thompson, and Robert Griesemer (Google) |
Released to public in 2009, it is a concurrent language with fast compilations, Java-like syntax, but no object-oriented features and strong typing. |
|
Hack |
2014 |
Julien Verlaguet, Alok Menghrajani, Drew Paroski (Facebook) |
A language for the HipHop Virtual Machine (HHVM). |
|
Handel-C |
1996 |
Oxford University Computing Laboratory |
A high-level language which targets low-level hardware, most commonly used in the programming of FPGAs. It is a rich subset of C. |
|
HolyC
|
2005
|
Terry A. Davis
|
A dialect of C for Terry's own operating system TempleOS.
|
[9][10]
|
Java |
1991 |
James Gosling (Sun Microsystems) |
Created as Oak, and released to the public in 1995. It is an OODL based inspired heavily by Objective-C, though with a syntax based somewhat on C++. Compiles to its own bytecode, and is strongly typed. |
[2]
|
JavaScript |
1995 |
Brendan Eich (Netscape) |
Created as Mocha and LiveScript, announced in 1995, shipped the next year as JavaScript. Primarily a scripting language used in Web page development as well as numerous application environments such as Adobe Flash and QtScript. Though initially based on Scheme and Self, it is primarily a prototype-based object-oriented language with a syntax based on Java.[11] Standardized as ECMAScript. |
[12][13]
|
Limbo |
1995 |
|
Limbo succeeded Alef and is used in Inferno as Alef was used in Plan9. |
|
LSL |
2003 |
Robin Liden |
Created for the Second Life virtual world by Linden Lab. |
|
Lite-C |
2007 |
Atari Inc |
A language for multimedia applications and personal computer games, using a syntax subset of the C language with some elements of the C++ language. |
|
LPC |
1995 |
Lars Pensjö |
Developed originally to facilitate MUD building on LPMuds. Though designed for game development, its flexibility has led to it being used for various purposes. |
|
Neko |
2005 |
Nicolas Cannasse (Motion-Twin) |
A high-level dynamically typed language. |
|
Nemerle |
2003 |
Kamil Skalski, Michał Moskal, Prof. Leszek Pacholski, Paweł Olszta at Wrocław University |
A general-purpose high-level statically typed language designed for platforms using the Common Language Infrastructure (.NET/Mono). |
|
nesC |
2003 |
David Gay, Philip Levis, Robert von Behren, Matt Welsh, Eric Brewer, & David Culler |
Pronounced "NES-see", it is an extension to the C language designed to embody the structuring concepts and execution model of TinyOS, an event-driven operating system designed for sensor network nodes with very limited resources. |
[14][15]
|
Newsqueak |
1988 |
Rob Pike |
A concurrent language for writing application software with interactive graphical user interfaces, the syntax and semantics are influenced by the C language, but its approach to concurrency was inspired by Communicating sequential processes (CSP). |
[16][17]
|
Nim |
2008 |
Andreas Rumpf |
An imperative, multi-paradigm, compiled language. |
|
Noop |
2009 |
Google |
Attempts to blend the best features of "old" and "new" languages, while syntactically encouraging good programming practice. |
|
Not eXactly C (NXC) |
2006 |
John Hansen |
A high-level language for the Lego Mindstorms NXT. NXC, which is short for Not eXactly C, is based on Next Byte Codes, an assembly language. NXC has a syntax like C. It is part of the BricX IDE that integrates editor, tools for interfacing with the brick, and the compiler, but supports more languages. |
[18]
|
Not Quite C (NQC) |
1998 (approx.) |
David Baum |
An embedded systems programming language, application programming interface (API), and native bytecode compiler toolkit for the Lego Mindstorms RCX platform, Cybermaster and LEGO Spybotics systems. It is intended as a drop-in replacement for the LabVIEW-based ROBOLAB IDE. It is primarily based on the C language but has specific limits, such as a maximum number of subroutines and variables allowed. Later replaced with Not eXactly C (NXC), an enhanced version created for the Mindstorms NXT platform. |
[19]
|
Oak |
1991 |
James Gosling (Sun Microsystems) |
A language created initially for Sun Microsystems set-top box project, it later evolved to become Java. |
|
Objective-C |
1986 |
Brad Cox and Tom Love |
An object-oriented dynamic language based heavily on Smalltalk. A loosely defined de facto standard library by the original developers has now largely been displaced by OpenStep FoundationKit variants. |
[6]
|
OpenCL C |
2009 |
Apple, Khronos Group |
OpenCL specifies a modified subset of the C language for writing programs to run on various compute devices, e.g., GPUs, DSPs. |
|
Perl |
1988 |
Larry Wall |
Scripting language used extensively for system administration, text processing, and web server tasks. |
[2]
|
PHP |
1995 |
Rasmus Lerdorf |
Widely used as a server-side scripting language. C-like syntax. |
[20]
|
Pike |
1994 |
Fredrik Hübinette |
An interpreted, general-purpose, high-level, cross-platform, dynamic programming language, with a syntax similar to that of C. |
|
PROMAL |
1985 |
Systems Management Associates |
A C-like language for MS-DOS, Commodore 64, and Apple II. |
|
R |
1993 |
Ross Ihaka and Robert Gentleman |
A language and software environment for statistical computing and graphics. |
[21]
|
Ratfor |
1974 |
Brian Kernighan (Bell Labs) |
A hybrid of C and Fortran, implemented as a preprocessor for environments with no easy access to C compilers. |
|
Ring |
2016 |
Mahmoud Samir Fayed |
A general-purpose dynamic language for applications development. |
[22][23][24]
|
Ruby
|
1995
|
Yukihiro Matsumoto
|
An interpreted, high-level, general-purpose language which supports multiple programming paradigms.
|
|
Rust |
2010 |
Graydon Hoare (Mozilla) |
A language empowering everyone to build reliable and efficient software. |
|
S-Lang |
1991 |
John E. Davis |
A library with a powerful interpreter that provides facilities required by interactive applications such as display/screen management, keyboard input, keymaps, etc. |
[25]
|
SA-C |
2001 |
Cameron Project |
Single Assignment C (SA-C) is designed to be directly and intuitively translatable into circuits, including FPGAs. |
|
SAC |
1994 |
(Germany) |
Development spread to several institutions in Germany, Canada, and the UK. Functional language with C syntax. |
[26]
|
Seed7 |
2005 |
Thomas Mertes |
An extensible general-purpose language. |
|
Split-C |
1993 |
? |
A parallel extension of the C language. |
|
Squirrel |
2003 |
Alberto Demichelis |
A light-weight scripting language. |
|
Swift |
2014 |
Chris Lattner (Apple) |
Swift can import any C library, optionally annotating C headers to map C types to Swift objects[27] and import libraries as Swift modules.[28] Swift has two-way bridging with Objective-C on platforms which support Apple's Objective-C runtime. Unlike Objective-C, Swift does not currently support C++ interoperation or exposing Swift types as C structs. |
|
Telescript |
1990 |
Marc Porat |
An object-oriented language. |
|
TypeScript |
2012 |
Microsoft |
JavaScript superset. |
|
Umple |
2008 |
University of Ottawa |
A language for both object-oriented programming and modeling with class diagrams and state diagrams. |
|
Unified Parallel C |
2003 |
? |
An extension of the C language designed for high-performance computing on large-scale parallel machines. |
|
V (Vlang) |
2019 |
Alexander Medvednikov |
A general-purpose statically typed compiled language for ease of use, safety, speed, and maintainable software. |
[29]
|
Zig |
2015 |
Andrew Kelley |
A general-purpose language and toolchain for maintaining robust, optimal, and reusable software. |
[30]
|