Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Why you should not use Tcl
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 336 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Richard Stallman  
View profile  
 More options Sep 24 1994, 9:16 am
Newsgroups: gnu.announce, gnu.utils.bug, gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme, comp.windows.x.apps, comp.unix.misc
Followup-To: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: r...@gnu.ai.mit.edu (Richard Stallman)
Date: Fri, 23 Sep 94 19:14:52 -0400
Local: Fri, Sep 23 1994 7:14 pm
Subject: Why you should not use Tcl
[Please redistribute wherever appropriate.]

                     Why you should not use Tcl
                        Richard Stallman, GNU Project

As interest builds in extensible application programs and tools, and
some programmers are tempted to use Tcl, we should not forget the
lessons learned from the first widely used extensible text
editor--Emacs.

The principal lesson of Emacs is that a language for extensions should
not be a mere "extension language".  It should be a real programming
language, designed for writing and maintaining substantial programs.
Because people will want to do that!

Extensions are often large, complex programs in their own right, and
the people who write them deserve the same facilities that other
programmers rely on.

The first Emacs used a string-processing language, TECO, which was
inadequate.  We made it serve, but it kept getting in our way.  It
made maintenance harder, and it made extensions harder to write.
Later Emacs implementations have used more powerful languages because
implementors learned from the problems of the first one.

Another lesson from Emacs is that the way to make sure an extension
facility is really flexible is to use it to write a large portion of
the ordinary released system.  If you try to do that with Tcl, you
will encounter its limitations.

Tcl was not designed to be a serious programming language.  It was
designed to be a "scripting language", on the assumption that a
"scripting language" need not try to be a real programming language.
So Tcl doesn't have the capabilities of one.  It lacks arrays; it
lacks structures from which you can make linked lists.  It fakes
having numbers, which works, but has to be slow.  Tcl is ok for
writing small programs, but when you push it beyond that, it becomes
insufficient.

Tcl has a peculiar syntax that appeals to hackers because of its
simplicity.  But Tcl syntax seems strange to most users.  If Tcl does
become the "standard scripting language", users will curse it for
years--the way people curse Fortran, MSDOS, Unix shell syntax, and
other de facto standards they feel stuck with.

For these reasons, the GNU project is not going to use Tcl in GNU
software.  Instead we want to provide two languages, similar in
semantics but with different syntaxes.  One will be Lisp-like, and one
will have a more traditional algebraic syntax.  Both will provide
useful data types such as structures and arrays.  The former will
provide a simple syntax that hackers like; the latter will offer
non-hackers a syntax that they are more comfortable with.

Some people plan to use Tcl because they want to use Tk.  Thankfully,
it is possible to use Tk without Tcl.  A Scheme interpreter called STk
is already available.  Please, if you want to use Tk, use it with STk,
not with Tcl.  One place to get STk is from
ftp.cs.indiana.edu:pub/scheme-repository/imp/STk-2.1.tar.Z


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
James Montebello  
View profile  
 More options Sep 24 1994, 11:48 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: ja...@bridge.com (James Montebello)
Date: 24 Sep 1994 15:31:26 GMT
Local: Sat, Sep 24 1994 11:31 am
Subject: Re: Why you should not use Tcl
Richard Stallman (r...@gnu.ai.mit.edu) wrote:

: Tcl has a peculiar syntax that appeals to hackers because of its
: simplicity.  But Tcl syntax seems strange to most users.

I cannot agree with this.  o you have any evidence to support such a
sweeping statement? I, for one, find Tcl's syntax a good deal more
readable than any Lisp variant.

Tcl also wasn't designed to be used in a vacuum, but to be embedded
into a larger application. The ease with which this can be done is its
primary strength. If the language lacks features you desire, add them.
This, too, is relatively easy to do.

--
james montebello (ja...@bridge.com) -------- 'my employer has no opinions'
The most popular labor-saving device today is still a husband with money.
        - Joey Adams


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Hal  
View profile  
 More options Sep 24 1994, 12:09 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: hfin...@shell.portal.com (Hal)
Date: 24 Sep 1994 16:07:22 GMT
Local: Sat, Sep 24 1994 12:07 pm
Subject: Re: Why you should not use Tcl

r...@gnu.ai.mit.edu (Richard Stallman) writes:
>                 Why you should not use Tcl
>                    Richard Stallman, GNU Project

Stallman's article seems short on specific criticisms.  I see:

1) Tcl was not designed to be a serious programming language.

2) Tcl lacks arrays.

3) Tcl lacks structures from which you can make linked lists.

4) Tcl is inherently slow.

5) End-users do not like Tcl syntax.

I would point out:

1) I can find no documentation that Tcl was not designed to be suitable
for serious programs.  It is clearly based on LISP, which has been
widely used in the AI community among others for very serious programming.

2) Tcl has content addressable arrays, which are a superset of ordinary
arrays in functionality.

3) Tcl has no pointers, and shares this property with most LISP like
languages.  Deeply nested list structures can be created, though, which
provide much of the functionality of linked lists.

