Re: Opinions? Tcl Python Perl, Virtues/failings

Howard Abrams (abrams@plaza.ds.adp.com)
Thu, 13 Apr 1995 14:10:54 GMT

I couldn't help but followup on this line of thought ...

I learned Tcl/Tk a few years ago, and was really impressed with Tk.
Tcl, I found, lacking. My biggest complaint with an computer language
is the exceptions ...

One in Tcl that springs to mind is:
puts ?filedes? string
Where the filedescriptor is optional, and if not stated it is implied
that it goes to stdout. This is completely reasonable. However, one
would assume the following:
gets ?filedes? string
And assume that if filedescriptor is not given, it would come from
stdin, right? Nope. Actually, you must specify stdin.

While this isn't a big deal (most computer language exceptions aren't),
I just find this an annoying flaw. After three months in any computer
language, the only syntax errors I should write must be typos. However,
5 and 6 months after using Tcl, I was still looking at syntax errors
wondering why a particular statement wouldn't work. After looking it
up in a manual, I would find that there was an exception that I didn't
know about.

What would I recommend? Well, the only language I have found without
any exceptions is Scheme, but due to popularity and maintainability
I don't program in it much. Other languages fall somewhere in the
middle in a liveable location, but Tcl was just too fall to the
extreme for me. I have since dropped it in favor of perl (which,
while it still has a couple of exception-type problems, is far
better than Tcl ... IMHO).

I have, however, missed Tk ... which I think to have been fairly
well designed (and I often wonder if Tk was built first, then Tcl
was kludged together quickly to support it). I am just glad that
Tkperl and nTk are available for perl so that I use those.

Hmmm ... looking over what I've written makes me think that I'll be
getting quite a few flames. Oh well, that's life on the Net.

--

============================================================= Howard Abrams (abrams@plaza.ds.adp.com) 503/294-4200x2638 ADP - Dealer Services Division - Data Communications 2525 S.W. First Avenue - Portland, OR 97201-4760 =============================================================