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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!VLSI.JPL.NASA.GOV!larry From: larry@VLSI.JPL.NASA.GOV Newsgroups: comp.lang.ada Subject: Teaching SW Egr Message-ID: <890303182426.950@VLSI.JPL.NASA.GOV> Date: 4 Mar 89 02:24:26 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet List-Id: 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