Hacker News new | past | comments | ask | show | jobs | submit login
Microsoft’s Silence is Infuriating .NET Developers (infoq.com)
43 points by DanielRibeiro on June 11, 2011 | hide | past | web | favorite | 54 comments

Has anybody actually met one of these Infuriated .NET developers?

I use the .NET stack for pretty much everything I do, and I'm not even slightly worried that the next version of Windows will make my life worse. I can't even come up with a way in which they could do so.

I get the feeling that there is some PR agency somewhere inventing these stories for some motive of their own.

I don't know about "met", but for the past week or so, I've seen lots of "the sky is falling" on Twitter from pissed off .NET developers.

I think much of it is an overreaction, but Microsoft's native development story the past few years has given them room for concern. You're correct though, that the idea that there won't be .NET applications being developed and deployed over the next decade is pretty ridiculous.

I definitely think this is a PR disaster for Microsoft. Whether warranted or not, if Windows developers feel like they're investing in deprecated technology, there's a chance that what they jump to won't be controlled by Microsoft.

there's a chance that what they jump to won't be controlled by Microsoft.

... like HTML and jQuery ?

Keep in mind that many C# MVC devs are well accustomed to this. The default MVC project template includes jQuery.

People are naturally resistent to change

No, I suspect it is a deeper fear. C# and Java devs have always commanded higher rates despite the HTML devs producing better looking apps and cheaper rates. With HTML being a first class citizen, I'm afraid this heralds the end of the .NET gravy train.

I have quite a few friends doing .NET for a living, and I can safely say that I make more than them using Ruby at work (at an ad agency, no less). They would definitely not call their jobs a "gravy train."

One word: outliers.

The private sector with in-house apps pays better than startups? Is that what I'm reading?

Forgive me, but I believe I can safely disagree here.

Maybe you should go to other cities outside Silicon Valley.

I live in Redmond, and was comparing prices to Florida, where I used to live, actually.

There are a few things to consider:

1) Seattle is probably the top 3 hi-tech hub in USA (Silicon Valley/SF/SanJose and NYC as the other 2).

2) Are you comparing .NET dev in Redmond vs Rails dev in Redmond? Or Rails dev in Redmond and .NET dev in Florida?

.NET in both places, actually, and start-up dev in SV (which I suspect makes a cost-of-living similiar pay to myself)

I think the problem is that a lot of .NET developers have felt for some time that the platform is running out of steam. PR disasters like this just provide a focal point for that, more general, anxiety.

As for why it feels like that, I suspect that different developers would have different answers. For me, there's the abandonment of the Iron* projects, the lack of a decent .NET Javascript, and the weird need-hate relationship Microsoft has with its open source developers.

Before all this Win8 broughaha, I don't think anyone was considering .Net to be "running out of steam". The Iron* projects were disappointing to see get dropped, but they never really were first-class citizens to begin with.

In fact, if anything, over the past few years I'd say the general sentiment has been that .Net has now eclipsed the JVM as the "best" platform available. Obviously not being able to deploy to other OSes (ignoring mono, of course) was a problem, but not a big one for a lot of folks. C# is a language a lot of people really enjoy using, and F# has excited a lot of people and since it's "official" gets accepted in stodgy corporate environments quicker than some of the alternatives (Scala comes to mind).

That said, yes, in the last month or two I have been surprised (but not disappointed) to see that MS seems to be reinvesting in C++. I'm a little confused by this Win8 stuff, though. I think MS focus on Silverlight over the past year or two was misplaced, when they should have been focusing on WPF first, and now I'm not really sure what the status of WPF is with "Jupiter".

Reading codebetter, you can watch one after another alpha geek move his attention to python, to ruby, and to node. Not that many seem interested in jumping to Java (although Mike Rettig clearly has). I suspect that's simply because Java just feels plain painful to anyone who has ever used LINQ.

F# is cool, however.

I get the same feeling - I've lived on the .Net stack for 10 years, and I'm not even slightly annoyed. Chances are, if you make your life on .Net, you have corporate clients. They won't move on to Windows 8 for years - and they certainly aren't moving off of .Net on the server side any time soon.

