4 ms·
Wow, I have to pipe up here. The commenters so far are completely missing the point of this article. The author is making two observations, both of which are qu
by gruseom 16y ago
Wow, I have to pipe up here. The commenters so far are completely missing the point of this article. The author is making two observations, both of which are quite correct in my experience. First, the mainstream MS developer universe -- the overwhelming majority of it -- is parochial. People learn new things when MS release some new technology and not before. (I'm talking about the smart ones here. The mediocre ones don't bother learning.) Back when I was an MS programmer, the place to learn new things was MSDN Magazine. There is very little interest in looking outside the village gates; in fact it tags you as a little weird. This phenomenon is so well-established that I'm surprised anyone would deny it. I've commented about it on HN many times myself.
The second and main point is that since this large programmer population receives its knowledge almost exclusively from MS, it's a really good thing that MS have started teaching functional programming. It's probably the best chance FP has ever had to break into the mainstream. Even if it takes over just a corner of the MS world, that corner is probably larger than the rest of FP put together. This is a really good thing, and it massively kicks the ass of the crap that MS used to feed their "Elvises" and probably still do.
I'll add a third point. We know why this is happening. It's because a little less than 15 years ago, MS changed their direction, acquired some top-notch people (starting with Hejlsberg), and started moving in a direction more informed by CS and PL theory. This process is slow, but good. One can finally see it yield real fruit in the form of F# and the recent enhancements to C#. People like Meijer are having a very real influence. Come to think of it, that's probably why people like Meijer went to MS to begin with.
- deleted 16y ago[deleted]
- Aaronontheweb 16y agoHere's the deal - I don't like being generalized as some sort of mind-slave to Microsoft's brain trust just because I prefer Visual Studio and C# over Eclipse and Java. My choice of development platforms and tools doesn't mean that I'm inherently less curious about what else is available to me, and the author's generalization and yours would seem to indicate otherwise. What you're reading in the HN comments are the objections to this generalization. If I had written this article and wrote it about how PHP developers don't know anything about unit testing, agile, JIT compilation, pre-caching, and whatever, a different audience of HN readers would be tearing it up in the comments right now.
- jshen 16y agoHere's the deal, that's how generalizations work.
- gaius 16y agoWell, I'd say that MS-only developers ignore Linux because it's not directly relevant to their day-to-day work. They just want to do their jobs with the tools they know then go home (and there's nothing wrong with that). On the flipside, Linux-only developers actively avoid Windows on ideological grounds. The latter is where this article is coming from. You can't really say a LAMP developer is any more cutting edge than an ASP.NET developer. Both adhere to the orthdoxy of their preferred platform. Simon Peyton-Jones is another heavy hitter at MSR.
- gruseom 16y agoI didn't mention Linux or LAMP. I said that the MS programming world is parochial. It's closed-in on itself and remarkably ignorant of the rest of the software universe. I worked in the MS space for years and observed it closely. There simply isn't any doubt about this, or at least wasn't at the time. Possibly things are changing as MS' power wanes; possibly the people who frequent HN are outliers; possibly some people just don't like hearing this; possibly all of the above. But I can walk you down the street from where I'm sitting and take you to my friends' consulting shop where life is all-MS-all-the-time and introduce you to a dozen or so smart programmers who can tell you all about Linq-to-objects and ASP MVC, not one of whom knows anything they haven't gotten from MS, except what they learned at school.
- gaius 16y agoOn the flipside of that is people using MySQL who have no idea what MSSQL can do (for example). The Linux world is no better or no worse in this respect.
- Daishiman 16y agoNo, it's much, much better. For one, there's no such thing as the Linux world. "The Linux world" is everything else in this context, which includes Java, Ruby, Python, Web, C, and dozens of different technologies. With the exception of the Java community, none of those communities come even close to being as insular. None. Every Ruby and Python dev I know has at least checked out Java and C# before going back to their primary language. Every Java developer has dozens (too many, perhaps) of choices for libraries, app servers, and even other language that run on the JVM. Even PHP developers have some notion of other tools used for web development (generally Flash and Flex). It's true that many of these communities might not have much exposure to deeper subjects of more dubious relevance, like CS theory and classic FP languages like Lisp, but they at least know and understand that there are other choices out there. Meanwhile, most MS-only devs don't even know about Apache, SVN, or even the notion of using a text editor as your primary development environment.
- ryanelkins 16y agoBut why is being parochial in an MS world a bad thing? People are upset not because that point was made but how that point was made. I'm a MS developer and although I do know other languages I don't necessarily see it as a big advantage. It's basically a question of breadth vs depth. The truth is that the MS stack is deep enough that a developer can dive in and few will ever hit the bottom of that pool. If I was looking for a job as a .NET dev, my depth in .NET is what is important, not how well I know N number of other languages. If I'm working in a .NET stack, my experience with Java, while not worthless, is not as useful ass more depth in .NET. An individual has a finite amount of resources to spend learning about other stuff. Yes, it would be awesome if I knew tons of other languages or how things work at ever lower levels of code. I just choose to spend those resources learning things that are more immediately useful to me. The author just took a very derogatory approach to this point and I think it's understandable that it upset people.
- gruseom 16y agoBut why is being parochial in an MS world a bad thing? It's a bad thing because the MS world has traditionally been cut off from the best ideas and even the best mainstream ideas around software. When I snapped out of my dogmatic slumber as an MS dev I was shocked at how much I had been missing and how much better my work got when informed by the computing world as a whole. Although my knowledge, like most people's, is still partial and fragmented, nevertheless this was a real and very valuable state change. So I can't help but respectfully suggest that if you want to grow as a software person, you should probably seek something equivalent in your own path. It's not a question of breadth vs. depth. It's a question of a pond vs. the ocean.