Jump to content

List of C-family programming languages: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
date
Xan2 (talk | contribs)
mNo edit summary
Line 25: Line 25:
| [[Alef (programming language)|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 language|concurrent programming]].
| [[Alef (programming language)|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 language|concurrent programming]].
|-
|-
| [[Limbo (programming language)|Limbo]] || ? || || Limbo succeeded Alef and is used in [[Inferno (operating system)|Inferno]] as Alef was used in Plan9.
| [[Limbo (programming language)|Limbo]] || 1995 || || Limbo succeeded Alef and is used in [[Inferno (operating system)|Inferno]] as Alef was used in Plan9.
|-
|-
| [[PHP]] || 1995 || [[Rasmus Lerdorf]] || Widely used as a server-side HTML scripting language. Perl-like syntax.
| [[PHP]] || 1995 || [[Rasmus Lerdorf]] || Widely used as a server-side HTML scripting language. Perl-like syntax.

Revision as of 20:41, 31 March 2012

The languages in this article are languages related to or derived from 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 Created at 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.
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.
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.
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.
ECMAscript 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 based on C and Java syntax, it is primarily a functional programming language based on Self and Scheme.
NQC ~1998 David Baum An embedded systems programming language for the Lego Mindstorms RCX 1.x platform; indended as a drop-in replacement for the LabVIEW-based ROBOLAB IDE. Later replaced with NXC, an enhanced version created for the Mindstorms NXT platform.
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-sharp.
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.
LSL 2003 ? Created for the Second Life virtual world by Linden Lab.
Go 2007 Rob Pike, Ken Thompson, and Rob 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.
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.
C0 2010 ? A variation on C that introduces some C++ concepts such as classes, but avoids pointers and introduces extra boundary checks on arrays. Created for CMU introductory computer courses. [1]

References