Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 (Tek) 9/28/84 based on 9/17/84; site mako.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!tektronix!orca!mako!jans From: jans@mako.UUCP (Jan Steinman) Newsgroups: net.works Subject: Re: Fie on assembly language? Message-ID: <633@mako.UUCP> Date: Mon, 11-Mar-85 11:45:33 EST Article-I.D.: mako.633 Posted: Mon Mar 11 11:45:33 1985 Date-Received: Thu, 14-Mar-85 04:00:48 EST References: <792@topaz.ARPA> <836@ames.UUCP> <425@terak.UUCP> Reply-To: jans@mako.UUCP (Jan Steinman) Organization: Tektronix, Wilsonville OR Lines: 32 Summary: In article <425@terak.UUCP> doug@terak.UUCP (Doug Pardee) writes, quotes: >> the person at hughes [radar systems] was sad to mention large portions of >> their work in still in assembly language due to management familiarity and >> pressure. > >Gee, I wouldn't be sad at all to have assembly language programs... But as a >general rule, the reason for *not* using assembly language is because of the >initial programming costs. Once the program has already been written and >those costs incurred, assembly is almost always superior to higher-level >languages. I love assembly as much as anyone (I'm currently doing about 65k of it for the NS32000), but I don't agree with your blanket statement. Assembly excells in *run-time* ONLY, and the initial programming cost need not be very high, given a good tool chest to start with. What kills assembly is LIFE-CYCLE costs, which include maintenability, (ever try to modify a 1000 line assy program module that has little or no comments?) reliability, ("whadya mean, I'm not supposed to use register a6?") and standards. This last is the worst. I've conducted seminars in SW engineering where half the attendees didn't know the meaning of assy code essentials, such as position-independent, serially- reusable, or reentrant-capable. Ten assy coders will write ten different ways, and none will understand the others' work without a great deal of time and effort. Another way of looking at HLLs is that they enforce a certain set of programming convention upon all users -- not as versatile, not as fast or short at run-time, but life-cycle cost per unit of functionality plummet. With the advent of modern systems programming languages such as Modula-2 and Ada (and grudgingly, C), assembly code has only one place: where run-time space or time considerations are the OVERRIDING concern. -- :::::: Jan Steinman Box 1000, MS 61-161 (w)503/685-2843 :::::: :::::: tektronix!tekecs!jans Wilsonville, OR 97070 (h)503/657-7703 ::::::