Wednesday, November 10, 2004

I have been thinking about languages a lot lately. Not english, french, and hindi, but rather lisp, smalltalk, and java. The former two are considered by some to be "dead languages"; the latter the "holy grail." Yet, new development takes place both in and on these "dead" languages. Interesting.

Recently, I ran across a coding contest where the vast majority of entries were in lisp. A coworker was startled by this, wondering why all these people were working in this ancient tongue. This is really the first question that strikes people, given that the language is dead - right?

If one assumes that computer languages are a type of language (as the term is commonly viewed), then one could ponder the mortality of computer code within the more familiar world of linguistics. Linear B is a dead language. Algol is a dead language.

What makes a language dead? Is it when the language ceases to be exist? This definition really doesn't work, since written languages (which would include both Linear B and Algol) exist, they just aren't used. Well, they aren't used except by academics who are trying to understand them within a historical context: what are their influences, what were their ancestors, how extensive was their use and influence, etc. If we narrow the definition, then, to state that a language is dead when it is no longer used for the purpose for which it traditionally existed, this seems to work....though certain stipulations should be drawn out further. The real problem with this updated definition is that living languages change, dead languages don't. Ahh...we seem to be getting closer.

Are languages dead when they cease to change? We already noted that lisp and smalltalk are actively developed, just not widely used. On the other hand, many languages widely used are fairly static. C really hasn't changed much in the past 10 years - unless you count the derivatives: C++, objective-C, Java, C#, etc.

Native speakers? I guess that the parallel here is primary or preferred language. In many circles PERL is preferred - a sort of pidgin moving to creole with the advent of PERL 6 and parrot. At one point, most of my work was in shell scripts. At another point, C. Another point, Java. Another, PERL. Given my druthers, I'd work in Lisp (on a Lisp machine - LMI, Symbolics, etc.). I cut my lisp teeth in 1985 with Interlisp65 on an Atari 800xl. It would be years before I returned, but when I did....the language changed. Now we have, among others, Common Lisp and I can use objects; integrate with the web; and, using openMCL on my mac, use advanced components written in objective-C (called Cocoa). Hey, this is cutting-edge stuff for a dead language. :)

And smalltalk. If one thinks that it is dead, check out croquet - - cool stuff. I use squeak for my smalltalk environment. Croquet is somewhat experimental and runs on top of squeak. I also am trying out VisualWorks, an "industrial-strength" smalltalk environment that has a new-ish release.

Yet the question of dead languages still remains. The link between computer and written/spoken languages is tenuous (even after you read my poetry in java). Yet there is something compelling about these older languages, and the impetus for the compulsion seems to stem from the original intent and is carried forward by the communities. But more on that later.....


Post a Comment

<< Home