Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!orstcs!ogicse!decwrl!megatest!djones From: djones@megatest.UUCP (Dave Jones) Newsgroups: comp.lang.misc Subject: Re: what is c++, c, ansi c etc... Message-ID: <12593@goofy.megatest.UUCP> Date: 13 Apr 90 01:12:05 GMT References: <15342@bfmny0.UU.NET> Distribution: usa Organization: Megatest Corporation, San Jose, Ca Lines: 106 I've lost track of who contributed how many levels of greater-than's ">". >>>> Also what is object oriented programming? > >>> The latest name that young urban computer science types have applied to >>> the old idea of adding another level of indirection to function calls. > >>Bravo! But, I doubt you will hear many more positive responses to that >>statement. > As others will point out, with varying degrees of indignation, the indirect function call idea is only part of it. "Oop" is a collection of old ideas -- exactly which collection it is is the subject of endless debate. Nothing wrong with that, of course. Invention is always accomplished through recombination and synthesis. > ... > I can sympathize with grumbling veterans who see recognizable ideas at > the center of OOP and feel like dismissing the result as Not That Big A > Deal. I'm one of those veterans. So far, no need for a drool cup, but I keep the medical prosthesis company's phone number handy. Be that as it may. Guess what? I like C++. No, it's not that big a deal, but I like it and use it when I can. (Thanks, Bjorne.) I also enjoyed some of the books on OOP. (Thanks, Brad.) Discussions can indeed be a little irksome for us crusty old silver-backs when we think we hear the young geniuses crowing about having saved software from our ineptitude. How smart they are and how well they understand. What big words they invent. The only consolation is the certain knowledge that most of them will grow up, and there will be a brand new crop of geniuses lecturing them! The growing up doesn't usually even take very long. Two or three years full time at a real job usually does it. > (If I had been around at the time, I probably could have mustered > similar sympathy for old line machine language hackers sneering at > those new "high level" languages.) The analogy is not quite fair. For one thing, I don't think it ever happened that way. FORTRAN was an immediate, smashing success, even with -- especially with -- the "old line" machine language hackers of the time (who were mostly in their twenties). The big advantage was not so much that it is "high level" -- I have never yet figured out what that means -- it was that it is machine-independent. Some ideas are so obviously good that there is not much room for argument. For that matter, I don't think there is much argument that the techniques of "object-orientation" are useful. I, and no doubt many others, independently came to use so-called "OOP" techniques, long before I ever heard the term "object-oriented". But I do not think languages which assist in automating such programming are nearly so revolutionary as the first machine-independent languages were. But if you think all that has much to do with the irk-factor, you really don't understand the nature of irk. Irk has nothing to do with being right or wrong. Recipe for irk: Mix equal parts of presumption, vanity, and stubbornness. Add ignorance to taste. Allow to fume. As one how-to book on fiction writing I recently read put it, if you want to make a character irksome, you can make him "self-appointed". > >But you can't turn back the clock. > Sometimes the clock turns itself back. When I was young-and-easy-about- the-lilting-house, "top-down design" and "piecewise refinement" were going to save the software world, and the hot new item was Pascal. There were whole sections in the computer bookstores devoted to those topics, just as there are now for OOP. It took us a few years to figure out how much off the mark all that was, but eventually, the clock turned back. > If programming were perfect it wouldn't need any new approaches. I am > not too impressed with our current state of perfection, are you? Yes! Imperfect though it may be, how can you fail to be impressed? I am very much impressed indeed! It is easy to be cynical when you are intimately familiar with a field of endevour. And it is true that the discipline can, and will, get much better. But look around you and marvel at the number and variety of machines you see being dependably controlled by computer! As recently as a dozen years ago, you saw virtually none. Now they are everywhere. And somehow, in spite of the imperfect way we develop and test them, the programs work -- not always, and not always perfectly, but they work damned well, and they are getting better all the time. For the most part, the check gets printed, the brakes don't lock, the airplane lands. The call goes through, the tee-shirt logo gets stamped, the newspaper gets printed. The elevator elevates. Last night on the TV, I heard a Bach cantata sung by a coloratura soprano computer so expertly that it was chilling! Not only do the programs work, but they are now developed in a small fraction of the time it would have taken fifteen years ago. As long as I am in this business, I will try to improve software development techniques and disciplines, but I see no reason to sneer at what has been done so far, in so short a time. I find it utterly amazing!