From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: *** X-Spam-Status: No, score=3.8 required=5.0 tests=BAYES_00,INVALID_MSGID, RATWARE_MS_HASH,RATWARE_OUTLOOK_NONAME autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public From: "Tim Behrendsen" Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/09/11 Message-ID: <01bb9f9c$b468c420$32ee6fcf@timhome2>#1/1 X-Deja-AN: 179861149 references: <01bb8df1$2e19d420$87ee6fce@timpent.airshields.com> <4vcac4$gm6@zeus.orl.mmc.com> <01bb8f19$9a89d820$32ee6fce@timhome2> <841797763snz@genesis.demon.co.uk> <322f864d.42836625@news.demon.co.uk> <01bb9bf9$61e9e0e0$87ee6fce@timpent.airshields.com> <50sj6q$aci@mtinsc01-mgt.ops.worldnet.att.net> <01bb9d25$9cb3cb00$32ee6fcf@timhome2> <50v6k3$soo@mtinsc01-mgt.ops.worldnet.att.net> <01bb9ded$cd0fdf00$32ee6fcf@timhome2> <5136on$7qj@goanna.cs.rmit.edu.au> <01bb9f26$36c870e0$87ee6fce@timpent.a-sis.com> <515al5$lm8@mtinsc01-mgt.ops.worldnet.att.net> content-type: text/plain; charset=ISO-8859-1 organization: A-SIS mime-version: 1.0 newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-09-11T00:00:00+00:00 List-Id: Craig Franck wrote in article <515al5$lm8@mtinsc01-mgt.ops.worldnet.att.net>... > jsa@alexandria (Jon S Anthony) wrote: > >In article <01bb9f26$36c870e0$87ee6fce@timpent.a-sis.com> "Tim Behrendsen" writes: > > > >> Procedural means "has a procedure." Nothing in the real world > >> is not procedural, but we can *express* algorithms non-procedurally. > >> This is where the term is useful. The term is meaningless when it > >> comes to implementation. > > > >Well, at this point, I'd have to say that your _definition_ has become > >meaningless, or at the very least, empty of content. > > It would be meaningfull if Tim could come up with an example of > "non-procedural" behavour. Procedural means it "has a procedure" adds > nothing, unless an example of "not having a procedure" is given. For > something to be a theory, you must be able to come up with a testable > example in which it is proven false. For a word to have meaning it must > be shown to have a "creditable distinction". "All is Up" impresses no one. > If, say, a random change from one state into the next, with the current > state having nothing to do with the past one, is considered "non-procedural", > then the definition has meaning. > > Remember, everything in the real world is real, and some things are > inexpressable, even though they have meaning. All algorithms may be > "procedural" when they are implemented, because that is the way an > "implementation" of an algorithm is defined by some. I agree. Procedural vs Non-procedural only has meaning in the expression of an algorithm, not in the implementation. Where this all started was my making a statement that the most crucial thing a student can learn is the procedural nature of the computer, to which someone responded (paraphrase) "well, what about non-procedural algorithms?", to which I said something to the effect of "everything is procedural". I should probably have said "all implementations are procedural", and that would have saved all these posts. :) [but perhaps not] I still stand by my statement, however, that the most critical thing a student can learn is the fundamentally procedural nature of the computer. Before syntax, before subroutines, before style, they must learn that algorithms are a forward-moving, cause-and-effect process. And this *is* something that must be learned, that most programmers take for granted as obvious. -- Tim Behrendsen (tim@a-sis.com)