3 ms·
> Abstraction is more likely to increase speed, because someone smarter than you has written the bit that needs to be fast. Am I the only one that hates this m
by hackinthebochs 14y ago
> Abstraction is more likely to increase speed, because someone smarter than you has written the bit that needs to be fast.
Am I the only one that hates this meme? The idea that "someone smarter than me therefore blah blah" seems ultimately to be counter-productive. Placing arbitrary limits on yourself does nothing except prevents you from attempting certain types of "hard" problems because "someone smarter than me will/couldn't figure it out so I shouldn't bother". Perhaps its just hubris on my part but I am completely confident in my ability to fully comprehend any problem or solution that someone has come up with. There are certainly people much smarter than myself, but I will never let that limit me. Whether or not there is actually a limit to what I am capable of understanding is irrelevant, I will never assume before-hand that something is beyond my comprehension or capability.
- ewolf 14y ago"Someone smarter than you" perhaps is a bit too bold of a statement, but generally, it is true that using available code should usually be preferred over writing one's own code. It allows you to focus on your main task and spend less time implementing helper functions that someone with more time (I guess that's a better expression than "someone smarter") has already optimized.
- hackinthebochs 14y agoDon't get me wrong, I totally agree that using pre-existing code in most situations is far preferable than re-inventing things, especially when it comes to incredibly uninteresting "plumbing" code like DOM manipulation. But instead of referencing intelligence, the justification should be something like "someone already spent the time and effort optimizing something I have no interest in doing myself". Just like it has been shown that praising kids for their intelligence leads to worse outcomes, we should not be artificially limiting ourselves based on intelligence.
- LukeShu 14y agoI'd generally interpret "smarter than me" in this context as "has put more brain-cycles into this problem than I will", so with regards the that specific problem, they are "smarter".
- GhotiFish 14y agoI like what you're saying, but in some cases (ie. the good cases) "someone smarter than me" is a euphemism for more meticulous. Save me from unrolling loops and implementing hash maps. I can do these things, I just do not want to. Of course, I've seen programmers use the term "someone smarter than me" quiet literally. I'd agree with them, because what usually happens is a horrible anti-pattern.
- pnathan 14y agoThe idea of wilful self-blinding and going, "I'm dumb and so are you! Only those 1337 guys know how to do it" pretty much fills me with rage when I hear it. I'm not that stupid, and I'm not that smart - I can figure out pretty much anything out there given time and effort.
- Millennium 14y ago"Someone smarter than you" is perhaps a bad term. Better would be "Someone who had more time and resources dedicated to this than you do". API developers tweak for performance all the time, specifically for the sake of performance. You often can't do this in your code that uses the APIs: you've got other things to worry about. In that case, it's better to leverage the work of a dev who didn't have other things to worry about.
- prof_hobart 14y agoThere's also a few other things wrong with it in this context. Firstly, the assumption is that the "smarter" person has been focused on performance, rather than for example stability or flexibility. And more specifically, on performance for my particular use case. Secondly, when I'm writing a native app, regardless of platform, I'm also using a set of OS libraries that have been written those "smarter" people. And thirdly, if I'm looking to do something where speed is likely to be an issue (e.g. game development) I've got OS- (and use case-) tuned libraries, such as Cocos, that will have also been written by smarter people.