home *** CD-ROM | disk | FTP | other *** search
- Date: 26 Dec 1986 03:14:33 PST
- Subject: We're getting there - slowly
- From: Edward V. Berard <EBERARD@ADA20.ISI.EDU>
-
-
- Until November of 1982, I was violently anti-Ada. I had heard the
- arguments of C.A.R. Hoare, and had agreed with them somewhat, but that
- was not the main reason for my objections to the introduction of the
- language.
-
- Since 1978, I have provided training and consulting to clients in the
- U.S., Canada, Europe, and Japan. These services were software
- engineering related, i.e., they covered topics from programming
- languages to structured methodologies to software engineering
- management to computer hardware. A great deal of my work required that
- I travel to the location of my clients. Since 1978, I have been to
- literally hundreds of different shops, and have talked to literally
- thousands of programmers and managers.
-
- What I saw had a profound impact on me. Before I began this work, I
- was under the false impression that there was little difference
- between the state-of-the-art and the state-of-the-practice in software
- engineering. I was very wrong. A majority of the people that I saw
- were very poorly trained -- managers *and* programmers. Those that had
- even a glimmer of an idea of what sound software engineering entailed
- were often (but not always) restricted by poor management, buyer
- indifference, contracting office stupidity, and a very entrenched "old
- guard."
-
- "Most programmers and managers can't get out of the way of their own
- two feet with languages like COBOL and FORTRAN.", I argued, "... and
- you're going to give them Ada? ... a language that makes PL/I look
- like BASIC!"
-
- What changed my mind was a presentation I attended given by Larry
- Druffel, then director of the Ada Joint Program Office. He said
- something that shocked me. The Department of Defense was not merely
- introducing a new programming language, he said. The DoD realized that
- it would be sound software engineering practice, *not the simple
- introduction of yet another programming language*,that would help
- alleviate the proverbial software crisis. The DoD was talking about
- items like STARS, the Software Engineering Institute, Ada Programming
- Support Environments, Educationman (now ASEET), Methodman, and others.
- The message was software engineering, not the syntax and semantics of
- Ada.
-
- In the four years since I heard Larry Druffel give that presentation
- things have changed dramatically. Yet there has been relatively little
- movement on the most important issue. Many people seem to think that
- the most important issue regarding Ada technology is the syntax and
- semantics of the language itself. Programs like STARS seem to be in
- trouble. Far too many managers and programmers think that all that is
- required is "a week or two of hands-on training in the syntax of the
- language." Contracting offices still fill requests for proposal with
- meaningless "buzzwords."
-
- Yes, I know the message is getting through very slowly. Eventually
- both the government and software practitioners will stop "shooting
- themselves in the foot" with such predictability. I also know that the
- vast majority of these people are not stupid, just horribly misguided.
- We all want to do the best job possible.
-
- What set me off on this tirade? An electronic mail message informed me
- today that the Ada Software Repository had accepted a contribution
- which would allow Ada programmers to mimic FORTRAN's common blocks.
- Almost two decades ago, IBM researchers (e.g., Larry Constantine)
- showed the damage that "global data" could do to a system.
-
- Without sound software engineering behind it, and the presence of an
- "Ada mindset," Ada is an accident looking to happen. Please do not try
- to duplicate the software engineering mistakes of FORTRAN, COBOL, C,
- Pascal, and assembly language in the Ada language.
-
- But not to worry. Ada compilers are inanimate objects. When the
- project blows up, you can always blame Ada. Now what was that about a
- poor workman blaming his or her tools?
- -- Ed Berard
- (301) 695-6960
- --------
- Date: Tue, 30 Dec 86 01:50:48 PST
- From: larry@Jpl-VLSI.ARPA
- Subject: Globals + Texts + Simplicity
-
- GLOBAL DATA AND SW ENG The only reason I can see for Ada versions of ForTran
- COMMON or HAL/S COMPOOLS is for quick one-for-one
- translations of code from ForTran or HAL/S to Ada. If one needs global data
- there are better ways to do it. Norm Cohen discusses this at length (with
- appropriate cautions) in his _Ada_as_a_Second_Language_. See especially
- pages 293-7 and 370-3.
-
- There are times, of course, when global data is an optimal solution to a
- problem. It's the nature of any kind of engineering that trade-offs always
- have to be made. But the number of people with SW responsibilities who
- don't have any SW engineering knowledge is a national disgrace shared
- equally by education and industry. I find it sourly ironic that the
- military--supposedly the least foward-looking, "with-it" American
- institution--is the biggest supporter of SW engineering.
-
- BEGINNING TEXTS Cohen's book has two notably useful features. All
- chapters have a Summary section; some of the more
- difficult ones have a Details section which can be skipped by those who need
- a less complete discussion of the topic. Later one can make a second pass
- over the book, reading the details sections for a more complete understanding.
-
- Further, there's a lot of pragmatic advice about how to use language
- features. This makes for a book of 800+ pages, but the advice (and the
- examples and clear writing) actually makes it easier to read than shorter
- books, because it gives a context for the parts of Ada.
-
- ADA A SIMPLE LANGUAGE? Ed made a comment that reminded me of what I consider
- a myth: Ada's complexity. We always over-estimate
- the complexity of a familiar language and under-estimate the one(s) in which
- we're expert. (The fish-in-water syndrome.) And until the last year or two
- there weren't very many validated compilers around for people to use. So the
- viewpoint we got was that of the designers or implementors, which is very
- different from (what is becoming) the typical user.
-
- I suspect that in a few more years we'll be hearing a new cliche: that Ada
- is SIMPLER to use than previous languages. For, after internalizing the Ada
- mind-set and developing a reflexive mastery of its syntax, the user can
- forget about bits, bytes, subprograms, and data (at least until it becomes
- time to do trade-offs and optimizations). Instead, s/he'll write programs
- using elements in the problem domain.
- Larry @ jpl-vlsi.arpa
-
-
-