Olin Shivers writes:
> From: firstname.lastname@example.org.EDU (Mark Friedman)
> Newsgroups: alt.lang.scheme.scsh
> Date: 26 Dec 1995 15:07:12 -0500
> To me it is bad engineering to create such un-reusable, un-abstracted
> software. I am willing to give Ousterhout the benefit of the doubt on
> the design side. Perhaps he in fact "designed for reuse" and just blew
> it in the implementation. I don't know what the design of Tcl/Tk
> intended but I know what the implementation does.
> You are too kind. Building tcl into the tk interface is design, not
> implementation. It's not like using the wrong internal data-structure,
> it affects what the client sees. That's bad design.
I just thought that maybe Ousterhout didn't design Tk to be so
inextricably linked to Tcl. If you know different then I take back my
> There are certainly lessons the advanced language people could learn from
> tcl. I pay attention, much as I am revolted by the language. You cannot
> take away from John that he had a big hit with tcl. Probably bigger than any
> of the deeper academic things he's ever done in his whole career. The
> advanced language people (like me) that hold their noses and grimace could
> stand to ask themselves: why have none of *my* languages *ever* transited
> out into the real world and made a difference? That's a professional
I think that the vast responsibilty for tcl/tk's success is
Tk. Building GUI's is really hard and Tk made it much easier. Its
link to a non-typed interpreted language then made it simple
(i.e. less code and no compile-link-edit cycle) to try
out your GUI.
An interesting fact is that Tcl seems to be little used for its
intended purpose as an embeddable scripting language for applications
written in other languages. Almost all of the Tcl use that I have seen
has been used to create complete applications.
> However, I will make the following prediction: tcl is the walking dead.
> Visual Basic and Java are the wave.
I'm not so sure. I don't think that Tcl wil die until someone creates
a typeless Visual Basic or Java with a nice REP loop.