Path: utzoo!utgpu!watmath!att!rutgers!ucsd!tut.cis.ohio-state.edu!pt.cs.cmu.edu!sei!rsd From: rsd@sei.cmu.edu (Richard S D'Ippolito) Newsgroups: comp.software-eng Subject: Re: Theory vs. Practice in CS Education Message-ID: <4979@ae.sei.cmu.edu> Date: 16 Nov 89 20:24:40 GMT References: <880@dms.UUCP> <7044@hubcap.clemson.edu> <4251@pegasus.ATT.COM> <4967@ae.sei.cmu.edu> <15947@bloom-beacon.MIT.EDU> Reply-To: rsd@sei.cmu.edu (Richard S D'Ippolito) Organization: Software Engineering Institute, Pittsburgh, PA Lines: 36 In article <15947@bloom-beacon.MIT.EDU> Chris Craig writes: >In article <4967@ae.sei.cmu.edu> Richard S D'Ippolito writes: > >>Nonsense -- this has nothing to do with software engineering, the original >>topic. At the engineering level, you don't care what the compiler is doing >>with the code anymore than an architect cares how electricity flows through >>wires. > >Reasonable in some cases, but kind of naive in others. Sometimes what >the compiler does with the code determines whether or not your program >satisfies its specifications. Indeed, that's precisely why it's not software engineering! Any need to do this should tell you that you are not doing engineering. Architects are not doing architecture if they are worrying about how their designs are implemented at the beam and rivet level Architects and other engineers can only work effectively when the working models exist. How can there be working models when the lowest-level specifications are interpreted differently? The lowest-level components in engineering disciplines are truly standardized and portable. >>If you wish to specialize in designing compilers, take the course. > >What if I just want to learn about lexical analyzers, parsers, etc. so >I can apply them to *other* areas? What about a little breadth in >education? ... Of course, as long as you realize exactly what you are learning and are not told that you are studying engineering. Cheers, Rich