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,97482af7429a6a62 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,97482af7429a6a62 X-Google-Attributes: gid103376,public X-Google-Thread: 10d15b,97482af7429a6a62 X-Google-Attributes: gid10d15b,public From: ncohen@watson.ibm.com (Norman H. Cohen) Subject: Re: C++ not OOP? (Was: Language Efficiency Date: 1995/04/21 Message-ID: <3n8idf$jer@watnews1.watson.ibm.com>#1/1 X-Deja-AN: 101368970 distribution: world references: <3mbmd5$s06@icebox.mfltd.co.uk> <3mcfbf$psl@acmez.gatech.edu> <3mgnkc$e3j@atlantis.utmb.edu> <3mk65q$1kti@watnews1.watson.ibm.com> <3muavq$46u@atlantis.utmb.edu> organization: IBM T.J. Watson Research Center reply-to: ncohen@watson.ibm.com newsgroups: comp.lang.c++,comp.lang.ada,comp.lang.cobol Date: 1995-04-21T00:00:00+00:00 List-Id: In article <3muavq$46u@atlantis.utmb.edu>, Curtis Bass writes: |> ncohen@watson.ibm.com (Norman H. Cohen) wrote: ... |> > It is easy to do a straightforward transliteration of a |> > Fortran IV program into Smalltalk, for example. |> |> Perhaps. However, I maintain that the result is NOT "purely |> procedural." It has to be Object-Oriented, even if all of |> your code is attached to only one object. This would be |> like writing a single procedure in Pascal -- the resulting |> program is not "unstructured," is it? The structure is not |> "good," but it's better than spaghetti code. |> |> The bottom line is that your "straightforward transliteration |> of a Fortran IV program into Smalltalk" will STILL result in |> an Object-Oriented program, although it will have bad OO |> Design. There is no way around it -- your procedures cannot |> exist as independent entities; they must be attached to an |> object. That's a pretty superficial definition of what constitutes OOP. Given that all-encompassing definition, there's no point in wasting time discussing what attributes OO programs might or might not possess. Mechanically applying labels is a silly exercise. Suppose I were to write a new language named Bigtalk. Its reference manual is identical to the Smalltalk manual, except that all occurrences of the word "object" have been replaced by "egg salad" (after which the sentence "Some computer scientists egg salad to this approach," has been restored to its original form). Would you say that if the Fortran transliteration is fed to a Bigtalk interpreter instead of a Smalltalk interpreter, it now consitutes an egg-salad-oriented program instead of an object-oriented program, because all procedures are attached to egg salads? -- Norman H. Cohen ncohen@watson.ibm.com