4 ms·
For the "do I need...", "is it worth it...", "should I buy..." type of question, I usually rely on my stock answer. "If you have to ask, then no." There are ma
by jwcacces 15y ago
For the "do I need...", "is it worth it...", "should I buy..." type of question, I usually rely on my stock answer. "If you have to ask, then no."
There are many things like this in technology. Things that are rewarding, things that enhance your ability to understand a problem, things that give you new skills and abilities, great tools, or high powered technology. But, if you don't know you need it, then chances are, you don't need it.
On the other hand, perhaps the fact that you are asking is a sign that you are ready to need it. Are you becoming curious with how things work? Do you run up against an assembly wall when you try to debug or get tasks done? Do you need to eek out performance that you can't otherwise get? Only you can answer that question.
Fortunately, assembly programming will always be there for you, and learning the underlying way things work will always make you a better programmer. It's best learned as a passion and a means to understand, not as a magic bullet to get a better job, or to instantly get awesome performance.
- 0x12 15y agoThere is a time in life when you have the mental space and the environment around you where learning anything is relatively free and easy. If you wait until (much) later when you can directly benefit from this knowledge you may not be able to free up the time to acquire it. Ditto for learning spoken languages, the earlier, the more, the better.
- ajross 15y agoI usually rely on my stock answer. "If you have to ask, then no." Or the converse: those who need to know it, know they need to know it already and will learn it. Machine level knowledge (not just assembly: caching and DRAM architecture fu is just as important, IMHO) is really useful. But it's not "needed" to write working software, and the hordes of assembly-ignorant (some of them are actually reasonably super-mediocre) programmers out there are an existence proof of this fact. But the great hackers all know their machines, and that's one of the aspects that makes them great.
- psykotic 15y ago> DRAM architecture fu is just as important, IMHO Well, I happen to know about that stuff out of interest, but I wouldn't claim it's very useful knowledge for a programmer. The top-level cache (L2 or L3) communicates in big chunks with the DRAM controller so that you are insulated from the details of modern DRAMs like double pumping, burst mode, page sizing, channels, banks, etc.
- scott_s 15y agoBut, if you don't know you need it, then chances are, you don't need it. I'm afraid that attitude will doom you to only be able to work on things you can currently conceive of.
- jwcacces 15y agoBut once you have the realization that there are more things then you could previously have conceived of, you find you need new tools to explore them. Thus you become one of the people who know they need it, and the question is answered.