larry@VLSI.JPL.NASA.GOV (03/04/89)
I've talked to many programmers who started out as hardware engineers or who work with software systems that are heavily hardware-oriented. I tell them that Ada is a programming language that includes capabilities that hardware engineers have long had, such as standard, parameterized interfaces; modularity; and automated checking. Put this way, generics, packages, and strong type-checking makes perfect sense to most of them. For that matter, I sometimes wonder what is so difficult about the more basic ideas behind software engineering. Isn't it obvious that hard problems have to be treated in a "divide and conquer" fashion? That even the most brilliant solutions have costs as well as benefits? That every boring, fiddling detail that a computer can handle leaves humans to do the fun things? Do we really need an entire course in software or any other kind of engineering? Larry @ vlsi.jpl.nasa.gov