4) It remains to be seen whether performance improvements are possible
to Tcl.  There has been discussion on comp.lang.tcl on compilers.  On-
the-fly compilation would combine interactivity with performance.  Other
optimizations such as speedups for arrays whose index elements are
numbers should be possible.

5) I agree that LISP-like languages can be hard for amateurs to use.
It should be possible to make Tcl more usable by, for instance, creating
easier-to-use control structures.  Stallman's idea for two compatible
languages with different syntax is perhaps worth looking at, but frankly
I suspect that programming is an inherently difficult process and it
will be hard to dumb it down much and still retain the needed power.

One other point - Stallman mentions TECO as a language with limitations
similar to those he sees in Tcl.  I did considerable programming in
TECO back in the early days and IMO Tcl has practically nothing in
common with it.  Tcl is far more similar to the LISP variant used in
present-day Emacs and again IMO is considerably more readable.  The
shareware text editor Alpha for the Macintosh is Emacs-like, uses Tcl
in place of Emacs LISP, and the performance is fine.

Hal Finney
hfin...@shell.portal.com


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tom Tromey  
View profile  
 More options Sep 24 1994, 2:07 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: tro...@klab.caltech.edu (Tom Tromey)
Date: 24 Sep 1994 18:06:41 GMT
Local: Sat, Sep 24 1994 2:06 pm
Subject: Re: Why you should not use Tcl

>>>>> "James" == James Montebello <ja...@bridge.com> writes:
> Richard Stallman (r...@gnu.ai.mit.edu) wrote:
> : Tcl has a peculiar syntax that appeals to hackers because of its
> : simplicity.  But Tcl syntax seems strange to most users.

James> I cannot agree with this.  o you have any evidence to support
James> such a sweeping statement? I, for one, find Tcl's syntax a good
James> deal more readable than any Lisp variant.

There is plenty of evidence, in the form of the many posts to
comp.lang.tcl that express confusion about Tcl syntax.  Lately the
posts seem to be concentrating on unmatched braces in comments, but ""
vs {} quoting is also a favorite.

Tom

--
tro...@cns.caltech.edu                Member, League for Programming Freedom
"Sadism and farce are always inexplicably linked"
        -- Alexander Theroux


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
T. William Wells  
View profile  
 More options Sep 24 1994, 2:10 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: b...@twwells.com (T. William Wells)
Date: Sat, 24 Sep 1994 17:55:54 GMT
Local: Sat, Sep 24 1994 1:55 pm
Subject: Re: Why you should not use Tcl
Mr. Stallman, though I am but an occasional user of tcl, I am
sufficiently familiar with it to know that you don't know enough
about it to have an informed opinion. Rather than embroiling
myself in the flamewar that your specious claims are sure to
cause, I'll just observe that that sort of politicking is utterly
contemptible.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Patric Jonsson  
View profile  
 More options Sep 24 1994, 3:43 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: d88-...@black18.nada.kth.se (Patric Jonsson)
Date: 24 Sep 1994 19:31:12 GMT
Local: Sat, Sep 24 1994 3:31 pm
Subject: Re: Why you should not use Tcl

In article <9409232314.AA29...@mole.gnu.ai.mit.edu> r...@gnu.ai.mit.edu (Richard Stallman) writes:
>For these reasons, the GNU project is not going to use Tcl in GNU
>software.  Instead we want to provide two languages, similar in
>semantics but with different syntaxes.  One will be Lisp-like, and one
>will have a more traditional algebraic syntax.  Both will provide
>useful data types such as structures and arrays.  The former will
>provide a simple syntax that hackers like; the latter will offer
>non-hackers a syntax that they are more comfortable with.

Olin Shivers Scheme Shell?

--
The original argument in favor was that the macro provides some useful
and pleasant syntactic sugar, eliminating the frequent need to disrupt
lisp's soothing flow of parentheses with the angular orthography of
octathorp quote.
                        s...@Franz.COM (Steve Haflich)
                                comp.lang.lisp


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Schwartz  
View profile  
 More options Sep 24 1994, 4:49 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: schwa...@groucho.cse.psu.edu (Scott Schwartz)
Date: 24 Sep 1994 20:47:19 GMT
Local: Sat, Sep 24 1994 4:47 pm
Subject: Re: Why you should not use Tcl
Hal writes:

   1) I can find no documentation that Tcl was not designed to be suitable
   for serious programs.

It's clear from Ousterhout's original Usenix paper that tcl was intended
to be used as a lightweight extension language, not a large scale
implementation language.

   2) Tcl has content addressable arrays, which are a superset of ordinary
   arrays in functionality.

They are not first class objects: you can't assign one to another, pass
or return them from functions.  Contorted "call by name" semantics are
the only workaround.

   3) Tcl has no pointers, and shares this property with most LISP like
   languages.  Deeply nested list structures can be created, though, which
   provide much of the functionality of linked lists.