True but Microsoft does roll their technology fronts every decade or so. MFC, COM+, VB, ATL, etc. Still around but not the forefront strategy. C# is locked in for good though, declarative/markup UIs same thing. With every new technology there is more opportunity to those that enter it early.

Since this post made it to the front page of HN, I'd say it's got to infuriate at least some people. That, or a large HN demographic likes the report that .NET developers are infuriated? This seems much more likely to me.

Or they think it's interesting enough to be worth an upvote. I find it strange, the idea that you only upvote stories that make you happy.

I'm a .NET dev. I wouldn't say I was infuriated, but annoyed/disappointed probably covers it.

I think this is more a case of journalists sensationalizing a relatively dull case. Think of .net developers as slightly miffed and apprehensive rather than infuriated, and this becomes a more reasonable story.

That said, I think there's reason to be apprehensive. I mean, .net is a Microsoft product. It's never a good sign when you have to press a product's maker for information about how great said product is and how central it is to what they're doing. I'm not saying .net is going to disappear in Windows 8, but it certainly sounds like Microsoft is trying to de-emphasize it at this point.

Yes, actually. A recent hire. Apparently was big on MS development, their company was a big partner, really pushed MS technologies, basically drank the kool-aid. Ended up rather bitter about the entire thing. Asked him just this week about Silverlight, and related a few stories. Is he infuriated? Not anymore. Mostly because he's moved on.

* I can't get into specifics, mostly because it was just a conversation, but you could sense the resentment and the feeling of betrayal.

I have to agree here.. Anyone who has worked with Microsoft technologies and ventured in to Silverlight land KNEW it was not something to bank on. Slow maturity and lack of community, this product was dead from day one.

I'm glad they are moving towards HTML5 as their presentation layer standard. I've been doing this for months now anyway, like most .NET (ASP) developers.

From what I've read, it looks like the people most concerned are the ones who have become accustomed to the 'visual' programming interface. I left corporate IT over 8 years ago for my own biz (after over ten years of doing it nights and weekends) but I was an administrator and an MCSD/MCDBA who made unix and windows play nice together so I often was approached with broken enterprise apps that almost always turned out to be Access .mdbs or VB programs that were being used by hundreds of people across large networks for critical (often financial) tasks. Fixing them taught me a lot about the capabilities of the authors (hard working good people) who were allowed to appear as much better software developers than they actually were.

Going through 'wizards' and setting properties in a drag and drop visual environment are great for prototyping but these developers were often pressured by their managers to make these prototypes live immediately. Problems were fixed with 'work arounds' and users complained constantly. Often, all I had time to do was clean it up, trim it down and move it to a SQL Server. A temporary fix at best.

I can only imagine that the fear of losing support for these tools is driving a lot of the forum posts that I have seen.

I for one am extremely curious to see what microsoft considers to be HTML5.

From what I've read, it looks like the people most concerned are the ones who have become accustomed to the 'visual' programming interface. ... Going through 'wizards'

You read wrong. Expression blend is not a wizard. It's more like Photoshop.

<i>Going through 'wizards' and setting properties in a drag and drop visual environment</i>

If you don't "drag and drop" when developing WinForms/WPF applications then it would really be a waste of time hand coding everything, don't you think?

I've been into .Net for a decade now and I am not worried at all. Maybe that's because I am not limited into win apps development.

Why do you associate visual programming with Silverlight in particular? It's perfectly possible to write Silverlight apps without touching such tools (like Expression Blend). Meanwhile, there are plenty of drag and drop/WYSIWYG code generation tools for HTML (see: Dreamweaver).

Rumor has it, leaking info coming at BUILD is insta-termination. And while that's old hat for Apple employees, devs targeting the Microsoft platform aren't used to surprises or secrets.

Of course, who else is expecting to just hear that Silverlight is HTML5? Code targeting it and any HTML5 browser will be able to run the apps, with a better ("native") experience on Windows, but supported on those other platforms... :-)

The funny thing is that alpha builds of Win8 itself have already been leaked, and people have been deciphering the various new DLLs. There's apparently a new native UI framework that's based on, but not the same as, Silverlight (similar to how Silverlight is based on WPF)

