Path: utzoo!utgpu!attcan!uunet!lll-winken!lll-tis!ames!mailrus!iuvax!silver!sl144003 From: sl144003@silver.bacs.indiana.edu Newsgroups: comp.software-eng Subject: Re: using (ugh! yetch!) assembler Message-ID: <69100001@silver> Date: 28 Jul 88 19:01:00 GMT References: <37247@linus.UUCP> Organization: Indiana University CSCI, Bloomington Lines: 47 Nf-ID: #R:linus.UUCP:-3724700:silver:69100001:000:2641 Nf-From: silver.bacs.indiana.edu!sl144003 Jul 28 14:01:00 1988 /* Written 11:24 am Jul 28, 1988 by munck@linus in silver:comp.software-eng */ /* ---------- "Re: using (ugh! yetch!) assembler" ---------- */ In article <9763@eddie.MIT.EDU> jbs@fenchurch.MIT.EDU (Jeff Siegal) writes: >In article <37014@linus.UUCP> munck@faron.UUCP (Robert Munck) writes: >>[...]assembly language will "fit" only >>the smallest, most toy-like, never-to-be-used-for-real prototypes. >This just isn't true. There are an aweful lot of real live products, >and BIG ones, that have been built in assembly language. Have you >read _The_Mythical_Man-Month_? 5000 man-years it did take, but OS/360 >was a whole bunch of assembly code (millions of lines, minimum) that >has probably made IBM billions. Nah. Some of you may not have been born yet then, but I was one of the first non-IBMers to sysgen OS/360 rel 1 (PCP) in 1966 or so, and probably as familiar with the source code of OS, releases 1 .. 21, as anyone. Sure, it was assembler in the early days. Remember, OS/360 was written in the early and mid sixties, before the "age of compilers." The OS (not counting linkers, utilities, etc.) was maybe as big as 500K lines of assembler. Pretty soon, however, the source listings in the microfiche started to look a bit strange. Labels like "L000213#", loading a register with the value it already contained, etc. It was, of course, "disassemblies" of the output of the legendary BSL compiler (Basic Systems Language, later PL/0). By Release 14 (that great release; I think Yale is STILL running it), all new modules were BSL. >I write a 25000 line assembly program (for a class) about 4 years ago >that was well organized, documented, etc. I have no doubt that it >could be modified and maintained today (or 10 years from now). How about moved to another CPU? Yeah, sure, it's possible to write organized, maintainable assembly code (though the concepts of "maintenance" and "documentation" at universities are VERY different from the commercial and military worlds.) Real-world schedule and funding pressures make it very unlikely that it would stay organized, documented, and maintainable for very long after release. After that, it's a long, slow slide to certain death (death: the time when fixing one bug introduces, on the average, 1+epsilon new bugs). There are a lot of personal computer products out there written in assembler and doing well; companies dependent on such products have, in effect, taken a very slow-acting poison. -- Bob Munck, MITRE Corporation -- ..!linus!munck.UUCP, munck@mitre-bedford.ARPA /* End of text from silver:comp.software-eng */