Lists have O(1) append time.  Tcl strings have O(n) append time.
Superquadratic runtime and lots of memory thrashing results.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Sep 24 1994, 6:41 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: Erik Naggum <e...@naggum.no>
Date: 24 Sep 1994 22:40:42 UT
Local: Sat, Sep 24 1994 10:40 pm
Subject: Re: Why you should not use Tcl
[T. William Wells]

|   Mr. Stallman, though I am but an occasional user of tcl, I am
|   sufficiently familiar with it to know that you don't know enough about
|   it to have an informed opinion.  Rather than embroiling myself in the
|   flamewar that your specious claims are sure to cause, I'll just observe
|   that that sort of politicking is utterly contemptible.

I found the above utterly contemptible.  let the first man with a gas can
and a lighter be responsible for the flame war, not he who states his
opinions, however unpopular.

#<Erik>
--
Microsoft is not the answer.  Microsoft is the question.  NO is the answer.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
T. William Wells  
View profile  
 More options Sep 24 1994, 8:50 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
Followup-To: alt.flame
From: b...@twwells.com (T. William Wells)
Date: Sun, 25 Sep 1994 00:38:58 GMT
Local: Sat, Sep 24 1994 8:38 pm
Subject: Re: Why you should not use Tcl
In article <19940924T224042Z.e...@naggum.no>,
Erik Naggum  <e...@naggum.no> wrote:
: [T. William Wells]
:
: |   Mr. Stallman, though I am but an occasional user of tcl, I am
: |   sufficiently familiar with it to know that you don't know enough about
: |   it to have an informed opinion.  Rather than embroiling myself in the
: |   flamewar that your specious claims are sure to cause, I'll just observe
: |   that that sort of politicking is utterly contemptible.
:
: I found the above utterly contemptible.  let the first man with a gas can
: and a lighter be responsible for the flame war, not he who states his
: opinions, however unpopular.

Tsk. You of all people should know that I don't care about popularity....

Mr. Stallman said baldly that "[tcl] lacks arrays". That is either a
demonstration of Mr. Stallman's ignorance or it is an outright lie. Either
way, that *alone* is sufficient to disqualify Mr. Stallman from having a
valuable opinion on the subject. That *alone* removes his politicking from
the reasonable to the contemptible.  Never mind any of the other drivel!

I've directed followups to alt.flame, as that's the appropriate place for any
further comments from you on this subject.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Russell Leighton  
View profile  
 More options Sep 24 1994, 9:03 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: r...@access3.digex.net (Russell Leighton)
Date: 24 Sep 1994 20:44:02 -0400
Local: Sat, Sep 24 1994 8:44 pm
Subject: Re: Why you should not use Tcl
Richard S. :

I find Tcl perfect to add a flexible control/interface
to my programs, and Tk to generalize that to X11 ...
don't tell me what to use ...scheme, really... I believe
you are abusing your considerable influence ... what is
your agenda? What has Tk/tcl ever done to you? Nobody is
asking FSF to support this ... please continue to produce
great software but leave this alone... how rude.
--
        Russell Leighton    
        Taylor Computing  
        r...@taylor.digex.net  tay...@world.std.com
        http://taylor.digex.net  http://www.digex.net/~rrl/Welcome.html


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jim Wise  
View profile  
 More options Sep 24 1994, 10:02 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: wi...@acf4.nyu.edu (Jim Wise)
Date: 25 Sep 1994 01:10:34 GMT
Local: Sat, Sep 24 1994 9:10 pm
Subject: Re: Why you should not use Tcl

Erik Naggum <e...@naggum.no> writes:
>[T. William Wells]
>|   Mr. Stallman, though I am but an occasional user of tcl, I am
>|   sufficiently familiar with it to know that you don't know enough about
>|   it to have an informed opinion.  Rather than embroiling myself in the
>|   flamewar that your specious claims are sure to cause, I'll just observe
>|   that that sort of politicking is utterly contemptible.
>I found the above utterly contemptible.  let the first man with a gas can
>and a lighter be responsible for the flame war, not he who states his
>opinions, however unpopular.

Actually, Mr. Wells was responding to an obvious and offensive FUD attack on
a language which many people, myself included, are quite happy and impressed
with.  While I greatly respect RMS and his body of work, his attack is spurred
by so little understanding of, or even relevance to the intended uses and
strengths of Tcl that it makes me wonder what his motives are.

                                Jim Wise
                                wi...@acf4.nyu.edu


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Steven Grimm  
View profile  
 More options Sep 24 1994, 10:53 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: kor...@spud.Hyperion.COM (Steven Grimm)
Date: 24 Sep 1994 19:48:05 -0700
Local: Sat, Sep 24 1994 10:48 pm
Subject: Re: Why you should not use Tcl
In <9409232314.AA29...@mole.gnu.ai.mit.edu> r...@gnu.ai.mit.edu (Richard Stallman) writes:

>Tcl has a peculiar syntax that appeals to hackers because of its
>simplicity.  But Tcl syntax seems strange to most users.

And Lisp is the height of user-friendliness and clarity?  People who live
in glass houses...