The thing you want to plug into Google here is "Jupiter", or "Jupiter UI"

I'm sorry, but Silverlight developers can wait 2 months to hear info about an operating system that's more than 12 months from release.

The only logical stance is that they're going to kill Silverlight and don't want to say anything until they have all their ducks in a row.

However, Microsoft isn't necessarily logical. They may simply have not expected people would read this from their Win8 demo and nobody in the company is willing to speak up about Silverlight's roll in Win8.

Either way, this is bad PR for Microsoft.

However, Microsoft isn't necessarily logical

It's not useful to think of it in terms of what "Microsoft is" or "Microsoft isn't". Microsoft is a very big place, and the internal power struggles are what shape it. In this case, it's Windows division under Steven Sinofsky versus Developer Tools division. DevDiv owns .Net, WinDiv is less keen on it, and they have IE9 now.

Sinofsky is the one who came up with the "native html" non-sequitur at the mix11 conference. How do you start to try to get platform-specific coders to adopt a cross-platform lowest-common-denominator technology? Call it "native".

If this is Kremlinology then so be it. it's the only way to make sense of MS. It's sad that their best technologies are used as ammo in internal battles.

Don't forget, WPF held up LongHorn and they had to reboot their development. By taking care of the windowing framework deep within Windows (presumably the underlying code is unmanaged) and removing the dependency on .NET, Windows division is ensuring that they will never suffer the humiliation of delays because of DevDiv.

My appologies, the "Native HTML" marketing message was delivered at MIX by Dean Hachamovitch, head of the IE team.

They aren't going to kill Silverlight and Silverlight will largely remain unchanged. Remember, while this is a new feature in Windows 8, it's a small feature (live tiles on start menu thing).

There is nothing Microsoft could say to appease .NET developers. Obviously .NET and Silverlight aren't going away, everybody must know that. The only reason people are so mad, is because now they are not the only courted workforce anymore.

There is probably another reason here. WPF and Silverlight were meant to bring rich beautiful interfaces to Windows. But they did not succeed not because of the technology. The reason is precisely because a majority of the people who are prepared to learn .NET is the old breed of developers who still think in terms of WIMP interfaces. So years after WPF, there are few good looking apps in the wild.

In contrast, the devsigner community in HTML is vibrant and competitive. Just look at how many beautiful SaaS apps there are.

MS needs these people working on their stack and they realize Silverlight and WPF is a hard sell for these people who already have HTML chops. If they could get these devsigners working on Windows, it will present a shot in the arm for better looking UI on Windows again.

No, as a WPF/Silverlight developer, I think those technologies failed to take off because the development workflow of WPF/Silverlight simply sucks ass. Expression Blend is awful and is incompatible enough with VS that it becomes a nuisance to use.

XAML, WPF and Silverlight were designed by .NET developers for .NET developers, but marketed towards designers. You cannot develop/design in that ecosystem without already knowing C#, VS project and solution files. The workflow was very dev-centric, and that's why I think it failed to take off as MS would like.

Well, the tools may be awful, but designers are not easily persuaded to change their tools. Even today, Photoshop trumps Illustrator in popularity. There is no workflow from PSD to HTML other than a secondary market of slicers. If MS wished to succeed, it had to bring the same familiar workflow into the process.

The workflow was very dev-centric, and that's why I think it failed to take off as MS would like.


Well this is off topic in my opinion, but I think Silverlight simply has worse designer tools than Flash. There isn't anything intrinsically bad about .NET, it just so happens that the tools are nothing a designer would ever put up with. I encourage you to try Blend...defining a few animations is magnitudes more complicated than just drag and dropping stuff into keyframes and then pressing play.

Silverlight is irrelevant, has always been, will always be. Maybe it won't completely "go away", but anyone who is betting a farm on it is an idiot that deserves what is coming at him (yes, him, women wouldn't be that stupid).

For better or worse, Silverlight is still the best way to play back video in the browser. The performance of the Flash video player is simply appalling and HTML5 video playback has its own problems as well (codec issues, buggy implementations although that improved a lot recently.) If you want nice, smooth playback in any browser, on Windows or OS X, you need to use Silverlight. It's not a coincidence that Netflix uses it.

