Five programming languages

Five languages were used to demonstrate the eight things programming languages do - Java, Perl, Python, REBOL, and Scheme.:

Java

Java is an object-oriented general-purpose programming language. Java’s main claim to fame is that it is (mostly) platform-independent - that is, a compiled Java program can run practically identically on any modern computer.

Applications

Initially dismissed by many “serious” programmers as a toy language useful only for “applets” in web browsers, Java is now established as a full-featured applications programming language.

“Java technology is everywhere. It’s embedded in 150 million mobile phones; it’s in PDAs and pagers; it’s inside video games, TVs, and Web sites. It’s pre-installed on personal computers. It’s even in cars and on the planet Mars.”

http://java.com/en/learn/

Date of release

1995

Status

Owned (including trademark) by Sun Microsystems

Author

James Gosling and his colleagues at Sun Microsystems

Download

http://java.sun.com

Perl

The “Practical Extraction and Reporting Language” takes the “best features from other languages, such as C, awk, sed, sh, and BASIC”. It has exceptional text processing capabilities due to its regular expression engine, and is recognised for being robust, fast, and cross-platform. Devotees proudly claim that “there’s more than one way to do it” in Perl.

Applications

While Perl is great for getting stuff done quickly it is also used to build large and sophisticated systems. With strong database support, text processing, and an extensive catalogue of code libraries Perl is one of the most popular programming language for web applications.

See http://www.perl.org/about.html

Date of release

1987

Status

Open source (GPL & Artistic License)

Author

Larry Wall

Download

The Comprehensive Perl Archive Network (CPAN) - http://www.cpan.org/

Python

Like Perl, Python has a strong following among web programmers - generally those who find Perl syntax unwieldy or hard to maintain. Where Perl coders emphasise many ways to do it, Python programmers favour clean syntax and program layout. Python is distinguished by using indentation rather than parentheses to delimit blocks of code, which guarantees that programs are laid out in a consistent manner.

Applications

Python features in the Zope application server, many of the components of Google, and the Red Hat Linux installer. Walt Disney Feature Animation and Industrial Light & Magic use Python in the production of their special effects. See http://www.python.org/community/users.html

Date of release

1991

Status

Python is copyrighted but freely usable and distributable for private and commercial use. The Open Source Initiative recognises the Python license as Open Source.

Author

Guido van Rossum

Download

http://www.python.org/

REBOL

“REBOL is not a traditional computer language like C, BASIC, or Java. Instead, REBOL was designed to solve one of the fundamental problems in computing: the exchange and interpretation of information between distributed computer systems. … REBOL can not only create a graphical user interface in one line of code, but it can also send that line as data to be processed and displayed on other Internet computer systems around the world.”

http://www.rebol.com/rebol-intro.html

Applications

As the youngest of the languages in this collection, REBOL has yet to make a huge impact but there are a number of promising developments occurring, including web servers, instant messaging systems, and database applications. And not forgetting the information exchange applications for which REBOL was invented in the first place.

Date of release

1997

Status

Free and commercial versions owned by REBOL Technologies.

Author

Carl Sassenrath

Download

http://www.rebol.com

Scheme

The venerable Scheme is a subset of the Lisp language that was originally developed for artificial intelligence applications.

“Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today.”

http://www.swiss.ai.mit.edu/~jaffer/r5rs_2.html

Applications

“Scheme is often used in computer science curricula and programming language research, due to its ability to represent many programming abstractions with its simple primitives. … Probably the most successful, and yet little-known use of Scheme is in the Document Style Semantics and Specification Language ( DSSSL ), which is an ISO standard for processing SGML documents.”

http://www.schemers.org/Documents/FAQ/

Scheme is the scripting language of the GIMP (The GNU image manipulation program) See http://www.gimp.org/

Date of release

Early 1970s

Status

There are two publicly available standards for Scheme: the “official” standard from the Institute of Electrical and Electronics Engineers and the “R(5)RS” - the Revised 5 Report on the Algorithmic Language Scheme. See http://www.schemers.org/Documents/Standards/.

Different implementations of Scheme have different license arrangements.

Authors

Guy L. Steele and Gerald Jay Sussman

Download

PLT Scheme http://www.plt-scheme.org/ was the implementation used for the examples in the article but there are many others - see http://www.schemers.org/Implementations/.