Linked by Thom Holwerda on Sun 8th Jul 2012 22:54 UTC
General Development "In this tiny ebook I'm going to show you how to get started writing 6502 assembly language. [...] I think it's valuable to have an understanding of assembly language. Assembly language is the lowest level of abstraction in computers - the point at which the code is still readable. Assembly language translates directly to the bytes that are executed by your computer's processor. If you understand how it works, you've basically become a computer magician." More of this, please.
Permalink for comment 525924
To read all comments associated with this story, please click here.
Never say "never"
by CodeMonkey on Mon 9th Jul 2012 04:29 UTC
Member since:

I actually enjoyed this article but I do have a bit of "beef" with it.

fta: "I don’t think you’ll ever have to write assembly language in your day job"

{ // begin rant
As a software engineer by trade, I have on a *few* occasions needed this. It's not a purely academic exercise. Sure, even as developers, you will rarely (and mean virtually never) these days be employed as an assembler coder. That being said, it's still a valuable skill set to have. It's definitely crucial when you get stuck in those deep debugging sessions with gdb and need to understand "WTF is at this memory address? I didn't put that there!" Being able to understand at the low level what is really happening is valuable. Or if you're doing some low level performance optimizations, being able to write assembler is necessary for using the SSE intrinsic functions on x86_64 architectures.

While it may almost never be your full time job to write assembler code, having a moderate ability to do so is necessary when you come across that "every once and a while" when you do need it.
} // end rant

Compilers are good at what they do, even great, if not astounding. But they are not magic. Every piece of software, even gcc, is written by a bunch of people just like us (speaking to fellow programmers here), ugly warts and all.

Reply Score: 2