-Steve


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Sep 24 1994, 11:10 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: Erik Naggum <e...@naggum.no>
Date: 25 Sep 1994 03:10:02 UT
Local: Sun, Sep 25 1994 3:10 am
Subject: Re: Why you should not use Tcl
[T. William Wells]

|   Mr. Stallman, though I am but an occasional user of tcl, I am
|   sufficiently familiar with it to know that you don't know enough about
|   it to have an informed opinion.  Rather than embroiling myself in the
|   flamewar that your specious claims are sure to cause, I'll just observe
|   that that sort of politicking is utterly contemptible.

[Erik Naggum]

|   I found the above utterly contemptible.  let the first man with a gas
|   can and a lighter be responsible for the flame war, not he who states
|   his opinions, however unpopular.

[Jim Wise]

|   Actually, Mr. Wells was responding to an obvious and offensive FUD
|   attack on a language which many people, myself included, are quite
|   happy and impressed with.  While I greatly respect RMS and his body of
|   work, his attack is spurred by so little understanding of, or even
|   relevance to the intended uses and strengths of Tcl that it makes me
|   wonder what his motives are.

whatever one may think about RMS, his work or his motives, Tcl or anything
else, it was T. William Wells' attitude that I was addressing.  if the
statement of his opinions can cause only flames (at least in his opinion),
it is _he_ is who is starting the flame wars that he so despises.  this is
his problem, not RMS's, and nobody else's.  I find it utterly contemptible
to attempt to transfer the guilt of such irrational behavior to others, no
matter _what_ one thinks of the subject matter or _how_ one defends one's
views.  this is definitely politicking.  if one thinks certain kinds of
actions contemptible and engages in them at the first opportunity, who is
contemptible?

it should be possible to discuss the merits and demerits of RMS's statement
on Tcl without resorting to such flames.  if he is so obviously wrong as is
implied, this can be pointed out.  if RMS has strong influence on what
others may think, it is counter-productive, if one wishes to reduce this
influence, to behave irrationally.  this only tells bystanders that it is
his critics who must have less than pure motives.  this can actually cause
by-standers to believe what RMS is saying, _unchallenged_.

RMS's statement may be read as a slam on Tcl in favor of yet-undelivered
tools from the GNU project.  we may note that dejagnu uses Tcl at present,
and we may assume that some lessons were drawn from this.  RMS's statement
may also be read as urging people to consider alternatives because of some
things that RMS thinks are bad, and for which he gives a varying degree of
good arguments.  we may note that people are doing this all the time, and
apply the necessary precautions when reading such notices, instead of
imputing evil motives and ranting and raving in openly hostile articles
completely devoid of technical content, the very definition of "flaming".

I now know that Tcl has some sort of arrays, and that there are ways to do
what one wants in the context for which it was designed, and that people
are doing this.  this enables me to judge Tcl and RMS's opinions on it in a
technical context.  if I wish to know more, I know whom to ask.  I also
know that some individuals have given unsupported ad hominem attacks on RMS
in place of something that I could use to form my own opinions.  this only
gives me information to judge those who engage in such attacks, should I so
desire.  I am more interested in extension and scripting languages to want
to waste more of my time than to point these things out.  T. William Wells
is encouraged not to respond unless he can tone down his replies a bit.

#<Erik>
--
Microsoft is not the answer.  Microsoft is the question.  NO is the answer.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marcus Daniels  
View profile  
 More options Sep 24 1994, 11:24 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: mar...@ee.pdx.edu (Marcus Daniels)
Date: 24 Sep 1994 20:26:32 -0700
Local: Sat, Sep 24 1994 11:26 pm
Subject: Re: Why you should not use Tcl

Erik Naggum <e...@naggum.no> writes:
>it should be possible to discuss the merits and demerits of RMS's statement
>on Tcl without resorting to such flames.

Right on.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Karl Fogel  
View profile  
 More options Sep 24 1994, 11:55 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: kfo...@ninja.life.uiuc.edu (Karl Fogel)
Date: 25 Sep 1994 03:55:39 GMT
Local: Sat, Sep 24 1994 11:55 pm
Subject: Re: Why you should not use Tcl
In article <SCHWARTZ.94Sep24164...@groucho.cse.psu.edu> schwa...@groucho.cse.psu.edu (Scott Schwartz) writes:

>Lists have O(1) append time.  Tcl strings have O(n) append time.
>Superquadratic runtime and lots of memory thrashing results.

        I thought lists have O(N) append time too.  I mean, you have
to copy a whole list in order to append it to something else.  Even in
a destructive append, you still have to find the final cdrs, which
means bouncing down the whole list.

        Of course, the final list that gets stuck on the end happens
in O(1) time; it's just all the other ones that don't...

        I could be wrong, though, or have misunderstood.  Please feel
free to correct me if so.

-Karl
--
      Karl Fogel <kfo...@cs.oberlin.edu> <kfo...@phylo.life.uiuc.edu>
<>-<> <> <>-<> <>-<>-<> <>-<> <> <> <>-<>-<>-<> <>-<> <>-<> <>-<>-<> <>-<>
            Finger me at either address for my PGP public key.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
