Newsgroups: gnu.misc.discuss,comp.lang.tcl,comp.lang.scheme,comp.lang.misc,comp.lang.perl
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!news.duke.edu!news-feed-1.peachnet.edu!gatech!swrinde!news.uh.edu!uuneo.neosoft.com!nmtigw!peter
From: peter@nmti.com (Peter da Silva)
Subject: Re: GNU Extension Language Plans
Message-ID: <id.WH3E1.V_1@nmti.com>
Sender: peter@nmti.com (peter da silva)
Organization: Network/development platform support, NMTI
References: <9410190420.AA02904@mole.gnu.ai.mit.edu> <38a3mk$lr8@csnews.cs.colorado.edu> <id.H52E1.GOE@nmti.com> <38bpio$agj@csnews.cs.colorado.edu>
Date: Mon, 24 Oct 1994 00:04:32 GMT
Lines: 60
Xref: glinda.oz.cs.cmu.edu gnu.misc.discuss:19095 comp.lang.tcl:20784 comp.lang.scheme:10542 comp.lang.misc:18345 comp.lang.perl:36925

In article <38bpio$agj@csnews.cs.colorado.edu>,
Tom Christiansen  <tchrist@mox.perl.com> wrote:
> Don't make the user through more work than necessary.  If it bothers you
> that that we in English sometimes naturally express outself with the
> conditional afterwards, use somthing else.  It's more restrictive and
> stilted and unnatural to enforce a particular style on the user.  Ask your
> mother if you don't believe me.

[snippet]

I'm sorry, but putting a feature in because it's english like is just
plain silly. Programming languages are not human languages. If you don't
think so, there's always COBOL.

The syntactic distance between

>     if (disbelieve $tom) {
		ask $mom;
      }

and:

>     ask $mom if disbelieve $tom;

is pretty high. The former is clearly a control structure. The latter is
hard to pick out of code.

As for C, I don't recall arguing that C is either easy to learn or that it
would make a good extension language.

On the gripping hand:

	for(;read_news;)
		flame();

and:

	while(read_news)
		flame();

retain the same basic form. They don't add to the conceptual cost of learning
and using the language.

Some extensions are useful. Foreach is like C's "+=", it takes a common
idiom and removes a lot of duplication from it. Postfix if doesn't reduce
the complexity of the statement any (there's still as many elements to
evaluate) but does add to the complexity of the language.

This is where I'm coming from: adding a feature to a language because it's
neat (and postfix if is certainly neat... it's downright cute) is a bad idea.
That way lies COBOL.

(no, I don't think Perl's COBOL. I will note that a lot of the improvements
 to Perl have involved removing complexity, which defends it from that
 charge quite well *and* supports my argument against un-necessary frills)
-- 
Peter da Silva                                            `-_-'
Network Management Technology Incorporated                 'U`
1601 Industrial Blvd.     Sugar Land, TX  77478  USA
+1 713 274 5180                       "Hast Du heute schon Deinen Wolf umarmt?"
