List of C-family programming languages
|This article is being considered for deletion in accordance with Wikipedia's deletion policy.
Please share your thoughts on the matter at this article's entry on the Articles for deletion page.
Feel free to edit the article, but the article must not be blanked, and this notice must not be removed, until the discussion is closed. For more information, particularly on merging or moving the article during the discussion, read the guide to deletion.
Dennis Ritchie invented the C programming language. Broadly speaking, C-family languages are those that use C-like block syntax (including curly braces to begin and end the block). The family spreads out over several programming paradigms, including procedural programming, object-oriented programming, functional programming, and generic programming, as well as having both native code and virtual machine runtime environments.
This list is in rough chronological order and describes some basics of each language.
|Language||Year started||Created by (at)||Comments|
|C||1969-1973||Dennis Ritchie (Bell Labs)||Was an enhancement of Ken Thompson's B language.|
|Ratfor||1974||Brian Kernighan (Bell Labs)||A hybrid of C and Fortran, implemented as a preprocessor for environments without easy access to C compilers.|
|C shell/tcsh||late 1970s||Bill Joy (UC Berkeley)||Scripting language and standard Unix shell.|
|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.|
|AMPL||1985||Robert Fourer, David Gay and Brian Kernighan (Bell Labs)||It is an algebraic modeling language with elements of a scripting language.|
|Objective-C||1986||Brad Cox and Tom Love||It is 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 variations on the OpenStep FoundationKit.|
|C*||1987||Thinking Machines||object-oriented, data-parallel superset of ANSI C|
|Perl||1988||Larry Wall||Scripting language used extensively for system administration, text processing, and web server tasks.|
|Java||1991||James Gosling (Sun Microsystems)||Created as the 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++. It also compiles to its own bytecode, a standard part of the language specification. It is strongly typed, a feature that is enforced by the VM.|
|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.|
|SAC||1994||(Germany)||Development spread to several institutions in Germany, Canada, and the UK. Functional language with C syntax.|
|Alef||1995||Phil Winterbottom (Bell Labs)||Created for systems programming on the Plan 9 from Bell Labs operating system; it was published in 1995 but eventually abandoned. It provided substantial language support for concurrent programming.|
|Limbo||1995||Limbo succeeded Alef and is used in Inferno as Alef was used in Plan9.|
|PHP||1995||Rasmus Lerdorf||Widely used as a server-side HTML scripting language. Perl-like syntax.|
|C--||1997||Simon Peyton Jones, Norman Ramsey||generated mainly by compilers for very high-level languages|
|NQC||~1998||David Baum||An embedded systems programming language for the Lego Mindstorms RCX 1.x platform; intended as a drop-in replacement for the LabVIEW-based ROBOLAB IDE. Later replaced with NXC, an enhanced version created for the Mindstorms NXT platform.|
|C#||1999||Anders Hejlsberg (Microsoft)||Created under the name "Cool", it is syntactically very similar to Java, though with a Smalltalk-like unified type system.|
|Ch||2001||Harry Cheng||A C/C++ scripting language with extensions for shell programming and numerical computing.|
|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#.|
|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.|
|LSL||2003||?||Created for the Second Life virtual world by Linden Lab.|
|Squirrel||2003||Alberto Demichelis||A light-weight scripting language|
|Rust||2006||Graydon Hoare||Rust emphasizes a concurrent-actor style.|
|Vala||2006||Jürg Billeter, Raffaele Sandrini||Vala adds objects to C to support GNOME developers.|
|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.|
|OpenCL C||2009||Apple, Khronos Group||OpenCL specifies a modified subset of the C programming language for writing programs to run on various compute devices (e.g. GPUs, DSPs)|
|C0||2010||Rob Arnold (CMU)||A safe subset of C with checked pointers and bounds-checked arrays. Created for CMU introductory computer courses.|