Path: utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!brutus.cs.uiuc.edu!rpi!batcomputer!riley From: riley@batcomputer.tn.cornell.edu (Daniel S. Riley) Newsgroups: comp.object Subject: Re: Guthery slams OOP in latest DDJ Summary: severe bogosity watch. caution advised. Keywords: fortran OOP bogus Message-ID: <9334@batcomputer.tn.cornell.edu> Date: 21 Nov 89 16:41:27 GMT References: <2664@bingvaxu.cc.binghamton.edu> Reply-To: riley@tcgould.tn.cornell.edu (Daniel S. Riley) Organization: Cornell Theory Center, Cornell University, Ithaca NY Lines: 28 In article <2664@bingvaxu.cc.binghamton.edu> cjoslyn@bingvaxu.cc.binghamton.edu (Cliff Joslyn) writes: >I'm not an OOP programmer, but I read a real convincing argument in the >latest Doctor Dobb's Journal #158, "Are the Emporer's New Clothes Object >Oriented?", pp. 80-86 by Scott Guthrey. > >He says a lot of things, but one quote: "Stripped of its fancy jargon, >an object is a lexically-scoped subroutine with multiple mutiple entry >points and persistent state. OOP has been around since subroutines were >invented in the 1940s. Objects were fully supported in the early >programming languages AED-0, Algol, and Fortran II. OOP was, however, >regarded as bad programming style by Fortran aficionados". I'm not an OOP programmer either, and I haven't seen the article. I am a Fortran programmer, most of the time, and, from the quotes here it sounds like this article is a good nominee for "most bogus article appearing in a formerly reputable journal." An object implemented as a Fortran subroutine with multiple entries allows only *one* instance of the object, unless you explicitly set up and save state for each instance. This hardly qualifies as "fully supported." What the author calls "OOP" is indeed (usually) bad programming style in Fortran. This reflects the lack of useful support in the Fortran language for this style of programming; it says nothing at all about the usefulness of OOP techniques in general (or specifically in languages designed to support OOP). -Dan Riley (riley@tcgould.tn.cornell.edu, cornell!batcomputer!riley) -Wilson Lab, Cornell University