Live data from Hacker News

How Microsoft is changing the programming world

programmingzen.com

61–70 of 79 posts

Re: How Microsoft is changing the programming world

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

> every thing you don't understand in your code or build system will eventually come back as increased cost I agree with this. But what has that got to do with Visual Studio and makefiles? Is your point that Visual Studio is hard to use, somehow? I've created quite complex build systems using Visual Studio and scripting. I'll admit I've had rough patches where it's been hard to figure out where a setting might be, or…

I think the biggest point is that it's much harder to find a developer that understands the build mechanism of a project now than it was, say, by the mid-80's. We are doing more complex builds and VS makes it easy to fall prey to a huge pile of complexity where there should be a much smaller, addressable, tangle of dependencies.

The point is that what appears to be an easy approach to project build management is, in fact, a loaded shotgun aimed at your feet.

Re: How Microsoft is changing the programming world

#62

Earlier quoted context omitted.

This one: http://www.amazon.com/Pro-LINQ-Language-Integrated-Query/dp/... The example on page 3 was: Dim greetings() As String = {"hello world", "hello LINQ", "hello Apress"} Dim items = _ From s In greetings _ Where s.EndsWith("LINQ") _ Select s Which In Smalltalk would be: greetings := #('hello world', 'hello LINQ', 'hello Apress'). items := greetings select: [:s | s endsWith: 'LINQ']. Needless to say I was not com…

I don't think this one line is exactly where all the innovation is. But it is representative of getting your toe in the water. But this is the typical argument I hear from people about anything. "Hey, that was a good movie"... "Dude that plot is basically a derivative of Hamlet with a twist of Revelation, chapter 3. Nothing really new there". Or the most standard, "Actually you can do that with Lisp." I'm sure you pr…

> I assume they did it to make the lives of developers easier.

I imagine you're right, and it's an entirely reasonable thing for MS to do. What I took exception to is the way the book spun it as an amazing new technology.

Re: How Microsoft is changing the programming world

#63
post #20
post #14

Earlier quoted context omitted.

Visual Studio programmers that can write a makefile are not many That's a good thing, to be honest. One person fewer who needs to worry about stupid semantic differences between tabs and spaces is one person happier.

There are far more distressing things in C programming, specially on the Windows platform, than semantic whitespace. I would find debugging makefiles... enjoyable compared to writing Windows C++ code.

> enjoyable compared to writing Windows C++ code.

Care to share what you find so distressing in Windows C++ coding? I'm genuinely curious.

I hear a lot of people -- primarily Linux C coders -- bashing Windows[1], but they never seem to have any specific reasons, at all. I chalk it up to subjective taste and something that's like imagined oppression, or imagined insult (e.g. Windows is too easy to code on, dues aren't paid, etc.).

[1] I can rarely nail down if they dislike the Windows user experience, Visual Studio, the Windows API, it just seems like Windows-oriented angst.

Re: How Microsoft is changing the programming world

#64
post #33

Earlier quoted context omitted.

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.

> If you did understand what is going on in your build process, you could write a makefile for it Okay, your premise seems to be: 1) Understanding your build process means you can write a makefile for it. This is only true if you know how to write a makefile. i.e. makefile syntax and the specifics of your toolchain. 2) Conversely, if you can't write a makefile, you don't understand your build process. This is false,…

One can learn the syntax of standard make Makefiles in about two minutes, without cracking open the manpage for that.

It does not follow that if you don't know how to write a makefile for your toolchain the necessarily you don't understand your build process. But, if you can't write it after you understand its syntax, then you are pretty much doomed.

Re: How Microsoft is changing the programming world

#65

Earlier quoted context omitted.

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

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

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

Re: How Microsoft is changing the programming world

#66

Earlier quoted context omitted.

I don't think this one line is exactly where all the innovation is. But it is representative of getting your toe in the water. But this is the typical argument I hear from people about anything. "Hey, that was a good movie"... "Dude that plot is basically a derivative of Hamlet with a twist of Revelation, chapter 3. Nothing really new there". Or the most standard, "Actually you can do that with Lisp." I'm sure you pr…

> I assume they did it to make the lives of developers easier. I imagine you're right, and it's an entirely reasonable thing for MS to do. What I took exception to is the way the book spun it as an amazing new technology.

I agree. The "has your world been shaken yet" (or whatever the line they use) was over the top. Unnecessary. For most users, the code speaks for itself.

Re: How Microsoft is changing the programming world

#67
post #20

Earlier quoted context omitted.

There are far more distressing things in C programming, specially on the Windows platform, than semantic whitespace. I would find debugging makefiles... enjoyable compared to writing Windows C++ code.

> enjoyable compared to writing Windows C++ code. Care to share what you find so distressing in Windows C++ coding? I'm genuinely curious. I hear a lot of people -- primarily Linux C coders -- bashing Windows[1], but they never seem to have any specific reasons, at all. I chalk it up to subjective taste and something that's like imagined oppression, or imagined insult (e.g. Windows is too easy to code on, dues aren't…

It's mostly taste, really. You can do almost everything you do in one environment on the other. What I dislike most in Windows is the standard APIs and datatypes. Not only they "feel" more complicated, the naming and casing conventions are plain ugly. I will dig up some examples from my WinCE days.

It's gotten a lot worse since I started writing most of my code in Python (2001-). I can't look at C code for Windows and consider it elegant anymore.

Re: How Microsoft is changing the programming world

#68
post #54

Earlier quoted context omitted.

People that read this as an anti-Microsoft article are totally missing the point. I've met plenty of these "Dicks" and they're not necessarily bad programmers, they just work entirely within the MS domain, which is easy to do because it's pretty comprehensive. Like the author, I commend Microsoft for using this influence to help bring functional techniques into the mainstream. The programming challenges we face today…

It's not what he's saying that gives it the anti-Microsoft flavor; it's calling every Microsoft programmer a Dick. Hiding behind this moniker that is obviously insulting -- and the author proves he knows this when he says "short for Richard, of course" -- all the while pretending it's innocent is what does it.

You're quite right, that was uncalled for and, well, a dick move. For some reason I didn't notice it this morning.

On the other hand MS don't treat their own workaday programmers much better by calling them "Mort".

Re: How Microsoft is changing the programming world

#69
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…

But 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 look…

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

Re: How Microsoft is changing the programming world

#70
post #67

Earlier quoted context omitted.

> enjoyable compared to writing Windows C++ code. Care to share what you find so distressing in Windows C++ coding? I'm genuinely curious. I hear a lot of people -- primarily Linux C coders -- bashing Windows[1], but they never seem to have any specific reasons, at all. I chalk it up to subjective taste and something that's like imagined oppression, or imagined insult (e.g. Windows is too easy to code on, dues aren't…

It's mostly taste, really. You can do almost everything you do in one environment on the other. What I dislike most in Windows is the standard APIs and datatypes. Not only they "feel" more complicated, the naming and casing conventions are plain ugly. I will dig up some examples from my WinCE days. It's gotten a lot worse since I started writing most of my code in Python (2001-). I can't look at C code for Windows an…

Yeah, that seems to be what most of the Windows bashing comes down to: taste. Not that there's anything wrong with subjective preference, I just usually see it stated as if it were simply a known fact.

If it's any comfort, I find most Unix/Linux APIs I've looked at to be painful, and long for (most) Windows API functions. :-)

One thing Unixy people seem to hate is "Hungarian" naming of variables. Granted, like most things, it can be taken to a ridiculous extreme, but I've always really liked it.

Post reply on HN