Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!ucsd!telesoft!rlk From: rlk@telesoft.com (Bob Kitzberger @sation) Newsgroups: comp.software-eng Subject: Re: bridge building (was Re: Documenting OO Systems) Message-ID: <1264@telesoft.com> Date: 13 May 91 16:52:27 GMT References: <1991May3.234349.14026@auto-trol.com> <1311@grapevine.EBay.Sun.COM> Distribution: na Organization: TeleSoft, San Diego, CA, USA Lines: 49 chrisp@regenmeister.EBay.Sun.COM (Chris Prael) writes: >The point that you seem to me to be missing is that the languages that >attempt to force the programmer into "good" practices do no better than >C. Nope, that's the point that is _denied_, not missed. >No one has built a compiler that can force you to get or develop a clear >statement of requirements. No one has built a compiler that can force >you to completely design the functionality of a program (or even >partially, for that matter). No one has built a compiler that can force >you to have peers and/or users review your design. No one has built a >compiler that will force you to design how the program will implement the >functionality you have arrived at. All valid points, however, there are languages that _encourage_ good software engineering practices, e.g. separation of specification and implementation, strong type checking, inter-module dependency verification, etc. C isn't one of them. Can this honestly be denied? >These are the processes that an "engineer" goes through, whether s/he is >building software, a disk drive, a car engine, or a bridge. If you are >not going through these processes, you are not an engineer and no >compiler yet imagined can help or force you to be one. ^^^^^^^^ big difference between helping and forcing. Yes, but insistence on using a tool that discourages engineering discipline warrants justfication! Simile and analogy seem to be popular in this newsgroup lately... let me draw another. I'm marginally content that small housing structures are built with relatively quick, low accuracy techniques. HOWEVER, if a builder uses the same tools and techniques to build skyscrapers and large public buildings that he uses to slap together a condo complex, they're setting themselves up for a serious lawsuit. The tools must scale up with the complexity of the project. The complexity of software systems is growing quickly, such that there are rarely any projects under 100,000 SLOC (sweeping assumption). It borders on negligence to build these systems with nothing more than a screwdriver, a hammmer, and a level, despite any commitment to modern software engineering principles. .Bob. -- Bob Kitzberger Internet : rlk@telesoft.com TeleSoft uucp : ...!ucsd.ucsd.edu!telesoft!rlk 5959 Cornerstone Court West, San Diego, CA 92121-9891 (619) 457-2700 x163 ------------------------------------------------------------------------------ "Wretches, utter wretches, keep your hands from beans!" -- Empedocles