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!europa.eng.gtefsd.com!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!lll-winken.llnl.gov!koriel!wnoc-sfc-news!wnoc-kyo-news!omrongw!jfriedl
From: jfriedl@nff.ncl.omron.co.jp (Jeffrey Friedl)
Subject: Thinking in a language (was GNU Extension Language Plans)
In-Reply-To: peter@nmti.com's message of Mon, 24 Oct 1994 00:04:32 GMT
Message-ID: <JFRIEDL.94Oct25101811@shibuya.nff.ncl.omron.co.jp>
Sender: news@omrongw.wg.omron.co.jp (News Manager)
Nntp-Posting-Host: shibuya.ari.ncl.omron.co.jp
Reply-To: jfriedl@nff.ncl.omron.co.jp
Organization: Omron Corporation, Kyoto Japan
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> <id.WH3E1.V_1@nmti.com>
Date: Tue, 25 Oct 1994 01:18:11 GMT
Lines: 53
Xref: glinda.oz.cs.cmu.edu gnu.misc.discuss:19131 comp.lang.tcl:20860 comp.lang.scheme:10589 comp.lang.misc:18385 comp.lang.perl:37037

peter@nmti.com (Peter da Silva) writes:
|> 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.

Again, sorry to jump into what's obviously an ongoing and heated
discussion, but, although I completely agree with most of what Peter says
(particularly the first paragraph above), the ending "the latter is hard to
pick out of code" is a rather silly thing to assert. If you don't know the
language, of course it's hard.  If you don't know the language (and it
doesn't resemble something you *do* know, such as COBOL vs. English :-),
anything is hard.

If you _Know_ the language, it's as natural as can be.  At least that's my
opinion. That it's not natural for you is yours.

The problem with perl is that it resembles C in many ways.  This is a
double-edged sword. It's good in that what is similar is, uh, similar.
It's bad in that what's not, isn't, and it's not always apparent what is
and isn't similar (that make any sense?). Anyone familiar with Japanese
will see the same double-edged sword in romaji, the expression of Japanese
using "English" letters.

The biggest trap of perl resembling C/sed/awk/COBOL/English/whatever is
that it can seduce a beginner. If you program in perl while Thinking in C,
your perl will suck bigtime.

   Let me say that again: If you program in perl while Thinking in C, your
   perl will suck.

Over the years I've done real, large, non-academic projects in some wild
languages (including FORTH, a nastalgic favorite), so had a pretty wide
range of experience when I first encountered perl in the late 2.x stage.
It took me a *long* time to get to really _Know_ perl (i.e. in the biblical
sense :-). But once I was able to Think in perl, it was magical, just as
when I was finally able to think in Japanese.

	*jeffrey*
-------------------------------------------------------------------------
Jeffrey E.F. Friedl <jfriedl@omron.co.jp>  Omron Corporation, Kyoto Japan
See my Jap/Eng dictionary at http://www.omron.co.jp/cgi-bin/j-e
                          or http://www.cs.cmu.edu:8001/cgi-bin/j-e