ozan s. yigit  
View profile  
 More options Sep 25 1994, 12:30 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: o...@nexus.yorku.ca (ozan s. yigit)
Date: Sun, 25 Sep 1994 05:18:53 GMT
Local: Sun, Sep 25 1994 1:18 am
Subject: Re: Why you should not use Tcl
        ...
   it should be possible to discuss the merits and demerits of RMS's statement
   on Tcl without resorting to such flames.
        ...

the obvious question is: why bother? we know RMS will not
change his mind. for gnu, his opinion is the one that
matters. done.

oz


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
T. William Wells  
View profile  
 More options Sep 25 1994, 12:56 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
Followup-To: alt.flame
From: b...@twwells.com (T. William Wells)
Date: Sun, 25 Sep 1994 04:44:47 GMT
Local: Sun, Sep 25 1994 12:44 am
Subject: Re: Why you should not use Tcl
In article <19940925T031002Z.e...@naggum.no>,
Erik Naggum  <e...@naggum.no> wrote:
: whatever one may think about RMS, his work or his motives, Tcl or anything
: else, it was T. William Wells' attitude that I was addressing.

Take your flaming elsewhere, Naggum. They, and your paranoid ravings, are not
appropriate to this newsgroup.

I will repeat what I told you in e-mail, which you promptly ignored: I do not
want further e-mail from you, and I have, as I told you, filed that unwanted
e-mail unread. *Do not send more e-mail*.

Folks, I've had run-ins with Naggum before. You all know the type, one who
flames and then obfuscates the issues until he "wins" because everyone gives
up in digust. Please spare us all and don't reply to his arguments. You
cannot win, not because he's right, but because he is impervious to anything
resembling logic.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matthew Dillon  
View profile  
 More options Sep 25 1994, 2:38 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: dil...@apollo.west.oic.com (Matthew Dillon)
Date: 24 Sep 1994 23:28:22 -0700
Local: Sun, Sep 25 1994 2:28 am
Subject: Re: Why you should not use Tcl
:In article <9409232314.AA29...@mole.gnu.ai.mit.edu> r...@gnu.ai.mit.edu (Richard Stallman) writes:
:>[Please redistribute wherever appropriate.]
:>
:>
:>
:>                Why you should not use Tcl
:>                   Richard Stallman, GNU Project
:>
:>As interest builds in extensible application programs and tools, and
:>some programmers are tempted to use Tcl, we should not forget the
:>...
:>Tcl was not designed to be a serious programming language.  It was
:>designed to be a "scripting language", on the assumption that a
:>"scripting language" need not try to be a real programming language.
:>So Tcl doesn't have the capabilities of one.  It lacks arrays; it
:>lacks structures from which you can make linked lists.  It fakes
:>having numbers, which works, but has to be slow.  Tcl is ok for
:>writing small programs, but when you push it beyond that, it becomes
:>insufficient.

    We use Tcl/Tk for nearly the entire GUI in one of our major turnkey
    projects, about 400 K of Tcl/Tk code.

    I have found Tcl/Tk to be excellent for smallish self contained programs.
    The GUI code I've written is comprised of approximately 14 relatively
    independant programs and a small set of common library routines and
    C programs for low level database access.

    However, the largest of these GUI elements rapidly bogged down in several
    areas as it was being coded.  The primary problem was with the lack of
    structure in the language and variable syntax.  It required very HEAVY
    commenting to keep things straight as event oriented procedures forced
    us collect variable sets in global associative arrays, which greatly
    complicated operation.  The language structure also has a lot of problems,
    especially with variable substitution and programmatic structures such
    as switch statements and loops.  These problems can be ignored for
    small (1000 line or less) programs but rapidly cause confusion in larger
    programs.

    I would have to agree that as a programming language, Tcl sucks rocks
    when it comes to largish projects.  It is an excellent tool for smaller
    projects (expect scripts, less complex Tk/Gui stuff) but Tcl is not
    something I would want to inflict on somebody as a standard.

    I also have to say that, personally, I think anything lisp-like is even
    worse, so this response should not be interpreted as being particularly
    for GNUs intentions.  Perl comes closest to what I believe GNU wants
    but so far nothing fits the bill exactly, and I do not particularly
    like Perl's variable syntax either (though it's better then TCL's).

:Some people plan to use Tcl because they want to use Tk.  Thankfully,
:it is possible to use Tk without Tcl.  A Scheme interpreter called STk
:is already available.  Please, if you want to use Tk, use it with STk,
:not with Tcl.  One place to get STk is from
:ftp.cs.indiana.edu:pub/scheme-repository/imp/STk-2.1.tar.Z

    Heh, you convinced me to try it. :-)

                                                -Matt

--

    Matthew Dillon              dil...@apollo.west.oic.com
    1005 Apollo Way             ham: KC6LVW (no mail drop)
    Incline Village, NV. 89451  Obvious Implementations Corporation
    USA                         Sandel-Avery Engineering
    [always include a portion of the original email in any response!]


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dave Curado  
View profile  
 More options Sep 25 1994, 2:43 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: da...@hk.super.net (Dave Curado)
