Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!bu-cs!purdue!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!ukc!strath-cs!glasgow!orr From: orr@cs.glasgow.ac.uk (Fraser Orr) Newsgroups: comp.lang.misc Subject: Re: Assembly or .... Keywords: Assembly Message-ID: <2012@crete.cs.glasgow.ac.uk> Date: 30 Nov 88 16:26:23 GMT References: <1388@aucs.UUCP> <407@ubbpc.UUCP> <6586@galbp.LBP.HARRIS.COM> Reply-To: orr@cs.glasgow.ac.uk (Fraser Orr) Organization: Comp Sci, Glasgow Univ, Scotland Lines: 35 In article <6586@galbp.LBP.HARRIS.COM> jsb@advdev.UUCP (Jeff Barber) writes: >On a slightly different note: it's been my own experience that programmers >who aren't comfortable with assembler never completely understand the >subtleties of: pointer manipulations, type conversions between signed >and unsigned, integer truncation and extension, structure padding, etc. >Furthermore, too much of the program (and programming) environment will >forever remain "magic" if you don't understand assembler and the >underlying machine architecture. This is okay, I guess, if you want to >write nothing but COBOL applications for the rest of your life. You are of course right. But why? Because they weren't taught. As I've said, learning to program in assembler may or may not be useful (I don't think that as a general rule it is worth the investment) but learing about run time environments, value representation and the ideas behind computer architectures is very important. FOr this reason it important to learn these subjects NOT with the clutter of an assembly language, and NOT in the machine dependent way that learning an assembler would lead to, but as an independent subject. I'm a programmer of some years experience now, and have worked on several different systems, in many different languages including writting several large programs in assembler. To me it still seems magic that my programs get executed. Perhaps at a different level from that which you write of, but I still find it hard to believe that minute charges pasing about on a tiny piece of silicon can cause this terminal emulator I'm using to work. And I certainly don't understand the details of how it can happen. There is always going to be a certain degree of magic, but if that magic works reliably, I don't see it as a problem. >J. Barber Lanier Business Systems Atlanta, GA ==Fraser Orr ( Dept C.S., Univ. Glasgow, Glasgow, G12 8QQ, UK) UseNet: {uk}!cs.glasgow.ac.uk!orr JANET: orr@uk.ac.glasgow.cs ARPANet(preferred xAtlantic): orr%cs.glasgow.ac.uk@nss.cs.ucl.ac.uk