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=0.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!rjh From: rjh@cs.purdue.EDU (Bob Hathaway) Newsgroups: comp.lang.ada Subject: Re: Ada, "Software Fantasyland," and Quick Courses Message-ID: <6057@medusa.cs.purdue.edu> Date: 16 Feb 89 21:08:16 GMT References: <6660@siemens.UUCP> Sender: news@cs.purdue.EDU Reply-To: rjh@cs.purdue.edu (Bob Hathaway) Organization: Department of Computer Science, Purdue University List-Id: >In the Spring '88 and Fall '88 semesters, I taught an "Ada >Programming Language" course at a small college. This was a rather Some good schools have a "Software Engineering with Ada" course or use Ada in their "Software Engineering" curriculum. Teaching a simple Ada programming course seems to be the problem. >"promoted" from computer operations. Not only were many unfamiliar >with high-level languages, I had to justify structured programming! >Strong typing was something to be defeated. (Was I naive for making >assumptions about their background?) A "Software Engineering" in the course title would have alerted them modern principles were being taught. > >ADA IS NOT "JUST ANOTHER LANGUAGE." > >Many of the features of Ada make no sense to a programmer who is >unaware of, and not motivated toward the concepts of structured >programming, modularity, information hiding, object-oriented design, >.... I could go on and on. > But many programmers are aware of all of this, I for one before learning Ada. How long before my first Ada program worked (with generics, Adts, dynamic arrays, arbitrary length strings, etc.) A few hours. I would change the above quotation to read: ADA is an incremental improvement in programming languages encompassing modern software engineering principles. >software engineering principles" for 7 years, it took two more years >of working full-time on an Ada project to develop a minimal >competence in the language---to learn "how to do it the Ada way." It depends on your background. After a few years of C and Modula programming and some independent reading on Ada, programming in Ada was an incredible delight from the start: greater power than C with the structure of Modula. I could see giving a one semester "Software Engineering With Ada" course by simply using some good references (Booch, Ada Letters, LRM) and by having a few experts available. >1. How much re-educating of DoD software enginners is necessary > BEFORE teaching Ada? In other words, should we be teaching > software engineering fundamentals first? What's the most > effective way to do this? I suggest a short time with "Software Engineering with Ada" by Grady Booch is sufficient, possibly along with "Software Components With Ada" and the LRM. >2. How long does it take to properly re-educate a generic software > engineer into an Ada developer? Can the cost be recovered? This should depend on their previous experience and background. >3. Where does Ada fit into the college curriculum? How can we > educate students in good software engineering, not just give them > "Ada" on their resumes? Simple, offer a "Software Engineering with Ada" course like several universities. I think Ada is currently by far the best language for software engineering for both teaching and practice. > >4. What qualifications (read "experience working on Ada projects") > should be required for those teaching Ada? > I know of one qualification which may be underemphasized: a genuine desire to program in state of the art languages using state of the art methodologies. I'm sure everyone on all the Ada committes could pass this test with ease... > >5. Can some of these efforts lead to an expansion of the Ada base > beyond DoD and DoD contractors into other industries? I certainly hope so. Since Ada offers the most modern programming constructs and methodology I see little reason to use anything else. With conferences discussing future enhancements I expect the situation to stay that way, since other groups (such as the Modula-3 group) will keep the leading edge in state of the art programming language design moving. Bob Hathaway rjh@purdue.edu