Live data from Hacker News

How Microsoft is changing the programming world

programmingzen.com

31–40 of 79 posts

Re: How Microsoft is changing the programming world

#31
post #16

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…

Well, 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.

Re: How Microsoft is changing the programming world

#32
post #10

Earlier quoted context omitted.

You write code to make sellable products and every avoidable complexity, every thing you don't understand in your code or build system will eventually come back as increased cost when you need to extend, adapt it to the next Microsoft OS or simply debug it in an environment that looks like what your clients use. Of you don't understand your build system, you really don't know what you are shippin.

How does knowing makefiles help you understand your build system if you're using VS? You do realize that it doesn't use Makefiles (at least, not by default). With that said, I know people who the old VC project system inside and out. And I know tons of people who know MSBuild as well as the most build engineers I know in the Unix world know make. Makefiles are an artifact of a particular build system. It is not found…

A VS project is, more or less, a makefile with a little information around the edges.

It holds, within its structure, information enough for VS to build its targets. Who cares if it's not called "Makefile" and you don't invoke it with "make"?

The reference to makefiles is that, if most VS users did understand what goes on after they invoke "Build", they would be able to write a makefile. Since so few of them do, few of them could, conceivably, write one.

Or tell, exactly, what happens when they hit... What was it? F9?

Re: How Microsoft is changing the programming world

#33
post #10

Earlier quoted context omitted.

You write code to make sellable products and every avoidable complexity, every thing you don't understand in your code or build system will eventually come back as increased cost when you need to extend, adapt it to the next Microsoft OS or simply debug it in an environment that looks like what your clients use. Of you don't understand your build system, you really don't know what you are shippin.

So if I compiled my C# applications from the command line using a project file which I wrote from scratch in an XML editor, would that suddenly give me a better understanding of "how my code works?" Oh wait, no it wouldn't.

You are confusing cause with effect. If you did understand what is going on in your build process, you could write a makefile for it. Since you don't, you can't. It has absolutely nothing to do with command lines or XML editors (and, while we are at it, if your answer is using XML, you are asking the wrong question).

And the C# build process is very simple. It should be easy to understand.

Re: How Microsoft is changing the programming world

#34
post #31
post #16

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…

Well, 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 t…

I 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.

Re: How Microsoft is changing the programming world

#35
post #32

Earlier quoted context omitted.

How does knowing makefiles help you understand your build system if you're using VS? You do realize that it doesn't use Makefiles (at least, not by default). With that said, I know people who the old VC project system inside and out. And I know tons of people who know MSBuild as well as the most build engineers I know in the Unix world know make. Makefiles are an artifact of a particular build system. It is not found…

A VS project is, more or less, a makefile with a little information around the edges. It holds, within its structure, information enough for VS to build its targets. Who cares if it's not called "Makefile" and you don't invoke it with "make"? The reference to makefiles is that, if most VS users did understand what goes on after they invoke "Build", they would be able to write a makefile. Since so few of them do, few…

Whoa, it is most definitely not a makefile. Unless by a makefile you simply mean any file that has dependency information. If that's your claim, then I'd argue that every VS build engineer I've ever met understands "makefiles".

And I think most developers do understand what happens in their build files. Especially since most of them are now msbuild files. We actually handcraft our own, because of the way we have our integration server set up. It's not rocket science, but its not a makefile either. But yes, it does capture dependency information.

Either you just know really poor devs, or you know a lot less than you think you do about what people know in this space.

Re: How Microsoft is changing the programming world

#36

The other day I was browsing through computer books. One, on LINQ for VB, seemed very enthusiastic on this radical new technology Microsoft had brought out -- and the example they used to illustrate this was something Smalltalk had 30 years ago. Incidently, Smalltalk isn't normally considered a functional programming language (do doubt because object orientation overshadowed it) but with its closures (called blocks)…

I always say that any aspiring programmer should read "Squeak by Example". Even if they end up never using Squeak (or Smalltalk), it will make them better programmers.

Eric Raymond used to say the same thing about Lisp. I wholeheartedly agree.

That said, I also like to annoy my fellow Java programmers by saying that Smalltalk 80 was more advanced than Java 2010.

Re: How Microsoft is changing the programming world

#37
post #34
post #31

Earlier quoted context omitted.

Well, 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 t…

I 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 peop…

On 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.

Re: How Microsoft is changing the programming world

#38
post #17

It is an arsurd article. I can point you to web devs on LAMP from the same era that were equally ignorant of other languages or paradigms. The real question for developers isn't, "what things, do I consider important, do you know?", but rather "what have you shipped?" If the only language you know is C++, but you're the lead dev for the Halo series, that gives me a lot more respect than if you know 20 languages and y…

Not to mention the fact that Microsoft is a customer oriented company, they are aware of what the enterprise is asking for. Somebody knowing 20 languages does not necessarily make a good employee. What the enterprise wants is exactly what VS has been giving them for the past years. Sure, as the enterprise is escaping IBM-isation of the workforce you can see a bit of a shift in perspective (evidenced by changes in VS)…

The real question here is what kind of programmer wants to be limited to whatever "the enterprise" asks for.

Re: How Microsoft is changing the programming world

#39
post #29

The 'Dick' he writes about didn't know functional programming concepts in early 2000s. If HN existed at that time, you probably could have said that about the HN readers. OOP was the big deal then and the majority of non-MS programmers didn't grasp functional style either. I sure didn't in 2001. The author is an idiot.

You're missing the age of Dick. If Dick is 18, sure, it's excusable. If Dick has been programming for 30 years, his lack of knowledge isn't so excusable (assuming one's goal is to amass 'knowledge'). So many Kids These Days feel the entirety of Computer Science and Programming has been developed since 2000. I'm pretty sure LISP and functional programming existed in literature, learning, and practice before early 2000…

Unless your an encyclopedia or going on Jeopardy! I don't think that amassing knowledge is a very interesting goal. To each their own, but I think creation is a lot better than amassing knowledge.

And to be honest, there was little practice in Lisp before 2000... and frankly little after 2000.

Re: How Microsoft is changing the programming world

#40

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 tool…

> 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.

Post reply on HN