Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!gca!hinton From: hinton@gca.UUCP (Edward Hinton) Newsgroups: comp.object Subject: Re: Readability of Ada Summary: Readability of code alone misses the point. Message-ID: <619@pickerel.UUCP> Date: 30 Apr 91 11:39:44 GMT References: Distribution: comp Organization: GCA Corporation, Andover Mass Lines: 44 (My apologies if I make a mistake on this posting, it's my first.) In article , preece@urbana.mcd.mot.com (Scott E. Preece) writes: > >>It would be foolish to program for the reading level of the novice > >>programmer > > > >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. > --- > I'm not talking about "clever" decisions or obscure programming tricks, > I'm talking about idiomatic use of a programming language. The only > measure of readability should be how the program text conveys its > purpose to a person reasonably fluent in the language. Otherwise, if > the goal is language-independent comprehension, we need to be talking in > entirey different terms, like diagrams and English text... > -- 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. Most often, the claim that this consists of 'junior' programmers is the truth. After all, how many highly paid experienced programmers can a software manager expect to keep if they are the ones doing software maintenance? It's easy to say that they should be the ones doing it, but after they all quit, I'm back to where we started. As a note from whence I speak: I manage a small group of software engineers and have seen good as well as bad. Less good than bad over the past ten years as a software engineer. By the way, since I have never written a single line of either C++ or Ada, I guess I really am arguing for language-independent comprehension. Now there's a sidetrack people can hop on me for.