Programming languages, interpreters, etc.

Here is my private list of links to programming languages, interpreters and stuff. Some are useful, some are cool, and some are plain strange (maybe?). All I found interesting at one time or another, though I can't always recall why ;-)

Most are not terribly popular nor very widely known. Some deserve at least a bit of attention (IMHO). See for yourself which do.

No actual endorsement on my part for any of the tools listed here is meant or implied (as if you cared...). "Use your own judgment, Your Mileage May Vary, No Money Back, Product Features Subject To Change Without Advance Notice, etc., etc."

  • Pike: a descendant of LPC, object-oriented, C-like syntax, bytecode-interpreted, under active development at Roxen Internet Software, formerly Idonex AB, in Sweden, as the implementation language of the excellent Roxen web server (you really should check it out if you're interested at all in such things). Main developer is Fredrik Hübinette. Free software, licensed under the GPL. My current favorite.
    You may also want to check out the Pike Community site, and especially PiGTK, an excellent interface of Pike to GTK, everybody's current favorite library for GUI programming under the X Window System.
  • Lua: a quite neat "little language" originally designed for embedding in applications as a configuration and extension language, but usable as well for standalone scripting. Surprisingly lightweight, elegant and highly portable. Procedural Pascal-like syntax, OO features are available too -- to quote from the Lua home page:
    A fundamental concept in the design of Lua is to provide meta-mechanisms for implementing features, instead of providing a host of features directly in the language. For example, although Lua is not a pure object-oriented language, it does provide meta-mechanisms for implementing classes and inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the language small, while allowing the semantics to be extended in unconventional ways. Extensible semantics is a distinguishing feature of Lua.
    Free to use, distribute and modify (commercial use and reuse in proprietary products included, i.e. not GPL).
  • EiC: an interpreter that groks ANSI C (well, most of it). Seems to work rather well to the (small) extent I've tried. A little strange perhaps, but could actually turn out to be quite useful e.g. for learning or prototyping. Free, under an "Artistic License". Seems to be actively developed and maintained, too.
    UPDATE: Nowadays, it's at sourceforge.net.
  • Marx: an interpreter for a language very much like C, together with an apparently quite rich widget set of its own for X11 GUI programming. Extensible via dynamic loading of C shared libs, and embeddable. I have never actually tried using it myself, but it looks like a quite serious and well-done project. Too bad it's apparently dead: the website hasn't been updated since 1997, and there's no trace of it elsewhere on the web. Licensed under GPL.
    Update: the website seems to be gone now, too. Oh well, R.I.P.
  • ftwalk: sort of find(1) and awk rolled into one, curious... got to take a closer look.
  • Nickle: by Keith Packard, of X11 fame, and Bart Massey.
    Nickle is a desk calculator language with powerful programming and scripting capabilities. [...] Nickle provides the functionality of UNIX bc, dc and expr in much-improved form. It is also an ideal environment for prototyping complex algorithms. Nickle's scripting capabilities make it a nice replacement for spreadsheets in some applications, and its numeric features nicely complement the limited numeric functionality of text-oriented languages such as AWK and PERL.

This page isn't really ready yet. (And probably won't ever be)

In case you're wondering, omission of Perl, Tcl and (especially) Java from the above list is not accidental. On the other hand, Python certainly should be included, but you've probably heard of it anyway.

Accessed: by  since
rjb