Lambda the Ultimate

inactiveTopic Tcl Core Team Interview
started 3/11/2003; 1:01:15 PM - last post 3/14/2003; 10:44:04 AM
Ehud Lamm - Tcl Core Team Interview  blueArrow
3/11/2003; 1:01:15 PM (reads: 1347, responses: 1)
Tcl Core Team Interview
(via Keith Devens)

Unlike Perl or Python, which are still maintained by their original authors (Larry Wall and Guido van Rossum), Tcl ownership has changed hands - Dr. John Ousterhout, who wrote Tcl while a professor at UC Berkeley, has moved on to other endeavors (although he does keep an eye on his creation), and others have stepped forward to not only maintain Tcl, but work on improving and extending it.

Several of the "core team", including the lead maintainer, Jeff "The Tcl Guy" Hobbs, Andreas Kupries, Donal Fellows and Mark Harrison, were kind enough to take some time to respond to some questions about a variety of topics via email. We start by asking Jeff about how the torch was passed...

Language community in action!

It's common wisdom that the hardest part in making a language successful isn't the language design, not even the quality of implementation, but rather support and evolution.

In this regard, it is interesting to compare how different languages are maintained. Tcl seems to be pretty unique.

Posted to general by Ehud Lamm on 3/11/03; 1:04:37 PM

Brent Fulgham - Re: Tcl Core Team Interview  blueArrow
3/14/2003; 10:44:04 AM (reads: 346, responses: 0)
While this doesn't relate to Tcl directly, it is on-topic for the overall question of how different languages are maintained.

Datapoint #1: SATHER

In the case of Sather, we can see where a relatively promising project eventually ran out of steam. The reason for this probably has more to do with personal issues, as people grow and move beyond certain development interest (perhaps even development itself!). Also, as Eiffel has evolved it has accumulated features that perhaps make Sather's differences less important.

One interesting idea proposed by Sather was the use of implementation inheritence through a code-inclusion strategy (in addition to the usual semantic inheritence of Eiffel, Java, Smalltalk, etc.) Interestingly, the original Sather team viewed implementation inheritence as the real useful feature of the language, writing that We have found semantic inheritence highly overrated in Eiffel. Consequently, Sather used covarient subtyping (rather than Eiffel's Contravarient), and a 'weaker' set of pre/post-conditions based on assertions.

Datapoint #2: DYLAN

For a more positive case history, we can look at Gwydion Dylan, a language that started off life as a CMU CS project to implement Apple's Dylan language. Eventually everyone graduated and the project became dormant until a few interested hackers dusted it off and got things rolling again.

Dylan probably survives because it is a relatively unique language, with reuse based on Generic Function dispatch techniques, and a unique macro system that can handle infix-style syntax (a relative rarity.)