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=1.4 required=5.0 tests=BAYES_50,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public From: rmartin@oma.com (Robert C. Martin) Subject: Re: What is wrong with OO ? Date: 1996/12/31 Message-ID: #1/1 X-Deja-AN: 206952361 references: <5a9r1k$e74@news4.digex.net> <32C88BE0.7F2B@acm.org> organization: Object Mentor Inc. newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1996-12-31T00:00:00+00:00 List-Id: In article <32C88BE0.7F2B@acm.org>, i.joyner@acm.org wrote: > The most important tool is the compiler. The problem with C and C++ > tools is that many of them are to make up for language deficiencies. > With a better designed language, which takes into account what modern > computers can do, the need for many of these tools simply disappears. > Also as I wrote in another thread, the need for most style rules > that programmers are encumbered with also disappears. This is undoubtedly true. As engineers we need a CAE system that combines the CASE tool, editor, compiler, documentation tool, debugger, test plan generator, simulator, etc into a single seamless facility. We should be able to browse through our design diagrams, focusing into certain points, double clicking on an adornment or icon to bring up a stretch of "source code" which we could edit. Then build and debug in the same environment. Such a system maintain traceability between requirements, use cases, design artifacts and modules. It would maintain lists of programmer and analysts notes that were germane to each other. It would facilitate communcations between engineers working on the project regardless of their location. It would facilitate configuration management and version control. It would facilitat project management. No such tool exists today. I think it will be a long time before such a tool does exist. But I can dream. > Exactly, the point! In fact the implementation should be left up to > the compiler. But too much with C++ you are forced to think of how > to implement things early. It is rather like flying the WWI plane, > where you must think to go left, I must adjust the tail to do so. Of course, after a little practice, the notion of turning right immediately translates into the corresponding pressures and velocity profiles for the stick and the pedals. No thought is required. The appropriate responses become wired into the brain. So it is with any computer language. Once you have mastered it, its use becomes wired in, and the struggle with the layer between design and implementation disappears. -- Robert C. Martin | Design Consulting | Training courses offered: Object Mentor | rmartin@oma.com | Object Oriented Design 14619 N Somerset Cr | Tel: (847) 918-1004 | C++ Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com "One of the great commandments of science is: 'Mistrust arguments from authority.'" -- Carl Sagan