Computer language page for Cameron Laird

What I do

I use C++, Tcl/Tk, G2, FORTRAN, C, HTML, SNMP, Perl, MIF, ..., Pascal, ... for production, sometimes of applications with embedded languages. I sure admire the work done with Java, but I retain reservations about relying on it [explain]. I am an enthusiastic but inexperienced amateur with SmallTalk, CLOS, Scheme, Prolog (and Mercury), Eiffel (Cardiff also maintains a useful collection of references), Clean, FORTH, TeX, CLIPS, J, ML, Ada (note in particular the enormous AdaBasis library), Sather, ... I know that people do great things also with slang, ... Guile I don't understand; I'll probably learn someday whether I should.

I think a lot about distributed processing. The modern way to approach that is through the Internet; Alex Nicolaou, among others, has written wisely on this topic.

Two Net documents I often consulted were John W.F. McClain's Critiques of programming languages and The Language List, a marvelous resource for locating information about particular languages. Note that it was located in Switzerland, and, after 2001 or so, seemed to be available only through Archive.org. Even when actively maintained, in the 1990s, several of its references seemed to me other-than-current. As of 2015, WhoIsHostingThis offers a more recent introduction to comparative language resources.

More recently, I stumbled across a very cool-if-not-entirely-current FTP site in Germany that's packed with useful information.

Mark Leone collects useful references. Also, Neal Ziring maintains the Programming Language Dictionary.

What I think about the future

How do projects get done now? With C++ (the language with which I'm currently most proficient), SmallTalk, NextStep, FORTH, ... How will applications be network-savvy, object-oriented, multi-media, ... in the next generation (to the end of the millenium) of industrial deliveries? I don't know, but I'm educating myself about Clean, Dylan, Dynace, ScriptX from Kaleida, Lakota, Oberon, Python, Self, Taligent, Taos, Telescript from General Magic, ...

From a more detached perspectives, I see the chief opportunities for language theory in

I have lots of particular tactical ploys for addressing the latter, but no theoretical insight on the semantic side. Bill Janssen's ILU project illustrates the sort of progress we need in stitching together modules of functionality written in different languages. ILU explicitly addresses CORBA and its style of bindings. My melancholy expectation, though, is that the steamroller of OLE's model of object-oriented message-passing will dominate these other approaches.

Overdetermination is a more subtle topic, with controversial implications for formal methods, parallelism and other architectural advances, and engineering. [give refs]

FORTH

FIG

ScriptX

Kaleida developed ScriptX.

??

For "everything is a pointer" semantics, see "An Introduction to Scheme and it's Implementation".

??

Guy Steele's "Growing a Language" is filled with such wisdom as
... a main goal in designing a language must be to plan for growth. The language must start small, and the language must grow as the set of users grows.
and
... a good programmer in these times does not just write programs. He builds a working vocabulary. In other words, a good programmer does language design, not from scratch, but building on the frame of a base language.
and
So I think the sole way to win is to plan for growth with help from users.

Computer language page for Cameron Laird/claird@phaseit.net