Computer Languages

By Xah Lee. Date: . Last updated: .

The Measure of a Language

Computer languages have a solid mathematical foundation. As such tools, the more solid their technical properties, the better they are. Because they are not 100% mathematics, their validity or usefulness is partially dependent on their user. C gurus may beat Lisper wannabes but that does not mean C is a superior language. The fact that C is popular not mean C is superior. The basis of computer languages's merit lie in their mathematical properties. It is this metric, that we should use as a guide for direction.

As a analogy, we measure the quality of a hammer by scientific principles: ergonomics, material, weight, hardness, construction, statistical analysis of accidents and productivity …, not by vogue or lore. If we go by feelings and preferences, hammer's future will deviate and perhaps become dildos or maces.

If rubes don't recognize a computer, the problem ain't faulty technology but ignorance. If SGML hasn't made a splash but HTML did, that's a problem of social immaturity. SGML remains a superior tool. If C droids don't appreciate lisp, that's trauma of the droids, not lisp.

Aim to have superior tools and knowledgeable people, not downgrading tools or stagnate to fit ordinary people. Education is the key. (education is always good in general.)

[see What is Expressiveness in Programing Languages]

Haskell

Haskell Logo 2003-05 Fritz Ruehr
Haskell Logo 2003-05 by Fritz Ruehr

Haskell is a purely functional language. The language of the future. I love functional languages, especially no-assignment and absolute-lazy-evaluation ones. (often known as “pure” and “non-strict” respectively.) Such so-called denotational language is a piece of computable mathematics, unerring and exacting.

See also:

LISP

newLISP logo
newLISP logo. Artist is Brian Grayless. http://www.newlisp.org/
Mit Scheme lisp logo
MIT Scheme lisp logo 2010 logo.
Guile Scheme logo
Logo of Guile. Guile is a Scheme implementation.

[see Practical Emacs Lisp]

Python

Python logo and wordmark JzGtZ MacPython icon MacPerl icon
The logo of Python, inaugurated in 2006-03. The “16 ton” weight is the application icon of MacPython (deceased in 2002). The camel is the application icon for MacPerl (deceased in 2002).

[see Python Tutorial by Example]

Perl

Pathetically Elational Regex Language calls for its own pages. See:

Java

java logo 1996-s700
Java Logo

Java is a all pent-up language with incessant lies.

SQL

SQL is a query language for databases. Supposedly it stands for Structured Query Language, but that may be a fix. SQL is one of the world's most fantastically moronic language. It is a language of ad-hoc-ness; the least structured; a oneliner sequence of awkwardness and inflexibility. There are controversies regarding its pronunciation. Oracle documents would bid for “sequel”, while the venerable database guru Christopher J Date in his A Guide to SQL Standard (4th Edition) Buy at amazon dismiss “sequel” pronunciation being a myth and unfit. I have only read the first chapter of this book. This book is for expert-level developers who needs in-depth knowledge about SQL.

Although there are standards for SQL the language, but it is in practice laughable as a portability practice.

A excellent introductory book on SQL is The Practical SQL Handbook, by Judith S Bowman et al. Buy at amazon I read the 3rd edition in 1998.