Xref: utzoo comp.lang.c++:11702 comp.sw.components:527 Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!spool.mu.edu!samsung!usc!elroy.jpl.nasa.gov!ames!vsi1!daver!tscs!tct!chip From: chip@tct.uucp (Chip Salzenberg) Newsgroups: comp.lang.c++,comp.sw.components Subject: Re: Co-ordinating the polymorphism in C++ Message-ID: <27BFDF44.3EA6@tct.uucp> Date: 18 Feb 91 14:05:55 GMT References: <1991Feb14.063522.27655@gpu.utcs.utoronto.ca> <27BC17C4.6304@tct.uucp> <1991Feb16.121825.15353@gpu.utcs.utoronto.ca> Followup-To: comp.sw.components Organization: Teltronics/TCT, Sarasota, FL Lines: 62 Craig writes a very pragmatic [:-)] description of object oriented programming and its possible future directions. I suppose I should have read Craig's original article in its entirety, rather than judging its contents by the one "revolution" remark. Mea culpa. According to craig@gpu.utcs.utoronto.ca (Craig Hubley): >If what you mean is that users will always need programmers, >I'll buy that. I'm glad. :-) Some people have truly unrealistic expectations for the reduction of programming effort. IMHO, given the expanding importance of computers in society, programming tasks will expand to use all available programmers. If OO makes us more productive, that's all the better: we'll get more done. But we'll still be needed. >The craft of programming will continue to exist, but it will migrate, >hopefully, into higher-level concerns and lowest-level details. What he said. >My version, and probably yours too from what you say: >"The industrious man is always willing to work to overcome deficiency - > thus all breakthroughs depend on the lazy man" :) Absolutely. Larry Wall's three virtues of programmers are Laziness, Impatience and Hubris. And let us not forget Heinlein's great example for programmers everywhere: "The Man Who Was Too Lazy To Fail." >Mass-produced cars and guns were markedly inferior to their handmade >counterparts in the beginning. They appealed to people because they >were *cheap*. Period. Indeed (and handmade goods are still superior in quality). But we here at TCT already have a production line: one person with a box of standard streamer tapes, and a "publications department" consisting of a few people and a huge copying machine. So much for software production! Programming is not production in the industrial sense. I would consider it more similar to the design department of the car and gun manufacturers than to their production lines. Programming is a low-volume, high-creativity consolidation of thought into a formal notation. As such, it is fundamentally different from the high-volume, low-creativity work that characterizes mass production. (Don't get hung up on the term "low-volume." As programming methods progress, our sadly limited mental output can produce greater and greater results.) >I am only suggesting that building these parts is easier if there is a way >to explicitly control the behavior presented to the (re)user of a component. I would like to see this done with assertions as part of the C++ class definition. The more checking that can be done by the compiler, the better. But I am not willing to jump on the Objective-C bandwagon, if only because static typing is a useful way to avoid a great deal of run-time messaging and debugging overhead. -- Chip Salzenberg at Teltronics/TCT , "I want to mention that my opinions whether real or not are MY opinions." -- the inevitable William "Billy" Steinmetz