Xref: utzoo comp.object:3592 comp.lang.c++:13663 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!dali.cs.montana.edu!uakari.primate.wisc.edu!sdd.hp.com!elroy.jpl.nasa.gov!decwrl!netcomsv!jls From: jls@netcom.COM (Jim Showalter) Newsgroups: comp.object,comp.lang.c++ Subject: Re: C++ and waitresses (long) Keywords: C++, objective-C (TM), Eiffel, software reuse Message-ID: <1991May25.073216.15040@netcom.COM> Date: 25 May 91 07:32:16 GMT References: <2325@media03.UUCP> <1991May24.015856.9979@csusac.csus.edu> <4034@ssc-bee.ssc-vax.UUCP> Organization: Netcom - Online Communication Services UNIX System {408 241-9760 guest} Lines: 46 >Maybe my perspective is warped from too many years working >for large corporations, but decisions about programming languages are >rarely (IMHE) made by the right people for the right reasons. I'm interested in both what you think the right reasons are, and who you think the right people are (no flame--I'm honestly curious). >Now in >a language such as Eiffel, you are *forced* to do *everything* in an >OOP manner, which, I believe is a good thing. Which can be both a blessing and a curse. It makes no more sense to me to claim that everything is an object than it does to claim that everything is a function. I have seen many cases where people have force-fit entities in the problem space into objects in the solution space (because they had no choice) when it was truly unnatural to do so. A common example of this is objects that have names like "Database_Manager" because they're really not objects at all--they're really just processes or control structures or top-most application code--but they had to be turned into SOME kind of "object" to conform to the OO paradigm. Every time I see an example of the English language being tortured like this to accomodate the strictures of the programming language, it is a red flag for me. Some things are objects, some things are not objects. C++ at least acknowledges that fact, and permits a more hybrid style of programming. Languages that do NOT permit hybidization are as restrictive and constraining as the ones they are intended to displace. My objective is to write software that is as understandable as possible. If that means I have both objects and other kinds of things in my code, then so be it: I'd rather have a more intuitive solution that is not Politically Correct[tm] than a "pure" OO solution that is artificially slanted to the paradigm du jour. > Most likely many > will choose C++ simply because it: > a) is well known and is a successor to the immensely popular C. > b) it is readily available, *now*, on most platforms. > c) AT&T is behind it, which is related to a) and b). d) isn't Ada ;-) -- **************** JIM SHOWALTER, jls@netcom.com, (408) 243-0630 **************** *Proven solutions to software problems. Consulting and training on all aspects* *of software development. Management/process/methodology. Architecture/design/* *reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++. *