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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public From: rgilbert@unconfigured.xvnews.domain (Bob Gilbert) Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/09/11 Message-ID: <5168kj$erh@zeus.orl.mmc.com>#1/1 X-Deja-AN: 179928772 references: <51368e$6ir@goanna.cs.rmit.edu.au> organization: The unconfigured xvnews people reply-to: rgilbert@unconfigured.xvnews.domain newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-09-11T00:00:00+00:00 List-Id: In article <51368e$6ir@goanna.cs.rmit.edu.au>, ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe) writes: > rgilbert@unconfigured.xvnews.domain (Bob Gilbert) writes: > > >I suspect our definitions of procedural vs non-procedural (e.g. object > >oriented) views are not the same. Non-procedural views do not imply > >"instantaneous" algorithms, the non-existence of a time axis, or whatever. > > It strikes me as a very strange use of language to call object-oriented > programming (of the kind exemplified by Simula 67, Smalltalk, C++, Ada 95, > CLOS, Eiffel, Self, Cecil, NewtonScript, &c) "non-procedural". They are > about as thoroughly procedural as you can get. > > The opposite of "procedural" is not "OOP" but "declarative". > Declarative languages include Haskell, Clean, Mercury, and perhaps Goedel, > which I don't know all that well. Maybe Sisal at all, but I don't know it. > In those languages the programmer has no idea and no reason to care in > what order operations are performed; any order the compiler chooses will > make sense. (Yes, it is still possible to write programs that interact > with the world, and at least in Clean, very simply and elegantly.) I think I have been taken out of context here. I wasn't discussing specific languages, but rather a "view" of the problem domain. Originally Tim Behrendsen made a statement to the effect that students must be taught to think in terms of breaking problems into procedures with inputs and outputs. I simply claimed that this *view* was very procedureal and many proponents of things like object oriented design might take exception to that view-point, or at least the implication that it is the only way to view a solution. I was only offering OOD as an example of an alternative way of viewing the problem and designing a solution where one shouldn't think simply in terms of inputs, processing, and outputs. -Bob