Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!unmvax!ncar!ames!amdcad!sun!pitstop!sundc!seismo!uunet!mcvax!ukc!etive!lfcs!db From: db@lfcs.ed.ac.uk (Dave Berry) Newsgroups: comp.lang.misc Subject: Re: Assembly or .... Keywords: Assembly Message-ID: <1136@etive.ed.ac.uk> Date: 5 Dec 88 18:33:07 GMT References: <1388@aucs.UUCP> <407@ubbpc.UUCP> <6586@galbp.LBP.HARRIS.COM> Sender: news@etive.ed.ac.uk Reply-To: db@lfcs.ed.ac.uk (Dave Berry) Organization: Laboratory for the Foundations of Computer Science, Edinburgh U Lines: 38 In article <6586@galbp.LBP.HARRIS.COM> jsb@advdev.UUCP (Jeff Barber) writes: >>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. > >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. Several people have made this point. You're all assuming that the language you use affects the hardware directly, and that the hardware is fairly conventional. Several languages use abstract machines, and it's much more important to know the architecture of the abstract machine than the actual hardware it's implemented on. In a general sense, it helps programmers in any language to know the architexture of the underlying machine; whether that machine is implemented in hardware or software doesn't make much difference. Also, Pascal programs (for example) don't care much about type conversions between signed and unsigned. You only have to start worrying about features at this level when your language supports them. >This is okay, I guess, if you want to >write nothing but COBOL applications for the rest of your life. Or LISP, Pascal, ML, Icon, Prolog, etc. etc. A well-rounded education in computers will include a variety of language paradigms, including at least some assembler, and a good amount of work on machine architectures. You won't necessarily need to learn assembler to program, but it may be helpful, and it's a good idea as part of a general computer education. Dave Berry, Laboratory for Foundations of Computer Science, Edinburgh. db%lfcs.ed.ac.uk@nss.cs.ucl.ac.uk!mcvax!ukc!lfcs!db