3 ms·
>If you're showing me the article because "yea but Charles played Space Invaders, so he's lazy!". Well, an employee who would have done exactly what Charles did
by unimpressive 14y ago
>If you're showing me the article because "yea but Charles played Space Invaders, so he's lazy!". Well, an employee who would have done exactly what Charles did without playing Space invaders would have been a better person to hire...and that is my point.
Well yeah. I think you're the one missing the semantics here.
Part of the point was that Charles was working for quite a bit longer than his supervisor thinks he did. Besides the space invaders (Which was poor form, and something I would never dream of doing on an hourly wage.) he was in fact planning out the program. (See the time spent scribbling notes.) It just didn't look like it because he wasn't creating a huge fanfare surrounding the process. Alan jumped right in with some hazy OOP sketches and sort of "hacked it out by committee." as he went along.
He's lazy because he thought about the problem instead of doing the "straightforward" OOP, headache inducing four module style design favored by Alan.
- pilgrim689 14y ago>la·zy/ˈlāzē/ >Adjective: >-Unwilling to work or use energy: "he was too lazy to cook". >-Characterized by lack of effort or activity. And now you're telling me he's lazy because he "thought about the problem", "worked for quite a bit longer than his supervisor thought" and "planned out the program". What do foresight and smarts have to do with being unwilling to work?
- unimpressive 14y ago> And now you're telling me he's lazy because he "thought about the problem", "worked for quite a bit longer than his supervisor thought" and "planned out the program". What do foresight and smarts have to do with being unwilling to work? It's a reference to this: http://en.wikipedia.org/wiki/Three_Virtues_of_a_Programmer#Virtues_of_a_programmer http://en.wikipedia.org/wiki/Three_Virtues_of_a_Programmer#V... If you feel that these usages are entirely too subversive, go yell at Larry.
- pilgrim689 14y agoLarry Wall doesn't get to change the definition of laziness. His definition which explains a lazy person as going through "great efforts", fully "documenting what you wrote" and writing "labor-savor programs" goes against all definitions found in English dictionaries. This is laziness: "inactivity resulting from a dislike of work."[1] Please note: it says "inactivity", not "activity". What Larry Wall is describing is just being an efficient and smart programmer. But calling it "laziness" is funnier and fits with the three-weaknesses-that-are-really-virtues joke he has going. [1] http://wordnetweb.princeton.edu/perl/webwn?s=laziness http://wordnetweb.princeton.edu/perl/webwn?s=laziness
- Shamanmuni 14y agoIt's a little more complex than you present it. You only get to think of Alan as inefficient because you know what Charles did in a similar situation. However, if you only knew what Alan did you'd say he was smart and efficient. He did everything he was expected to do and some more, a very industrious guy. He didn't seem bothered about doing a complicated design, writing lots of code, coordinating the other developers and the testers, revising the code several times and maintaining it. He wasn't lazy at all. On the other hand, probably Charles didn't want to do all that stuff. He just wanted to write as little code as possible with as few bugs as possible and be done with it, no maintenance at all. And that required thinking very carefully and deeply about the problem he had to solve in order to get it right and write the necessary code. In trying to do as little work as possible and return to Space Invaders, he had to be smart and efficient. That's the lesson here, great hackers use their brains and write great code to solve their problems with the absolute minimum amount of work required. It's really about laziness.
- pilgrim689 14y ago"industrious" does not been intelligent. "Industrious" means hard-working. No, I would not say Alan was smart, because he ended up writing a product with half the functionality, triple the amount of bugs, quintuple the amount of code, and quadruple the amount of employees. He didn't engineer the solution to minimize costs, maintenance, and simplicity while maximizing functionality. He just jumped into writing code thinking he knew best. So, to re-iterate, he's an idiot (compared to Charles). "great hackers use their brains and write great code to solve their problems with the absolute minimum amount of work". Sorry, but I disagree. Just because, in the parable, Charles' solution ended up being the better one, that does not mean that all solutions with less code and less work are "greater" (remember, it's just a parable). Sometimes, you need extra work to make the solution more stable, more maintainable, more bug-free, etc. Great hackers recognize these situations and do the extra work and planning to come up with an elegant design when necessary. I would never hire someone who always does the "absolute minimum amount of work", because if it's a poor solution, we'll end up doing more work later (fixing bugs, refactoring, debugging, etc.).