Path: utzoo!attcan!uunet!husc6!bloom-beacon!gatech!udel!burdvax!ubbpc!wgh From: wgh@ubbpc.UUCP (William G. Hutchison) Newsgroups: comp.lang.misc Subject: Re: Assembly or .... Summary: somebody has to know what the machine does (you?) Message-ID: <407@ubbpc.UUCP> Date: 28 Nov 88 14:27:46 GMT References: <1388@aucs.UUCP> Organization: UNISYS CS, Blue Bell, PA Lines: 24 In article <1388@aucs.UUCP>, 861087p@aucs.UUCP (A N D R E A S) writes: > ... if it really worth it to spend time to learn assembly language. (1) most high level languages are so badly documented that you cannot tell PRECISELY what they will do without examining the assembly language version of the code. (2) how else can you diagnose compiler bugs? (unless you have a complete denotational semantics description of the language) (3) on those few occasions when you need the utmost in performance, you must examine the assembly language listing from the compiler to see how to write the tightest loops, etc. It is virtually unknown to see a compiler document that describes exactly the transformations of the "optimizer". Thus, in the present state of affairs, a high-level language programmer MUST know some assembly language to be effective. This might change if computer companies (or FSF?) produced high-quality, documented software tools like compilers and linkers. Don't hold your breath! If that were to happen, the only people who would have to learn assembly language would be compiler writers and possibly microcode engineers. -- Bill Hutchison, DP Consultant rutgers!liberty!burdvax!ubbpc!wgh Unisys UNIX Portation Center "What one fool can do, another can!" P.O. Box 500, M.S. B121 Ancient Simian Proverb, quoted by Blue Bell, PA 19424 Sylvanus P. Thompson, in _Calculus Made Easy_