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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public From: tbushell@fox.nstn.ns.ca (Tom Bushell) Subject: Re: What is wrong with OO ? Date: 1997/01/01 Message-ID: <32ca9f2d.174894569@news.nstn.ca>#1/1 X-Deja-AN: 207147603 references: <5a9r1k$e74@news4.digex.net> <32C88BE0.7F2B@acm.org> content-type: text/plain; charset=us-ascii organization: Telekinetics mime-version: 1.0 newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1997-01-01T00:00:00+00:00 List-Id: On Tue, 31 Dec 1996 09:28:08 -0600, rmartin@oma.com (Robert C. Martin) wrote: >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. Exactly. And since we're dreaming, let's take it a bit further. You should be able to edit the system at whatever level of abstraction you are viewing it. For example, adding a new argument to a method call would propagate through the whole system automatically, or create a map of errors where more detailed fixing was required. If the system was runnable before the high level change, and nothing was broken by the change, it should still run - immediately! >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. Seems to me this kind of eye/body type of learning comes much more naturally to humans than textual "book learning" does. Presumably the parts of our brain that deal with written language evolved much more recently, and are less advanced. >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. Very true. But my experience has been that "wiring in" to certain languages is easier. Smalltalk especially, Forth, and to a certain extent Visual BASIC seem much more natural and comfortable than C/C++, at least for me. I believe this is because they were concieved as _personal_ computer languages, so are highly interactive and open. C/C++ are FORTRAN descendants, which evolved in a mainframe batch environment. Of course, the supporting development environment can have a very large effect too - I'll take a GUI over a command line any day. It seems much easier to get into a state of flow when using these languages - you just code and test, and everything seems to work. I can hardly ever achieve this happy state in C, even though it's one of my most familiar languages - it's just too much like work. Interestingly enough, this can often be done without a lot of up front design, and rarely results in a mess. Many years ago, I read a very short article by a PC game developer. He talked about programming as "jamming", using the term the same way musicians do. I thought it was a very good analogy - implies a very smooth and natural process of creation. IMO, the more "sensual" (ie see/hear/smell/touch/taste) we can make our development tools, the more efficient and creative the development process will become. Visual programming is just a big step in this direction. -Tom ---------------------------------------------------------- Tom Bushell * Custom Software Development Telekinetics * Process Improvement Consulting 2653 Highway 202 * Technical Writing RR#1, Elmsdale, NS B0N 1M0 (902)632-2772 Email: tbushell@fox.nstn.ns.ca ----------------------------------------------------------