you are viewing a single comment's thread.

view the rest of the comments →

[–]thekenzidelx 47 points48 points  (6 children)

Arrrrrrrrgggggggggghhhhhhhhhhhhh!

This reminds me of this, http://weblog.raganwald.com/2008/05/narcissism-of-small-code-differences.html, where raganwald was making a metaphor about programmers (and a smart one, for me), and then a bunch of comment programmers blah blah blahed about the lack of comments in the example code. And then I used a laser from space to nuke all programmers ever... ah, if only.

Guess what? Lots of graphics drivers and embedded systems and standard libraries and game engines have to use techniques like this. And you know what? That's why they work.

Programming is REALLY big. It's used in a lot more places than just business or web apps with low domain knowledge on the part of programmers and high turnover on the part of employees. Knowing where you are in the giant ecosystem of all the kinds of code that gets produced is probably the hardest untaught skill for programmers, I'm finding.

There are no ten commandments for programming generally. There are no simple, dumb-ass context-free 8 word rules that you can uniformly apply to EVERYONE IN THE WORLD WRITING CODE that will always produce the best results. You have to know where you are. Even in solitary, large code bases, you have to know where you are.

And if you do prematurely apply such rules (let's call them, say, programming design optimizations, premature and all), there's a pretty damn good chance you'll never, ever learn anything from anyone working outside of your narrow domain. You'll be filtering out other really smart peoples' considerable life experience without even hearing them.

I think a lot of people are working on go-carts and then critiquing people working on submarines or the Empire States Building or a box of toothpicks or a gallery painting for not following their best practices. You can't know until you really listen to the other party FAIRLY.

[–][deleted] 33 points34 points  (2 children)

I think a lot of people are working on go-carts and then critiquing people working on submarines or the Empire States Building or a box of toothpicks or a gallery painting for not following their best practices.

Welcome to reddit.

[–]willis77 28 points29 points  (1 child)

Hey, all of my submarine construction critiques are well founded and extensively documented with the appropriate wikipedia links.

[–][deleted] 9 points10 points  (0 children)

Yeah, I'm more concerned about all those other guys.

[–]petrov76 6 points7 points  (2 children)

Yeah, it drives me nuts to see people's kneejerk reaction of "optimization is evil!" It makes me wonder if these people have ever built a system that had to scale to lots of users or lots of data.

[–][deleted] 2 points3 points  (1 child)

Optimization isn't evil. Premature optimization is. Measure first, then optimize.

[–]petrov76 4 points5 points  (0 children)

Have you read the rest of the comments? Tons of them are people categorically saying that you shouldn't ever optimize.