Date: Sun, 25 Sep 1994 14:07:37 +0800
Local: Sun, Sep 25 1994 2:07 am
Subject: Re: Why you should not use Tcl

> >it should be possible to discuss the merits and demerits of RMS's statement
> >on Tcl without resorting to such flames.

> Right on.

Agreed!  But in case anyone is keeping count: Richard -- respectfully
don't agree...
Tcl has its place in the world.

--
no rest for the wicked...


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Guido van Rossum  
View profile  
 More options Sep 25 1994, 5:21 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme, comp.lang.python
From: gu...@cwi.nl (Guido van Rossum)
Date: Sun, 25 Sep 1994 09:06:06 GMT
Local: Sun, Sep 25 1994 5:06 am
Subject: Re: Why you should not use Tcl

r...@gnu.ai.mit.edu (Richard Stallman) writes:
>Some people plan to use Tcl because they want to use Tk.  Thankfully,
>it is possible to use Tk without Tcl.  A Scheme interpreter called STk
>is already available.  Please, if you want to use Tk, use it with STk,
>not with Tcl.  One place to get STk is from
>ftp.cs.indiana.edu:pub/scheme-repository/imp/STk-2.1.tar.Z

In a followup, Barry Merriman suggests to try Python.  I can't agree
more :-).  Moreover, Python also has a cool object-oriented interface
to Tk!  Python's home ftp site has this URL:
ftp://ftp.cwi.nl/pub/python (read the INDEX file); the Tk interface is
called tkinter.tar.gz.  There's also considerable on-line info about
Python on WWW; the URL is http://www.cwi.nl/~guido/Python.html.
Finally, there's a newsgroup (comp.lang.python).

--Guido van Rossum, CWI, Amsterdam <mailto:Guido.van.Ros...@cwi.nl>
<http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Gay David  
View profile  
 More options Sep 25 1994, 5:57 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: d...@litsun13.epfl.ch (Gay David)
Date: 25 Sep 1994 09:26:36 GMT
Local: Sun, Sep 25 1994 5:26 am
Subject: Re: Why you should not use Tcl

In article <361irr$...@news1.shell> hfin...@shell.portal.com (Hal) writes:

   Stallman's article seems short on specific criticisms.  I see:

   1) Tcl was not designed to be a serious programming language.

   3) Tcl lacks structures from which you can make linked lists.

   4) Tcl is inherently slow.

   I would point out:

   1) I can find no documentation that Tcl was not designed to be suitable
   for serious programs.  It is clearly based on LISP, which has been
   widely used in the AI community among others for very serious programming.

I keep on hearing this, so it must be true (;-)). But in what way is Tcl
similar to Lisp ? I see no direct relation to the lambda-calculus for
instance. It is true that Lisps, especially those with dynamic scope, are
not a pure implementation of the lambda-calculus, but they do not stray
all that far from it.

   3) Tcl has no pointers, and shares this property with most LISP like
   languages.  Deeply nested list structures can be created, though, which
   provide much of the functionality of linked lists.

But Lisp allows sharing of data-structures, which provides a safe access
to most of the pointer functionality. How can you do that with strings ?

   4) It remains to be seen whether performance improvements are possible
   to Tcl.  There has been discussion on comp.lang.tcl on compilers.  On-
   the-fly compilation would combine interactivity with performance.  Other
   optimizations such as speedups for arrays whose index elements are
   numbers should be possible.

Basing a language on string-substitution is obviously not the best way
to get high-performance. Sufficiently clever analysis and/or string
implementation may allow most substitutions to be avoided, but why
does all this have to be necessary ? While the Tcl compiler is busy
trying to work out the program's control structure, the Lisp compiler
is already at work attempting to discover the types of its variables :-)

David Gay
d...@di.epfl.ch


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Alexander  
View profile  
 More options Sep 25 1994, 6:56 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: p...@mrao.cam.ac.uk (Paul Alexander)
Date: 25 Sep 1994 10:46:21 GMT
Local: Sun, Sep 25 1994 6:46 am
Subject: Re: Why you should not use Tcl
In article <9409232314.AA29...@mole.gnu.ai.mit.edu>, r...@gnu.ai.mit.edu (Richard Stallman) writes:

|> [Please redistribute wherever appropriate.]
|>

|>
|> For these reasons, the GNU project is not going to use Tcl in GNU
|> software.  Instead we want to provide two languages, similar in
|> semantics but with different syntaxes.  One will be Lisp-like, and one
|> will have a more traditional algebraic syntax.  Both will provide
|> useful data types such as structures and arrays.  The former will
|> provide a simple syntax that hackers like; the latter will offer
|> non-hackers a syntax that they are more comfortable with.
|>
|>

1. Under what licence terms will these GNU languages be distributed?  If
it is the usual GNU licence then this will prohibit commerical use or
involvement in their development --- this has been a very significant
factor in Tcl/tk (one only has to look at the people who have contributed
to the tcl/tk archive).  Furthermore, users can expect to meet the GNU
scripting language only on net-distriubuted software.  One of the major
attractions of working with tcl/tk even in an academic environment is that
future commercial products may well include tcl and or tcl/tk and therefore
our home-written applications will mesh well with commercial applications.

