Re: Should I Learn Assembly ?
- From: "Kevin G. Rhoads" <spamtrap@xxxxxxxxxx>
- Date: Tue, 06 Jan 2009 13:10:42 +0000
I started learning about computers when I was in high school,
this was the mid to late 1960s. I got to work with mainframes
and minis before I got to college. Those were IBM 360s, DEC
PDP-8(various), a CDC-6400 and an IBM 1620.
In those days any serious programmer, even applications programmers,
learned assembly language. Those who didn't were considered dilettantes
by most others. But even then things were changing, although
mega-LOC (Lines Of Code) programs were still being written in 360 BAL
(Basic Assembler Language), that practice was starting to be phased out
in favor of using HLLs (High Level Language).
These days learning assembler is considered unnecessary for applications
programming, and optional for some systems level stuff. However, I think
it is still desireable for anybody planning for or interested in sys level
stuff. [MHOO]
What you get is a different abstraction of the computation process. One
used to get exposure to several flavors of doing things, but that is less
true now. Now most general purpose hardware is stack oriented supporting
C-ish calling conventions, twos-complement arithmetic for example. Classic
360/370/390 style is perhaps the major exception. Ones-complement and sign-magnitude
arithmetic are rarely seen. Decimal as opposed to binary arithmetic
is a tad more seen, but still fairly rare. Non-stack based calling conventions
are even less common (outside the aforementioned 360 &al camp, which uses
register-based calling conventions natively).
Yes, there are some funny things out there, but mostly those are embedded
systems oriented minimal cost things (if you never have to code for a
4 bit microP, consider yourself blessed). Even embedded stuff is often
going with HLLs and familiar style to C-educated programmers.
So, if you are serious about sys level stuff, sure, give assembly a try.
It might be better to start with a more regular architecture than x86,
I would suggest 68k, for example. Consider that if you do go this path,
it is best to learn several assembly languages. I use x86 and 8051 regularly
these days, (I do embedded stuff for experimental apparatus, we use 89C51 and
89C52 micros for that at present) and I've coded a fair amount for 68k, 360,
PDP-8 over the years. You can play with alternate hardware using simulators
these days -- Hercules for the 360/370/390 family, SIMH for really old stuff
(e.g., PDP-8), if you've any interest in exploring such.
But if sys level stuff is not going to be one of your major focuses, then
perhaps the time invested in learning assembly could be better spent learning
something else.
HTH
Kevin
.
- Follow-Ups:
- Re: Should I Learn Assembly ?
- From: robertwessel2@xxxxxxxxx
- Re: Should I Learn Assembly ?
- From: Robert Redelmeier
- Re: Should I Learn Assembly ?
- Prev by Date: Re: Signal safe section
- Next by Date: Re: Should I Learn Assembly ?
- Previous by thread: Group 1 encodings on 8086
- Next by thread: Re: Should I Learn Assembly ?
- Index(es):
Relevant Pages
|