4 ms·
All abstractions are leaky to some degree. There will be problems you don't understand if you don't know what's happening one layer down. This is not to say t
by thedufer 15y ago
All abstractions are leaky to some degree. There will be problems you don't understand if you don't know what's happening one layer down. This is not to say there's something wrong with being a tinkerer - but it is saying that there is a difference between a tinkerer and a professional. http://www.joelonsoftware.com/articles/LeakyAbstractions.html http://www.joelonsoftware.com/articles/LeakyAbstractions.htm... for better writing on this topic.
- deleted 15y ago[deleted]
- gnaritas 15y agoAnd you're still wrong. Ass loads of professional programmers don't know and won't ever use assembly; they are not tinkerers. Your use of the words tinkerer and professional are decidedly non standard and frankly I don't think you know what you're talking about. Being able to write slightly faster code than the next guy does not a professional make. In the vast majority of work you'll be called upon when writing applications in the real world, that will simply never matter. Real professionals know when the code is fast enough and move on to delivering real value on time for solving real business problems. They also know there more than one way to skin a cat and if you ever do hit a wall on one approach because the abstraction leaks that much, you can just try another approach. I don't need to understand the machine at every level of abstraction down to bare hardware to be able to make the machine work well. One needs a vague idea of how an abstract machine works, one does not need the details of how this specific machine works. Knowing x86 assembly will be virtually useless on most modern VM hosted languages. Even when you do find a bottleneck, algorithm choice is vastly more important than any fiddling you're going to do to get the compiler to generate better assembly or even hand coding it. The idea than one must know assembly to be a professional is just absurd and naive.