3 ms·
This article reeks of bitterness. I find it curious that he seems to knock 'Dick' for not being well-rounded enough for his tastes. If his company doesn't pay
by georgieporgie 16y ago
This article reeks of bitterness.
I find it curious that he seems to knock 'Dick' for not being well-rounded enough for his tastes. If his company doesn't pay him to develop Linux products, why on earth would he learn about developing for Linux? Or other languages. Or tools.
I'm all for picking up new languages (learning PHP changed some of my approaches to C++), but there's a lot to be said for sticking to your tools and learning them thoroughly. I can either be highly productive in C++ or flail around in a functional language/new platform. I'll stick with the productive one until someone wants to pay me to flail.
- cabalamat 16y ago> If his company doesn't pay him to develop Linux products, why on earth would he learn about developing for Linux? If programming is just a job, and you don't care about it when you leave the workplace, that's a reasonable attitude. If, OTOH, programming is something you care about and that actually interests you (which is true of nearly all good programmers), it's an attitude you won't have.
- georgieporgie 16y ago> If, OTOH, programming is something you care about and that > actually interests you (which is true of nearly all good > programmers), it's an attitude you won't have. Whoa! So what you're saying is that if I don't know the recent trends in functional languages, I don't care about programming? Seriously? Do you see the problem here? This guy is laying out arbitrary things which appear in his domain of knowledge, and discounting others for not having the exact same set of experiences. I see this a lot among software people. Sure, broadening your horizons gives you new insights, but there is a lot to be said for mastery and focus. Additionally, why is it that there is an expectation in software that my job has to also be my hobby, or else I don't care and/or I'm no good? Do you think mechanical engineers working for an auto manufacturer are expected to be at home designing bicycles, lest they be thought of as not caring?
- cabalamat 16y ago> So what you're saying is that if I don't know the recent trends in functional languages, I don't care about programming? No, I'm saying that if you're not interested in different programming paradigms, you're not interested in programming. You don't have to know about "recent trends" in functional programming (it's not actually that recent -- Lisp has been around forever, and the Haskell standard is over a decade old). But if you're not interested in functional programming at all, then no, you're not interested in programming. > This guy is laying out arbitrary things which appear in his domain of knowledge, and discounting others for not having the exact same set of experiences. But I'm not doing that. I'm saying that programmers ought to have some familiarity with some of the basics of the technology they work with. Knowing nothing about functional programming is like knowing nothing about HTML -- it is a big gap in one's knowledge. > there is a lot to be said for mastery and focus. I agree. Focus is good. But you can't have mastery without knowing the right programming techniques and paradigms -- these can change a 500 line program into a 100 line (and easier to understand) one, or a 5000 line program into a 500 line one. > why is it that there is an expectation in software that my job has to also be my hobby I have no such expectation. I neither know nor care what you do for a living or in your spare time. What I am saying is: 1. some skills take a lot of effort to master. 2. programming is one such skill 3. you're more likely to take the time and effort to learn a skill if you like doing it 4. therefore, programmers who program because they like doing it are going on average to be better at it than programmers who program because it's just a job
- georgieporgie 16y ago> I'm saying that if you're not interested in different programming paradigms, you're not interested in programming. I'm going to go ahead and call B.S. on that. At my most interested, I've had no interest (nor awareness) in functional programming. Now I'm aware of it, but still not particularly interested in it. What I am interested in is working with a platform that has better foundations (e.g. .Net vs raw C++). > Knowing nothing about functional programming is like knowing nothing about HTML -- it is a big gap in one's knowledge. Completely arbitrary. A lack of HTML knowledge would be shocking only due to its ubiquity. > Focus is good. But you can't have mastery without knowing the right programming techniques and paradigms You seem to be saying that functional programming can be used to greatly reduce code. But if my employer doesn't allow it, and my teammates aren't experienced in it, what good is it to me? > therefore, programmers who program because they like doing it are going on average to be better at it than programmers who program because it's just a job I agree with this statement, which is nothing like your earlier statements.
- rbanffy 16y ago> If his company doesn't pay him to develop Linux products, why on earth would he learn about developing for Linux? Or other languages. Or tools. Because really good programmers love to learn new tricks. Because learning new tricks will make them good programmers. You admit learning about PHP made you a better C++ programmer. A couple years back, on a mailing list, a novice asked what she should learn during her vacations, Python or Ruby. I answered she should not master, but learn a bit of Lisp, Smalltalk and, having time, Forth. There is little chance she will ever use any of those languages directly, but each language holds valuable lessons that will prepare her better for her career. And that's why it's important for Dick to learn to develop for Linux.
- georgieporgie 16y ago> Because really good programmers love to learn new tricks. Right. And because you don't know the particular tricks I learned, it indicates some sort of deficiency in your knowledge or character. Hmm... Nah. > You admit learning about PHP made you a better C++ > programmer. Uh. I learned PHP while coding for a company. No way I would be at home learning PHP for 'fun'. I would rather be out cycling, rock climbing, or being with friends. > a novice asked You're effectively talking about a student. Students get a sampling of a lot of ideas. Experienced software engineers are expected to have mastery in one or more areas. > And that's why it's important for Dick to learn to develop for Linux. That's an absurd conclusion. Perhaps, "that's why learning Linux may be important for Dick." There are a lot of things in the world to learn. Perhaps Dick will benefit vastly more from learning some other platform, API, language, or entirely unrelated skill. My point is that this guy comes off as superior and snarky because the MS plebes are discovering what he's known for rh so long. That kind of attitude is corrosive, dismissive, and unproductive.
- rbanffy 16y ago> Right. And because you don't know the particular tricks I learned, it indicates some sort of deficiency in your knowledge or character. Hmm... Nah. Aren't you exaggerating a bit? I never judged the value of a specific field of knowledge. If you want to master Z-80 assembly language, feel free to do so. I prefer the 6502. > No way I would be at home learning PHP for 'fun'. Are you sure this is the right career for you? Because if programming is no fun, you will treat your job as a burden. I enjoy weekends (walking, being with friends, reading, playing with my son) as much as I enjoy weekdays (solving mind-bending programming problems, preparing lectures - will do two a month from now). > You're effectively talking about a student Aren't we all students? I am re-learning Smalltalk and learning Lisp. My wife is going towards her MBA. I am learning to program micro-controllers in order to build hardware for a vintage 8-bit computer. Learning is good. > That's an absurd conclusion. Why would it be absurd to learn how to program for an OS lineage that goes back to the 70s, that has shown incredible adaptability, is used in all kinds of business, from the tiniest to the top Fortune 10, being deployed in all kinds of exciting applications, from the tiniest cellphones to the largest supercomputers? Why would Dick prefer to miss such a party?