Re: Larry Wall, on Tcl
- From: "tom.rmadilo" <tom.rmadilo@xxxxxxxxx>
- Date: Sun, 9 Dec 2007 09:49:29 -0800 (PST)
On Dec 9, 6:43 am, Bryan Oakley <oak...@xxxxxxxxxxxxxxxxxxxx> wrote:
tom.rmadilo wrote:....
First is that Perl is such a poor language that it needs to be
reinvented. A not so subtle admission of a system which hasn't stood
the test of time.
I think that's a bit too inflamatory. Lets keep language bashing to a
minimum, please.
I think most serious programmers would disagree completely with your
statement. Perl is a fine language which has quite well stood the test
of time from what I can see. It's just that ther Perl community, or
Larry Wall, wants to make it better. What's wrong with that?
Ummm, that is my interpretation of Larry Wall's discussion, not my
assessment of Perl. I already stated that I use Perl applications, no
problem with that. I'm not bashing any language, just the use (by
Wall) of a few dozen bad trends in Perl and other scripting languages
as an excuse to make language changes. Maybe Per is in need of change,
but the users are the ones who demonstrate bad uses. Some languages
are designed with bad use in mind. Wall identifies these. And Tcl's
bad design decisions is 'considering everything a string', among
others. The Wall article is full of reactionary bashing, and it
appears he's turned the bashing right back on Perl, not me.
Our own community has had a "Tcl 9" page on the wiki that includes all
sorts of potentially backwards-incompatible suggestions. Does that mean
Tcl hasn't stood the test of time either?
When I find something I can't do in Tcl, maybe I'll read up on Tcl 9.
Personally one of the most clear expressions of language bashing is
usually from within the community. Someone has heard of a neat concept-
of-the-year and wants to be able to do it in their language, so it'll
be cool. These are not language designers, these are feature whores.
Every language does not have to have every feature. In Tcl you add
features with procedures and packages, not by redesigning the
language. My advice for anyone considering language changes is to try
to write it in normal Tcl, show how much easier it would be in another
language which uses the feature, and provide a detailed example of how
the new feature would simplify a significant are of Tcl coding. And
simplify means more than just less code, which can usually be achieve
with replacing verbose code with a procedure call, simplicity also
means the ability to help developers think about a problem. [lassign]
is a good example. It does more than [foreach] with a [break],
although I recently discovered that I wish we had an [assign] which
does exactly [foreach $varList $dataList {break}], which is something
of an extension of [set]. A similar command for arrays would also be
useful [array assign arrayName] would create local variables based
upon the array names. These are not incompatible language changes, and
I use regular Tcl code to express the concept, but it makes code more
obscure than necessary, or maybe not. Maybe [array assign arrayName
$varList] would be better. Non-existing vars set to ""?
Tcl is certainly no more nor less perfect than Perl. Different
priorities, different languages.
Hopefully language developers will respect the priorities of their
language as they seek to improve it. Simply wanting to change a
language doesn't make the cause noble, or place the proposal above
question.
.
- Follow-Ups:
- Re: Larry Wall, on Tcl
- From: Cameron Laird
- Re: Larry Wall, on Tcl
- From: Darren New
- Re: Larry Wall, on Tcl
- References:
- Larry Wall, on Tcl
- From: Bryan Oakley
- Re: Larry Wall, on Tcl
- From: tom.rmadilo
- Re: Larry Wall, on Tcl
- From: Bryan Oakley
- Larry Wall, on Tcl
- Prev by Date: How to spawn a tcl console from a script
- Next by Date: Re: How to spawn a tcl console from a script
- Previous by thread: Re: Larry Wall, on Tcl
- Next by thread: Re: Larry Wall, on Tcl
- Index(es):
Relevant Pages
|