2. Tcl/tk are available now, relatively bug free, well supported and are
in extensive use simply because they do the job for which they are intended
really rather well.  Undoubtedly they can be improved upon, but arguing they
should NOT be used because at some time in the unstated future GNU will
provide (in their opinion and maybe in most peoples?) better tools seems
a poor argument indeed.  While I think the GNU project provides excellent
tools, their ability to deliver service of course depends on the good will
of individuals which sometimes means exceptionally long lead times into
projects (g77 is one such example).  In this respect the commercial input
to tcl and the focussed effort of the tcl community has led to excellent
"support", again a major factor in the popularity of tcl/tk.

3. What is a "large" project?  I have now written about 20000 lines of
tcl used as complete X applications, embedded scripting language in our
own F77/C image processing and data processing codes.  I have found managing
this size of project relatively easy and overall time to produce the finished
"products" significantly reduced over using C or F77 to accomplish the same
tasks.  While this may not be a "large" project it is not insignificant and
is well within the scope of tcl/tk.

4. The quality of documentation of tcl/tk is of an exceptionally high standard,
far superior to any other free (and most commercial) products I have used.
For me this is significantly more important than whether tcl is syntactically
better/worse than XXX, or whether it is 50% 100% n00% slower/faster than XXX ---
the point is occasional users can write tcl/tk code if the have access to the
available documentation.

--
Paul Alexander
Department of Physics, Cavendish Laboratory,
University of Cambridge,
Cambridge, UK.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jonathan Edwards  
View profile  
 More options Sep 25 1994, 9:57 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: edwa...@world.std.com (Jonathan Edwards)
Date: Sun, 25 Sep 1994 13:55:43 GMT
Local: Sun, Sep 25 1994 9:55 am
Subject: Re: Why you should not use Tcl
In article <9409232314.AA29...@mole.gnu.ai.mit.edu>,

Richard Stallman <r...@gnu.ai.mit.edu> wrote:

>For these reasons, the GNU project is not going to use Tcl in GNU
>software.  Instead we want to provide two languages, similar in
>semantics but with different syntaxes.  One will be Lisp-like, and one
>will have a more traditional algebraic syntax.

If you want to make a dent in Tcl, you are going to have to be a lot more
specific about your plans. What and when?
Developing (two!) new languages will take years.
The world will not wait for you. I certainly won't.

If you want to be relevant, you will have to come up with some concrete
proposal of how to leverage existing technology to come up with an
alternative to Tcl quickly. You have that technology already: elisp!

Why not build an "algebraic" Tcl-like dialect on top of elisp?
You would want a "quote-by-default" semantics like Tcl that is optimized
for one-liners and trivial programs. But you would be able to call upon
the full generality of Lisp when needed.

Another view of the same idea: turn emacs into a windowing shell.
The primitives are for widgets instead of text editing.

--
Jonathan Edwards                                edwa...@intranet.com
IntraNet, Inc                                   617-527-7020
One Gateway Center                              FAX: 617-527-6779


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas M. Breuel  
View profile  
 More options Sep 25 1994, 10:15 am
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: t...@arolla.idiap.ch (Thomas M. Breuel)
Date: 25 Sep 1994 13:50:17 GMT
Local: Sun, Sep 25 1994 9:50 am
Subject: Re: Why you should not use Tcl
In article <3635a6$...@apollo.west.oic.com> dil...@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.  It is an excellent tool for smaller
|    projects (expect scripts, less complex Tk/Gui stuff) but Tcl is not
|    something I would want to inflict on somebody as a standard.
|
|    I also have to say that, personally, I think anything lisp-like is even
|    worse, so this response should not be interpreted as being particularly
|    for GNUs intentions.  Perl comes closest to what I believe GNU wants
|    but so far nothing fits the bill exactly, and I do not particularly
|    like Perl's variable syntax either (though it's better then TCL's).

Whether you have to put a "$" in front of variable names, use prefix
rather than infix syntax for addition, or put parens before rather
than after the function name really makes very little difference in
practice.

But Perl and Tcl do have serious syntax-related problems in the areas
of syntactic overloading, error recovery, scoping, and quoting.

Lisp wins hands down in all these areas, having a few, simple rules.
The only problem with Lisp syntax is that it doesn't give new users
that "warm and fuzzy feeling" of familiarity.

                                Thomas.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dan Connolly  
View profile  
 More options Sep 25 1994, 12:57 pm
Newsgroups: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
Followup-To: gnu.misc.discuss, comp.lang.tcl, comp.lang.scheme
From: conno...@hal.com (Dan Connolly)
Date: 25 Sep 1994 16:56:51 GMT
Local: Sun, Sep 25 1994 12:56 pm
Subject: Re: Why you should not use Tcl

