Re: Why you should not use Tcl

Mumit Khan (khan@xraylith.wisc.edu)
26 Sep 1994 21:17:09 GMT

In article <366krq$c91@shore.shore.net>, Robert Withrow <witr@rwwa.com> wrote:
>In article <3635a6$ang@apollo.west.oic.com>,
> dillon@apollo.west.oic.com (Matthew Dillon) writes:
>|> I would have to agree that as a programming language, Tcl sucks rocks
>|> when it comes to largish projects.
>
>Does anyone with *direct* experience (as opposed to loud opinions on
>the morality of criticising TCL) in this know if ``itcl'' or something
>similar helps enought to overcome this objection?

I'm not a big fan of Tcl syntax, but I needed to run away from InterViews
and so Tcl/Tk was my answer; so far, I have not regretted it one bit, esp
after I found [incr Tcl] (and the fact that the documentation and help from
the net about Tcl related thingies is far superior than that for any other
language I know gives it a nice boost)

small projects: (order of < few thousand lines of code)
- core Tcl (maybe + Extended Tcl for Unix'y things) works like a charm
- Speed is reasonable, but could always be boosted by some C code.
(If speed becomes an issue, I'd use perl for that project).

large'ish projects: (order of > 10s of thousands of lines)
- core Tcl (and + Extended Tcl for Unix'y things) simply is too hard
to maintain.
- core Tcl + [incr Tcl]: works like a charm.

I have two large'ish pet projects, both of which are > 20,000 lines
of code, and the code is as readable and maintainable as its older C++
counterpart, thanks to [incr Tcl].

As far as maintainability goes, I would take Tcl + [incr Tcl] over Scheme
given the fact that most of my users/collaborators are much more prone to
learn algebraic-type language than a LISP variant.

for my own use, I'd pick whatever's available that works best -- I'm not
about to let programming fascism affect my good judgement. I'm not also
about to sit around for years waiting for the perfect tool to come along;
otherwise, I would've never learned C/C++/Perl/you-name-it.

mumit -- khan@xraylith.wisc.edu