scsh-users
[Top] [All Lists]

Re: Ousterhout and Tcl lost the plot with latest paper

To: scsh@martigny.ai.mit.edu
Subject: Re: Ousterhout and Tcl lost the plot with latest paper
From: "Donal K. Fellows" <nospam.fellowsd@cs.man.ac.uk>
Date: 9 Apr 1997 10:39:38 GMT
Organization: Dept of Computer Science, University of Manchester, U.K.
In article <87d8s8jqck.fsf@A-abe.resnet.ucsb.edu>,
Graham C. Hughes <graham.hughes@resnet.ucsb.edu> wrote:
> Donald Syme <drs1004@cl.cam.ac.uk> writes:
>> Trash.  Show me C++ which is as succinct and I may believe
>> you.
> 
> How much do you want?  I've found that STL makes my code incredibly
> brief, and with the correct toolkit (I like Qt), windowing isn't that
> hard, either.  Better, you can subclass existing components so you can
> create a new widget, something you can't do in Tcl/Tk without
> resorting to C extensions.

What exactly do you mean by "subclassing"?  How can you be sure that
you need a C extension to do it with Tcl/Tk?  I have made Tcl/Tk-only
labelled frames, comboboxes and progress meters quite easily, so it is
entirely possible that you are simply mistaken in your assertion.

> This is an aside, however; the real issue is that Tcl/Tk is a
> glorified macro processor, full of weird tricks.  Try explaining why
> you can't pass an array, or why 'set $$foo bar' doesn't work some
> time.  *This* is the reason why Tcl/Tk is ``concise''; everything is a
> string.  Where else can we find:
> 
>       - lists where accessing anything is an O(n) operation

What version are you talking about?  This (a long-standing complaint
of many Tcl entheusiasts) is no longer true in Tcl8.

>       - numbers that autoconvert when you don't want them to (on
>               east coast area codes, for example)

I believe this (another moan of great age) is fixed too.

>       - non-extensible mathematical expressions (think expr here)

Fair enough, though I'd add that putting in your own stuff (which does
admittedly have a different syntax) is still not hard.

>       - call by name
>       - dynamic scoping

These two are construable as a feature (though I would like the other
kind of semantics AS WELL... :^)

> and other assorted nastiness.  Even Perl is a breath of fresh air
> compared to this.

For some things.

> I have nothing but good things to say about Tk.  Its incarnation in
> other languages like Scheme, Python, Perl, and O'Caml are very nice,
> and in the correct language (I know Python does this, not sure about
> the others) you can even subclass widgets.  Tcl, however, is something
> else entirely, and I reject it for anything except trivial programs
> out of hand.

I suppose it all depends on your definition of trivial, but there are
commercial applications out there written in Tcl/Tk with over a
million lines of code.  I do admit that systems of that size (whatever
written it) boggle my mind a bit though... :^)

Donal.
--
Donal K. Fellows   http://r8h.cs.man.ac.uk:8000/  (SAY NO TO COMMERCIAL SPAMS!)
(work) fellowsd@cs.man.ac.uk     Dept. Comp. Sci, Univ. Manchester, U.K.
 |     donal@ugglan.demon.co.uk  6,Randall Place, Heaton, Bradford, U.K. (home)
 +-> ++44-161-275-6137  Send correspondence to my office  ++44-1274-401017 <-+

<Prev in Thread] Current Thread [Next in Thread>