Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uwm.edu!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!ncar!asuvax!mcdphx!hrc!gtephx!barriost From: barriost@...!asuvax!gtephx (Tim Barrios) Newsgroups: comp.object Subject: Re: Readability of Ada Summary: only code [usually] gets maintained Message-ID: <1991May2.160009.4861@...!asuvax!gtephx> Date: 2 May 91 16:00:09 GMT References: <619@pickerel.UUCP> Distribution: comp Organization: AG Communication Systems, Phoenix, Arizona Lines: 43 In article <619@pickerel.UUCP>, hinton@gca.UUCP (Edward Hinton) writes: > > >Not really. The vast majority of work on software that goes on (like, > > >about 70%) is MAINTENANCE. This is often performed by underpaid, > > >underskilled, and overwhelmed junior programmers, many of whom are > > >unfamiliar with the original design, weren't around when "clever" > > >decisions were initially made, etc. To NOT program from the outset > > >with an eye toward making the job easier for the downstream maintainer > > >is criminal. > Ahhhhh, now we get to something that's actually important. Any language > can be readable/maintainable to those 'fluent' in the language if the code > is written to that end AND THE READER UNDERSTANDS WHAT IT IS SUPPOSED TO DO. > Comprehension needs to start with documentation using diagrams and English text > and then be followed by code which cleanly implements what is described. > I know this may be foreign to those whose only goal is number of KLOC they > write (no flames, please), but I am foolish enough to believe what I was > taught in my MSE degree program (as opposed to MSCS). That is, the real > documentation is NOT the code. Given this axiom, it seems that the choice of > implementation language is best made according to the tools available and > the anticipated skils of those doing the programming. yes, now we are getting somewhere! i agree that in new development, the language itself is not as important as things like design representations but in software maintenance (70% of the picture), usually, the only thing that is REALLY up to date is the code. for this reason, i would prefer CASE tools that keep a one-to-one mapping between design deliverables and source code rather than generating source code (specifications, .h files) from the design. if we had to go only in one direction, i'd prefer to generate the detailed design from the source code (can you say Ada PDL?). i understand that tools like this are available in both languages (Ada: PDLs, Rational environment; C++: Pilot (?)). the real issue in this discussion is the software engineering which, in the real world, is [at least] 70% maintenance. the technologies supporting software development (CASE, languages, OO*) should be more concerned about software maintenance rather than the relatively insignificant part (initial development). -- Tim Barrios, AG Communication Systems, Phoenix, AZ UUCP: ...!{ncar!noao!asuvax | uunet!zardoz!hrc | att}!gtephx!barriost Internet: gtephx!barriost@asuvax.eas.asu.edu voice: (602) 582-7101 fax: (602) 581-4022