Newsgroups: gnu.misc.discuss,comp.lang.tcl,comp.lang.scheme,comp.unix.misc,comp.windows.x.apps
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!yeshua.marcam.com!charnel.ecst.csuchico.edu!csusac!csus.edu!netcom.com!netcom7!vanmeule
From: vanmeule@netcom7.netcom.com (Andre van Meulebrouck)
Subject: Re: Why you should not use Tcl
In-Reply-To: ouster@tcl.eng.sun.com's message of 26 Sep 1994 18:13:27 GMT
Message-ID: <VANMEULE.94Sep27022647@netcom7.netcom.com>
Sender: vanmeule@netcom.com (Andre van Meulebrouck)
Organization: NETCOM On-line services
References: <9409232314.AA29957@mole.gnu.ai.mit.edu> <367307$1un@engnews2.Eng.Sun.COM>
Date: Tue, 27 Sep 1994 09:26:47 GMT
Lines: 61
Xref: glinda.oz.cs.cmu.edu gnu.misc.discuss:18350 comp.lang.tcl:19373 comp.lang.scheme:9954 comp.unix.misc:15873 comp.windows.x.apps:7927

In article <367307$1un@engnews2.Eng.Sun.COM> ouster@tcl.eng.sun.com (John Ousterhout) writes:

[. . .]

	      This is the proposition that you should use *two* languages
>for a large software system:  one, such as C or C++, for manipulating the
>complex internal data structures where performance is key, and another,
>such as Tcl, for writing small-ish scripts that tie together the C pieces
>and are used for extensions.  For the Tcl scripts, ease of learning,
>ease of programming and ease of glue-ing are more important than
>performance or facilities for complex data structures and algorithms.
>I think these two programming environments are so different that it
>will be hard for a single language to work well in both.  For example,
>you don't see many people using C (or even Lisp) as a command language,
>even though both of these languages work well for lower-level programming.

No, you don't see many using C or LISP as a command language.

I think C is not suited to the purpose, but I think LISP is, and it
grieves me deeply that LISP is (usually) *not* used as a command
language.

I hate having to learn different languages for different purposes.  I
would like nothing more than to have *one* language--a machine where
all programming can be expressed in terms of LISP.  Otherwise, you are
not operating in a universe, but a polyverse.  

It seems like every darned application these days has its own macro or
application language.  They are all different, none are as
expressively powerful as LISP, and none are IMHO very good (or
coherent) from a language standpoint.

I would much rather learn ONE language and have that one language be
embellished by substrates which have specific primitives/functions for
specific purposes rather than use up so many brain cells learning
application specific mini-languages that all seem to reek so badly.

If need be, allow only a gutted subset of LISP in an application for
application specific programming, but golly, I'd love to see an end to
inventing arbitrary languages for every situation that needs to
express something!

One approach, used on the Symbolics, was to have a Command Processor
that had command completions for issuing various commands, but you
could also express yourself in straight LISP if you wanted.  That
approach is very nice for those of us not wanting to spend our time
learning a myriad of different languages (with their myriad of
different quirks).

I think all of computerdom could use some streamlining--it's so
needlessly complicated that mere mortals must call on wizards (or as
Alan Kay calls them: priests of a low cult) to navigate their way
through the complexity of computerdom in trying to get useful work
done.  And this business of learning a new language for each
application/situation is one of the culprits IMHO.

[. . .]
-- 
+------------------------------------------------------------------------+
| Andre van Meulebrouck.  For personal data:  finger vanmeule@netcom.com |
+------------------------------------------------------------------------+
