[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ns] what is OTcl?



On Thu, 8 Nov 2001, zhouhj wrote:

>     I am a ns beginner. I want know whether OTcl is "Object
> oriented Tcl" or not. If it is, what is the difference between Tcl
> and OTcl?

Answers is 'sort of'. a brief and inaccurate history of Tcl:

In the beginning there was Tcl. And Tcl begat Tk, and it was good. And
if thou had been using the Athena widget set and the buggy Motif, it
was not just good, it was _brilliant_.

Many people decided Tcl was a bad idea and should be avoided entirely
(there was an edict from richard stallman).

Some other people decided it would be nice to add objects to Tcl,
and they were decried, with yells of 'you'd have to write a proper
parser with proper variable scoping first!' and 'the damn thing
parses brackets in comments!' and 'strings! strings! the performnce
is a dog! fix that!'.

A number of extensions to Tcl to make it object-oriented (incr Tcl,
MIT Object Tcl, another Object Tcl to add confusion, variants of all
and possibly more) were written by Tcl enthusiasts, though the parser
and language remained mostly unchanged, much to the amusement of the
decriers. The decriers did of course not use these either, and stuck
with counting their hanging brackets in elisp, thinking that proper
windowed environments were, after all, only a passing fad.

ns and mash went with the MIT Object Tcl. Few others did.

Tcl development moved to Sun, and the decriers said 'a natural match
with Java(tm) - in performance and in that no-one will use it,
anyway' and sniggered.

Tcl/Sun Scriptics went with incr Tcl and eventually rolled it into Tcl
8.x, which did a lot to address the strings performance problems. incr
Tcl objects and OTcl objects and language syntax differ somewhat. The
decriers complain about Perl/Tk's performance instead, on the rare
occasions they attempt to build graphical applications.

It's all a horrible horrible mess that this article has only briefly
touched upon. badly.

L.

<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>