I have to agree though that it doesn't really make sense to use Silverlight for anything else, although Bing Maps is pretty impressive.

Don't forget DRM, too (a la Netflix)

I don't support restrictive DRM, but Netflix does have to bow to their content owners to stay in business

What percentage of users have silverlight installed?

Depends on how you segment. For mobile its just a 1-2% tops (WP7 users). On the desktop I've heard something like 50-60%.

Lets put it this way, there are 500M or so Silverlight enabled desktops. There aren't many things you can target that have such a large user base.

You're the idiot

As a .NET developer myself I will be glad to share with all of you that the only people who are infuriated by any of this are morons who think html/js widgets are replacing the .NET CLR + Framework/Library + C#. I won't argue with morons and neither should you.

I'm a newbie to JavaScript, who got in primarily for the upcoming "web audio API" in webkit. As I code, I realize how capable the JS engines have become over time - enough to do some "serious" math for audio. Also seeing WebGL taking hold, I must say that I'd certainly consider JS as a serious contender for the likes of .Net etc and am glad to see MS and HP also think along those lines. Add in the fact that you can use it on the server side as well, and the argument for it is even more compelling.

I don't have any qualms saying that those who choose to stay out are depriving themselves of what starting to be a productive app dev platform across the board, with C++ serving as the "dive in for performance" level.

"Also seeing WebGL taking hold, I must say that I'd certainly consider JS as a serious contender for the likes of .Net etc"

At most I would say JavaScript can be a "serious contender" to a very small subset of .NET. There is no way you can just substitute everything .NET offers with a mix of html5 and JavaScript. That's why I don't think anyone doing .NET development should be in the least bit concerned. That is unless they have some irrational phobia of having to learn something new for their presentation layer.

Any examples? HTML5+JS does look quite rich as a presentation layer. Well, rich enough for Apple to build iAds on it, WebOS to build its UI layer on it .. and, on the topic, even MS is basing the Win8 presentation layer on it.

Is your point only about the presentation layer or about other parts of .Net?

To clarify:

HTML5+JS is only suitable as a replacement to the presentation portions of .NET (so WPF or WinForms), which are just a small portion of everything that .NET is. Think of .NET as being a Humvee and HTML5 and JS as a motorcycle, and developing your application as going to some remote location in Alaska -- while the motorcycle will look great, it will only get you so far, and you need something more for the rest of the road that can also carry a motorcycle if need be.

JS is a language that primarily lives in the browser and doesn't come with anything that would allow you to access much of the computer it is running on. We're talking about applications that will be executing natively here, so things like access to the file system are a must. You can of course try to use something that implements the CommonJS spec, like NodeJS, but are you honestly going to throw out the massive amount of libraries Microsoft created for doing IO, database connectivity, concurrency, networking, and a whole lot more, for something as minimalistic as an implementation of the CommonJS spec?

There are other problems on top of this. People say JavaScript is "fast", and it's true when compared to JavaScript a few years ago, but it is not true when compared to most .NET languages. Objects essentially being associative arrays in JavaScript means accessing a value that is deeply nested in a hierarchy of objects is slow. While even a problem now, it would get much much worse if you were to throw in the large number of libraries needed to make HTML5 and JS into a general application development framework. Stuff like: Com.Company.Project.Class.Member.Member.Method(); simply takes too much time in JavaScript. Same story for deep inheritance chains you often see in desktop apps.

Another problem: If your whole application is going to be in HTML5+JS, your whole application's source code is going to be public. You can try obfuscation, but I personally wouldn't put much faith into that approach.

.NET was built from the ground up as a whole application development framework -- it does this well. While HTML5+JS overlap with .NET in some areas, their scopes are still much smaller in comparison, and are therefore not suitable as complete replacements to .NET.

i don't think silverlight is going away in the nearest future, but if you're really "infuriating", the only reason i can assume is that you based your whole business in a proprietary technology owen by a company known for promoting something new, and making it obsolete after two years. you jumped with both feet in a technology that won't be an official standard and multiplatform like one of the competitors (html5 + js) nor as widespread like the other most direct competitor (flash).

that would be _your_ fault, not microsoft's.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact