The emphasis here will be upon the Cs (especially C, C++, and C#), as well as the Js (especially Java, JavaScript, and JScript) and the Ps (especially PERL, PHP, and Python).

The C family of programming languages [W] has a family tree roughly as follows:

  • C-- [W]. There are several languages lower than C but based upon C.
  • C [W]. Created in 1972 by Dennis Ritchie & Ken Thompson at Bell Labs as a derivation of the B and BCPL programming languages. Introduced systems programming. C is considered a high-level language but C is closer to assembly language than other popular high-level languages. In 1973 they rewrote UNIX in C, hence C is deeply associated with Unix, although C has applications outside of Unix. The book The C Programming Language (aka K&R or the white book) (Brian Kernighan and Dennis Ritchie. Englewood Cliffs, NJ: Prentice Hall) was very influential: The 1978 first edition covered K&R C (aka Classic C), while the 1988 second edition covered ANSI C (ANSI standard 1989, ISO standard 1990). ANSI did another standardization in 1999 (C99) but by then C++ was also around and the older ANSI C is still more prevalent. The "lowness" of C makes it powerful, flexible, fast, and efficient in its memory usage. On the other hand, the lowness makes it too detail oriented to deal with higher level systems. Part of the great power is C is its age and the vast libraries available to C programmers. Common extensions: .c, .c86, .lrf, .mrb, .pch, .ph, .pre, .qlb, .sts .
    • C++ [W]. Created in 1982 by Bjarne Stroustrup at AT&T Bell Labs. C++ added OOP to C. A statically typed free-form multi-paradigm language supporting procedural programming, data abstraction, object-oriented programming, generic programming, and multiple inheritance.
      • Java [W]. Created in 1994 by James Gosling et al. at Sun Microsystems. Object oriented, single inheritance, runs on Java virtual machine. Influenced by C, Smalltalk, and Scheme.
        • JavaScript [W]. Created in 1994 by Brendan Eich at Netscape Communications Corporation. Introduced web scripts. Interpreted. Prototype-based programming (classless object oriented programming). Still the king of client-side scripting and perfectly usable for server-side scripting —Sorry VBScript! I fold JScript and ECMAScript into here.
      • C# [W]. Created in 1999 by Microsoft. C# and .NET was Microsoft's response to Java and web services. .NET = a CLI (Common Language Infrastructure) composed of various sub-languages (including C#) that are all translated into CIL (Common Intermediate Language) bytecode called PE (portable executable) files. The .NET CLR (Common Language Runtime) would in theory run the PE on any platform (just like like the JVM). Common extension: .cs. Unlike VB, Microsoft has mostly opened C#. In 2001-12, C# became ECMA-334 C# Language Specification. In 2003, C# became ISO/IEC C# Specification 23270. This has led to 3rd parties developing suites that can compile and execute C#: DotGNU.org provides the CLI for HW and SW that includes Wintel (Windows/Intel) and beyond mostly through their Portable.NET suite. Novell.com acquired Ximian and they have a similar project called Mono. Borland.com provides an IDE for developing in C# or Delphi.
        • F# [W]. Created in 2005 by Microsoft. A functional and imperative language for .NET. Like a mix of C# and Ocaml.
        • Nemerle [W]. Created by University of Wroclaw. A functional, imperative, and objected oriented language. Like a mix of C# and ML.
      • D [W]. Created in by Walter Bright of Digital Mars. Built upon C++. Has single inheritance instead of
    • AWK [W]. Created in 1976 by Alfred V. Aho, Peter J. Weinberger, & Brian W. Kernighan. An interpreted string-processing language for UNIX. Focuses on strings, associative arrays, and regular expressions. Influenced by C.
    • csh [W]. Created in 1979 by Bill Joy (creator of BSD UNIX). Not a programming language but a Unix shell made by Bill Joy (who created BSD Unix) to make the shell more C-like.
    • Objective C [W] = Objective-C = ObjC = Obj-C. Created in 1986 by Brad Cox. An strict super set of C, i.e. C code can be compiled with an Objective-C compiler but not with a C++ compiler. Object oriented. Dynamically typed. For Mac OS X and GNUstep.
    • PERL [W]. Created in 1987 by Larry Wall. An interpreted procedural programming language influenced by C, csh, and AWK. Part of LAMP (Linux, Apache, MySQL, PERL/PHP/Python).
    • Python [W].  Created in 1991 by Guido van Rossum. Very object oriented. Interpreted. Dynamically typed. Has some Functional. Open source. Influenced by Modula and C. Uses: scripting, application scripting, www, ASP. Part of LAMP (Linux, Apache, MySQL, PERL/PHP/Python).
    • Clik [W]. Created in 1994 at MIT. A general-purpose programming language designed for multi-threaded parallel programming and based upon ANSI C.
    • PHP [W]. Created in 1994 by Rasmus Lerdorf. An open-source language for server-side applications and other software. Influenced by C, PERL, and Java.


GeorgeHernandez.comSome rights reserved