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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Xref: utzoo comp.object:2750 comp.lang.ada:4981 Path: utzoo!news-server.csri.toronto.edu!rutgers!usc!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!pacbell.com!ames!sun-barr!lll-winken!ubvax!igor!rutabaga!jls From: jls@rutabaga.Rational.COM (Jim Showalter) Newsgroups: comp.object,comp.lang.ada Subject: Re: ada-c++ productivity Message-ID: Date: 17 Mar 91 00:40:44 GMT References: <1991Mar7.163106.29477@wdl1.wdl.loral.com> <1991Mar10.151220.2581@forwiss.uni-passau.de> <11966@pasteur.Berkeley.EDU> Sender: news@Rational.COM Followup-To: comp.object Distribution: usa List-Id: Semantics. An object is defined as something with state that suffers actions. Thus, a Boolean global variable is an object, and two seconds of reflection will tell you that just about anything qualifies as an object. Ada does a fine job of representing objects, thus, it is object-oriented. But not, of course, by THIS definition: >"A language is object-oriented if and only if it satisfies the following >requirements: >- It supports objects that are data abstractions with an interface of named > operations and a hidden local state >- Objects have an associated type (class) >- Types (classes) may inherit attributes from supertypes (superclasses)" But wait, the only thing missing is #3 (by the way, derived types get you part way there). And #3 doesn't even CONTAIN the word "object". What it talks about is "inheritance". Aha! So the argument comes down to whether a language is inheritance oriented or not, which I view as much more significant distinction. Object-oriented certainly includes Ada. Inheritance-oriented certainly does not include Ada (where are you, 9x?). Personally, I'm much more interested in whether or not a language is SOFTWARE ENGINEERING oriented or not. Ada and C++ certainly qualify, with spec/body separation, formalization of interface, opaque types, strong typing, etc. Languages like C and FORTRAN and COBOL don't make the cut. -- ***** DISCLAIMER: The opinions expressed herein are my own. Duh. Like you'd ever be able to find a company (or, for that matter, very many people) with opinions like mine. -- "When I want your opinion, I'll read it in your entrails."