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
- accomodating heterogeneity,
- reducing overdetermination, and
- promoting good engineering practice.
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]
FIG
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