In article <9409232314.AA29...@mole.gnu.ai.mit.edu> r...@gnu.ai.mit.edu (Richard Stallman) writes:

   Tcl has a peculiar syntax that appeals to hackers because of its
   simplicity.  But Tcl syntax seems strange to most users.  If Tcl does
   become the "standard scripting language", users will curse it for
   years--the way people curse Fortran, MSDOS, Unix shell syntax, and
   other de facto standards they feel stuck with.

I wholeheartedly agree. (See also:
        "Why Tcl Doesn't Scale"
        $Id: why-tcl-doesnt-scale.html,v 1.1 1994/06/20 16:47:53 connolly Exp $
        http://www.hal.com/users/connolly/drafts/why-tcl-doesnt-scale.html
)

But first, I think RMS's article fails to give credit where credit is
due. Tcl is a great contribution and serves many purposes. Dr. John
Osterhout has written some excellent code which helps a lot of folks
get a lot of stuff done. I fear that the lack of acknowledgement
in RMS's article will spawn a great volume of flames... let's hope
not.

Now that that's done with... what will GNU software use? Where can I
find more details?

For example, tcl/expect is used in DejaGnu, the regression testing
tools. Tcl seems well suited to this task. Certainly expect is the
best available tool of its kind. Is the plan to replace tcl with some
other scripting language in that toolset? That would seem to imply
that all the test suites would have to be revised. (Is dejagnu
considered GNU software, or is it like gnuplot in that it just uses
the GNU name?)

I gather that scheme is a contender. I like schemes formal grounding,
but scheme standards (R^4RS etc.) leave a lot of parts of a software
development platform unspecified. As a result, scheme code tends to
not be portable between implementations. Unlike large bodies of
common lisp code, large bodies of scheme code tend to need "tweaking"
and "porting" to run on various scheme implementations.
        * I'm not advocating common lisp.
        ** I don't have a lot of experience developing in scheme --
           I've just looked at lots of net distributions.

Have folks looked at Scheme48? See:
        "Scheme 48 home page"
        http://www-swiss.ai.mit.edu/~jar/s48.html

Has python been considered? I like the language, though the
implementation has some limitations. (for details, see
comp.lang.python or
        http://www.cwi.nl/ftp/python/index.html
)

Here are some of the issues I find important in a modern programming
language, with a comparison of some of the options:

Threads: for interactive programs -- especially distributed applications
         which are now the rule more than the exception -- thread support
         in the language/runtime greatly simplifies development

Modules: or packages or whatever: some mechanism to help maintain
         the namespace is a must.

Continuations: the all-powerful construct from which anything can be
                derived. Makes foreign-function interfaces a mess, though.
                Perhaps continuations or even objects are enough...

Good FFI: Foreign Function Interface. A way to bind C functions.
          "Good" in the sense that lots of folks have used it to
          build useful applications.

Exceptions: You can't rely on a style of checking return codes for
            building large, reliable programs.

RPC Support: Support for making calls across address spaces easily.

        Embedded Languages:
                Tcl     Scheme48        Python  Perl4   Obliq
Threads         ???(1)  YES             YES(2)  NO      YES
Modules         NO      YES             YES     YES     NO
Continuations   NO      YES             NO      NO      YES
Good FFI        YES     NO              YES     NO      YES
Exceptions      YES     YES             YES     YES     YES
RPC Support     YES     NO              YES(3)  NO      YES

(1) I think Tcl as a language is consistent with a multithreaded
    implementation, but I don't think the current implemention
    is thread-safe. Certainly there is no language support for threads.

(2) The python threads support is kinda funky and not too stable.

(3) Python includes support for automatic marshalling of basic types,
    plus socket support. It's not a complete RPC system, but it's close...

        "Systems programming" Languages:
                CommonLisp      C++     Modula-3
Threads         NO              NO      YES
Modules         YES             YES(4)  YES
Continuations   NO              NO      NO
Good FFI        ???(6)          YES     YES
Exceptions      YES             YES(5)  YES
RPC Support     NO              NO(7)   YES

(4) Using classes as namespaces is a messy hack.

(5) C++ exceptions are a messy hack.

(6) Various common lisp implementations probably have good FFI's.

(7) There are several C++ based RPC systems based on COBRA.

I also consider it important that the language lend itself to static
alalysis -- whether that means something like Modula-3's excellent
type system and strong static typing, or even scheme's formal
semantics and static scoping which make thinks like type inference and
program proving somewhat practical.

Static analysis enables things like code browsers and optimizing
compilers (or even source-to-source optimizers...). For an interesting
example, see the Modula-3 library source code at:

        http://www.research.digital.com/SRC/m3sources/html/INDEX.html

Mow imagine doing that with a body of C++ code -- if the C preprocessor
was used with great discipline, perhaps. But in real life...

Dan

--
Daniel W. Connolly        "We believe in the interconnectedness of all things"
Software Engineer, Hal Software Systems, OLIAS project   (512) 834-9962 x5010
<conno...@hal.com>                   http://www.hal.com/%7Econnolly/index.html


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 336   Newer >
« Back to Discussions « Newer topic     Older topic »