Hacker News new | past | comments | ask | show | jobs | submit login
Where Is .Net Headed? (odetocode.com)
67 points by wubbfindel on May 15, 2013 | hide | past | favorite | 105 comments



Regardless of where .NET is headed, C# the language (which is an entirely separate beast) has, in my humble opinion, become the most damn awesome all-around language.

It's got all the awesome features most of which are very elegantly implemented and accessible in a very streamlined fashion. Obviously if you hate C-syntax, C# isn't going to win any brownie points, but in terms of sheer power and flexibility, C# 5.0 steals the cake by a huge margin. Lambdas, parallelization, anonymous functions, interop with C functions, fast compilation, "fast" execution, awesome bytecode, and more. Constantly iterating, but not breaking with the original design goals.

It's borrowed the right features from the right languages, the right syntax from the right languages, and the right design choices from the right languages.

(Although I do dislike how the new dynamic keyword is implemented. It throws then catches too many exceptions under the hood and people really need to understand it before they use it. It was primarily designed to convert unknown/random JSON to a C# object on the fly and should not be abused. Many people coming from dynamically-typed, loosely-defined languages might think it's an easy way of adapting to the traditionally statically-typed and statically-defined C#... not so.)

(And, like it or not, it really is a cross-platform language. Mono does count and is pretty awesome. Esp. if you think about the compatibility of the language and not the framework.)

I'm still a die-hard C/C++ coder, but C# won my heart a long time ago.


I agree. C# is a very robust, professionally designed language. I enjoy using it through Mono.


Start with the name, ".NET". What were they referring to when they chose that name very carefully? They were referring to the web.

C# 5.0? Take a look at this example code from the MSDN blog which is "showing off" the new features of C# 5.0. (It was formatted this way with no indentation on the blog). This example, not by coincidence, demonstrates how .NET interfaces with the web.

    private async void
    btnTest_Click(object sender, EventArgs e) 

    { 

    var request = WebRequest.Create(txtUrl.Text.Trim()); 

    var content = new MemoryStream(); 

    Task<WebResponse> responseTask = request.GetResponseAsync(); 

    using (var response = await responseTask) 

    {

    using (var
    responseStream = response.GetResponseStream()) 

    { 

    Task copyTask = responseStream.CopyToAsync(content); 

    //await operator to supends the excution of the method until the task is completed. In the meantime, 
    the control is returned the UI thread. 

    await copyTask; 

    } 

    } 

    txtResult.Text = content.Length.ToString(); 

    }
What does that code do? It works behind a form running on the desktop, where you press a button to do an async HTTP request and display the content length of the response.

First of all, why would I want to create an application that runs on the desktop, rather than build a web application that I can show to people with a link? Especially

If I were going to do the same thing with a web application then I would probably do something like this in CoffeeScript:

    $.get $('#url').val(), (res) -> $('#res').val res.length
I'm sorry, but I don't see C# as being the most damn awesome all-around language. I like CoffeeScript, or maybe even better, LiveScript (http://livescript.net). Or failing that, plain-old JavaScript.


I think a closer equivalent of your CoffeScript code in C# would be

    var HtmlLength = new WebClient().DownloadString("http://news.ycombinator.com").Length;
or if you want the length in bytes:

    var ByteLength = new WebClient().DownloadData("http://news.ycombinator.com").Length;
Want to do it asynchronously?

    var ByteLength = new WebClient().DownloadDataTaskAsync(url).Length;
That code sample you posted is to demonstrate in a rather loquacious fashion the new C# 5.0 features.

As for why create a desktop application rather than a web-based app, I'm not even going to dignify that with a response. Apples and oranges.


For one, you're criticizing a web API here and not the C# language-- and you've failed to even do that convincingly since it's an intentionally verbose example using an outdated API.

res.Text = (await new HtppClient().GetStringAsync(url.Text)).Length.ToString();

(Disclaimer: I work at MS.)


Well, that's not bad, but I think the CoffeeScript is better

    $.get $('#url').val(), (res) -> $('#res').val res.length
Or using LiveScript backcalls is even cooler:

    data <-! $.get '/x.html'
    $ \.res .val data
Or in IcedCoffeeScript if you like 'await'

    await $.get 'documentation/css/docs.css', defer res
    console.log res
Or check out the huge list of languages that compile to JavaScript at http://altjs.org/


> First of all, why would I want to create an application that runs on the desktop, rather than build a web application that I can show to people with a link? Especially

To take proper advantage of the hardware and provide proper integration with the operating system.

The browser is for documents.


That's not a fantastic code sample, but its purpose is to show off the async / await keyword. There's no point in criticizing it for not being a web app... I do wish, however, that MSDN blogs put more focus on good, idiomatic C#, formatted properly, but they so often come up short, only doing one thing adequately while failing at all others.


I don't think you know enough about .NET, C#, or even web applications in general, to effectively comment on this subject.


Erm. .NET is alive and well, especially on the game and mobile phone development front

Xamarin (the monodevs) are doing some really interesting stuff:

http://xamarin.com/evolve/2013

Frameworks such as MvvmCross allow you to target iOS, Android, Windows 8 Mobile, Windows 8 Store, WinRT, WPF all using the same codebase using the MVVM Pattern. Write your code business logic in a PCL and share it across all platforms, i.e. 80% code re-use on mobile, write your UI for each platform and link against your shared core business logic PCL.

https://github.com/slodge/MvvmCross

Oh, you can do all of the above, program for all those platforms (iOS included) in Visual Studio with either C# or F# using async/await and linq.

Disclaimer: I went to #evolve, if you use .NET and didn't go then sorry to say you missed out ;-)

Personal highlights from the conference include:

- C# async/await on iOS, Android announced and available in the beta update channel.

- Xamarin acquires Calaba.sh (lesspainful), announces the future of automated mobile phone testing: http://xamarin.com/evolve/2013#session-xcjpj20d6s

- 80% code reuse case study: http://xamarin.com/evolve/2013#session-shy07zqsoz

- Behind the scenes with the award winning game Bastion (monogame): http://xamarin.com/evolve/2013#session-mazw2c15qr

- (Scott Hanselman) How C# Saved my Marriage, Enhanced my Career and Made Me an Inch Taller: http://xamarin.com/evolve/2013#session-umfpnw90c9

- (Josh Collins - @GlobalMoxie) Buttons are a hack: can't wait for vid to be uploaded...


I have moved everything that I host for myself or my clients to Azure. Low cost, rock solid reliability, incredible speed and easy to administer. CPU, memory and disk really are a commodity at this point.

I loved Amazon EC2 too but Azure was far cheaper for high use Windows VMs.


EC2 is indeed very expensive for Windows hosting. A c1.medium instance on EC2 reserved for 3 years is $42/mo Linux and $116/mo Windows - that's nearly triple the cost for the same hardware!

Another option is to switch to mono and run your .net apps with EC2's Linux prices. Then it's even cheaper than Azure. This is what I did for my current project.


Right so who makes Mono? Is it primarily Microsoft developers? No. Of course not.

So where does that leave Windows for internet servers?


One point that is somehow missing in this thread, yet is implicitly made is:

Open source is not the solution to every problem.

There are businesses that value the support, packaging, and overall completeness of the .NET stack. Yes, they cost money to deploy, but so do open source alternatives. People will argue that MS will lock you down. Yet, if you start developing under Rails or Django, its pretty hard to move away when things get going.


I currently work at a fairly large MS client. No way we're going to abandon .Net right now or in the next few years.

We're currently in the process of getting ready for a migration to Sharepoint Server 2013 which will cement the company with .Net for at least the next two to three years. We still have several sites on the old 2007 platform with no hint of moving those over any time soon.

I'm wondering what you see as viable open source alternatives to the .Net platform.

Also, we have a handful of .Net developers and they've all said a majority of the work they've had in the last year did not involve MVC3 or MVC4 so I'm also wondering what the future of this platform will be.


I think the future of the MVC framework is a better question. It's stuck in the middle of two worlds- huge corporate projects don't use it, and anyone that even thinks about MVC will be more likely to use something like Ruby.


I don't know if I agree with this. I've worked on large MVC applications for government, they definitely exist. MVC is IMO a simpler (and more consistent?) beast than aspnet, and in my experience doesn't have the same lazy legacy/dinosaur developers, so there's a smaller volume of questions for the number of lines of code written.

.NET vs Ruby is a whole holy war which I'm not going to get into, but there are a lot of people out there who like to get shit done, and find that .NET (and MVC) works just fine (great even) for that.


> huge corporate projects don't use it

Incorrect assumption (source: developer at huge corporation on huge projects)


OK, most huge corporate projects don't use it.

Point is, there was no huge shift to MVC after it was released. A ton of web projects are still made using WebForms and will continue to be. MVC will continue to be a minority framework.


I could be wrong, but I don't think that's true. I have come across a lot more ASP.NET MVC + JavaScript jobs than I have WebForms the past couple of years.

I think the shift has quietly occurred because everyone wants at least a little AJAX, and everyone wants jQuery, and once you've thrown those in the mix, who wants to do that using WebForms?


In my experience, MVC has already become extremely popular among medium-sized orgs with at least somewhat ambitious developers. Very large orgs with rosters of stuck-in-time developers who really love WebForms and custom control libraries, and fear or hate jQuery, well... they're not going to change until MSFT officially proclaims that WebForms are for chumps. Even though they are chumps, that will spur them to change.


> Point is, there was no huge shift to MVC after it was released.

Why would you assume that if they can't move to a new architecture, they'll move to a new language and OS?


Just the number of unfilled requirements for ASP.NET MVC shows around 2000 openings.

http://www.indeed.com/jobs?q=%22asp.net+mvc%22&l=


>I'm wondering what you see as viable open source alternatives to the .Net platform.

Mono? http://en.wikipedia.org/wiki/Mono_(software)

Or going in a different direction with similar goals, Qt.


If you think Mono is a viable alternative to the .NET platform, you don't understand why people choose .NET.

Don't get me wrong, Mono is awesome. But it's not about to be adopted by Fortune 500 companies across the world.


To someone with very little understanding of these technologies, could you give a quick word on what the problem is with Mono? Are we talking about performance, completeness, support or something else?


There are a couple of technical issues with Mono, the biggest ones being completeness and tools integration.

But, above all, the biggest problem is not technical and not Mono itself: it is Xamarin. The money decisions on big companies are made by people that need to tell to non-technical bosses and shareholders why they did what they did. And it is much easier to talk to them about Microsoft than about Xamarin.

Remember the "no one ever lost their job for buying IBM"? It works for MS, now.


No Windows Presentation Foundation support is one thing some would miss. Seriously though, there's a lot of clients out there that would probably not miss the Microsoft branding if they got over the .net label missing. Perhaps not larger enterprise clients that rely on specific MS tools and support, but a lot of smaller businesses could leave it just fine that use it for things like asp.net and switch to apache + mono.

To be fair though, the parent I was replying to did not define in what capacity .net would be replaced and how and taking replies as a black and white answer to a gray area question is a bit factitious (this part was not meant as a directly reply to the parent of this reply).



They should add Java as a CLR-supported language :P


You can always use IKVM for running Java under .NET!

I used it for adding the boilerpipe Java library to navigate HackerNews by voice! Details at: http://blog.databigbang.com/voice-recognition-content-extrac...


They did that once before http://en.wikipedia.org/wiki/J_Sharp


pretty sure he was being funny (hence the :P ... and the court cases).


I might use the opposite--a JVM implementation of C#--if such a thing existed. A port of Java on the CLR would be useless to me though, because I don't use .NET but if I did, C# has better features than Java as a language.


You cannot do that, because CLR has pointers, value types, unions and proper tail call optimization.

So those features are not mappable to the JVM.


So that means C/C++, Obj-C, and ML languages (SML, OCaml, F#) are all impossible to implement on the JVM?


You can only provide partial implementation.

Scala goes to great extents to try to live without tail call optimization.


They need to open source the CLR and rule the world


Why? It's already an ISO/ECMA standard, and there's an existing high quality open source implementation in Mono. Microsoft has open sourced several of their more recent frameworks and languages, including ASP.NET MVC, F#, and TypeScript, and released free-but-not-open-source tools like the express editions of Visual Studio. How would open sourcing the CLR help?


Exactly. Being closed isn't the problem, it's just effectively unsupported on any platform that's not Windows. Mono's nice and all, but it's not complete, and it never will be.


What is it missing that you are missing?

Mono is pretty damn complete. The stuff I've found it to be missing are very Windows-centric stuff and wouldn't fit in a Unix environment anyway.


WPF is the replacement of WinForms. Many desktop apps designed by conventional .NET developers in the timeframe between the release of Vista, and probably many now despite MS's deprecation, use WPF as a base library. It's not something you can just easily replace, and Mono does not implement it.

Microsoft is using the same business tactics that they've employed since the PC wars in the 90s, since they hit critical mass of market share, just with a bit more finesse. Microsoft allows Mono's existence only because it feeds into their power play, by creating more dependency and familiarity with .NET. They make the basics open and provide some interoperability, but then lay on proprietary extras that eventually become hard dependencies organically (like WPF) as a function of Microsoft's monopolization of the market ("why wouldn't I use this tool that makes things way easier? it will work great in our environment"). It's all EEE. Microsoft's MO, then and now.

Then all of the sudden, iPads exist. Xamarin is in a killer market.


It's not as if WPF was the only way to make UIs for apps.


But it was the primary, endorsed way for several years. WinForms was deprecated, and WPF was the new thing you were supposed to use.


Now you're putting words into Microsoft's mouth to make your point stick. WinForms was never deprecated, WPF was never meant as a replacement for it.


My mistake, I was under the impression that WinForms had been formally deprecated in favor of WPF. It doesn't appear to be such a rare feeling; there are 1.59 million results in Google for "WinForms deprecated".

Regardless of the formal action, the clear message from MS upon release of WPF was: "This is the new official GUI builder, please use it, it should be preferred". Indication of such preferences is relevant. Or do you suggest that MS released WPF with the intention that no one would ever use it?


I think they released WPF with the understanding that WinForms has very Windows-specific features that were preventing people from adopting .NET for cross-platform development. WinForms is Java AWT, WPF is Java Swing. WinForms is meant to be a basic wrapper around GDI, WPF is a completely different rendering engine separate from Windows. I think they were hoping people would choose appropriately based on their needs.


That's funny. I've been a .NET developer since it's been a thing. I don't know anyone doing WPF. That's kind of why it's deprecated.


I work at a .NET shop right now and they have multiple major components written in WPF. I've seen WPF listed as a req in several local job listings. So, now you at least know of someone "doing" WPF.

One of my longer-term goals is to move us to a stack that's entirely Mono-compatible, but that will take a while. The whole company runs on WPF.


I've been away from .Net for a while. How has it improved? How is the market for programmers in it? For freelancers?


ASP.net MVC is pretty awesome, there are some good open source projects like Nancy for more lightweight stuff, Entity Framework isn't great but it's pretty mature and fast for an ORM. Visual Studio continues to be the best IDE on the market.


I did some work with ASP.net MVC. Last time I touched it it was a pretty nice framework to use. Thanks for the feedback


"Entity Framework" ... why dont you use Linq instead?


You mean Linq-to-Sql? Entity Framework lets you use Linq and manages your db for you. As long as you use the Code-First approach it's... okay. But it does at least support compiling Linq to Sql mostly alright. (I'm looking at you NHibernate)


Great, another .NET is dying post voted up on HN. Didn't we have one of those just this morning?

Meanwhile, in the real world, Microsoft posted these earnings:

"Server & Tools business reported $5.04 billion of revenue, up 11% from last year"

Inspite of competing products like Linux, Apache, Eclipse, Ruby, Java being given away for free, people are willing to pay for Windows Server, Visual Studio and IIS.

Does anyone have real data related to ".NET is dying" other than idle conjecture, short sighted "frog in the well" anectodes which sound like they're written and voted up by people sipping on a latte on a Macbook in a Starbucks in Silicon Valley?

Like the number of jobs posted? They seem to increasing every day.

Sigh, some people here just love these '.NET is dying' posts, perhaps some with a vested interest to scare startups from using it.

Again, any hard data will be appreciated that shows .NET is dying instead of the same paragraph upon paragraph of opinion and no links, references or data, we have enough HN comments of that already.


You couldn't buy the VS licenses + SQL Server + Windows Server with the money YCombinator provides you.

So, yes, most microsoft products are incredibly damaging for a startup.


So, yes, most microsoft products are incredibly damaging for a startup.

Not every startup has to work with the small amount YC hands out. I know of a fair amount of startups using an MS stack, and they are doing very well. Of course, they are not SV cool, but they are making good money. You should sit back and analyze what you just said, because it is a pretty strange point to make.


My current company uses extensively .NET and I have almost a decade of experience working with it at my last employer, where I was also responsible for choosing and buying such products.

In my last employer (government), we didn't choose .NET, microsoft won the contracts. In the last update when I still worked there, we spent 250k USD to update our programmers VS to 2010 + windows 7. (I wonder if they will now update again). SQL Server prices are similar to oracle's with similar features.

In my startup (not a startup anymore) I had to spend 40k just to get the environment needed for a project (involving telephony) the only reason we had to use .NET was because the hardware manufacturer only provided driver+tooling for windows and some components were exclusively for .NET. Because we mostly use linux and macs, we also had to buy windows licenses. In my country, a Windows 8 license cost almost 2x the minimum wage.

We happened to have a discussion if we should give up or not a specific product because of the microsoft taxation on our business. The only reason we decided to keep using .NET is the cheap labor and the lack of hardware suppliers willing to provide us drivers and tools for linux.

So yes, microsoft damages not only startups, but companies in general.


Would you say that Oracle, and IBM also damage companies?


I don't know much about IBM products but I'm a heavy Oracle DB user in the process of migrating to Postgres due to simple problems, cost not being one of them. In fact, you will see a lot of users still using very old Oracle versions and getting full support from oracle.

Oracle (DB product) is the wrong choice for most startups, I actually wrote a post about that some time ago: http://eduardo.intermeta.com.br/posts/2013/2/1/this-is-why-y...


I'm curious as to what the cost threshold is (in your opinion). This is good data to understand. May you share more?


That just means yc gives too little money.


Two things:

(a) The money YC is giving isn't intended to solve capex problems like this. It's meant to make the first couple months of getting a minimal offering viable for small early teams. In the YC model, if the problem your business solves involves significant capex costs, you use YC to match your company with a next round of investors to handle that problem.

(b) The reality is that you do get enough money to fund a .NET stack when you get into YC, because YC comes with an assurance of immediate follow-on convertible note investment.

Neither of these two points makes .NET a better choice for early-stage startups than Rails or Django or PHP; Microsoft has to smooth over the expense problem with programs like Bizspark.


You can say the same of any commercial vendor.

How you would do a startup in a world without BSD and Linux, just with commercial vendors?

There are more out there than just Apple and Microsoft.


Somehow I doubt anyone really joins a programme like YC's for the money.

In any case, if you want to work with the best tools, sometimes you have to pay a premium to get them. That's either damaging to people who can't/won't pay the money or it's an advantage for those with enough confidence in what they're doing to make the investment, depending on which side of the line you're on.


You don't need to buy them: http://www.microsoft.com/bizspark/default.aspx

Prime example: Stackoverflow/StackExchange is built on the Microsoft stack.


BizSpark has rules many startups cannot follow and is only valid for 3 years. This is the same selling scheme used by drug dealers.


If your startup is around 3 years in the cost of paying for the tools won't matter.


"BizSpark has rules many startups cannot follow"

Please explain. The rules seem pretty simple to me and certainly something every company can follow:

  - Privately held.
  - Less than 3 years old.
  - Earning less than $1 million per year.
  - Developing software.
After 3 years you can afford to purchase extra licenses (you get to keep the BizSpark ones). If not, your business sucks.

Disclaimer: BizSpark member.


There's a LOT of startups here http://www.microsoft.com/bizspark/Partners/Startups.aspx

>This is the same selling scheme used by drug dealers.

Would you hold Google to the same standard and say that's true of their free Google Apps for education and how they use free email to sign you into Google.com so they can track you across different PCs?

http://www.google.com/enterprise/apps/education/


Do you happen to work for Microsoft?

If not, cool. But if so, would be good to be clear. You've suddenly become very active with what I'd consider an overly Microsoft approach (looking at your comments from the past few hours).

(ex 'softie here).


Not sure if that is a prime example, since StackOverflow was built with the wealthy businessman Joel Spolsky as a primary backer. That doesn't diminish anything they accomplished, it just means that they didn't do it without access to sufficient resources.


At Stack Overflow we ran on Bizpark til sometime in 2012, it really is a very nice program (everyone seems to forget that you keep the licenses you get, it's not like you have to re-buy everything when you graduate).

While I suppose in theory Joel could have thrown a lot of money away just because it didn't happen that way. Stack Overflow was running on it's own income until the first round of funding ( http://blog.stackoverflow.com/2010/05/announcing-our-series-... ), excepting the pre-launch period (everyone might have just taken equity then, I don't know I wasn't around until just before the series A). I think it was mostly ad income, though Careers ( http://careers.stackoverflow.com/ ) was around fairly early too.

Disclaimer: Stack Exchange employee


No matter how disciplined Spolsky was with the funds, nothing's ever the same if you know that you have the option to just inject a bunch of money into one of your projects should the need arise (and of course, SO had another non-cash leg up: the blogs of Jeff Atwood and Joel Spolsky as major marketing avenues, i.e., the instant attention of large swaths of the developer workforce). If you don't have that option, regardless of if it's used or not, you play by different rules.

Stack Exchange is cool and everything, but it didn't have the same difficulties that face most bootstrapped startups.


>"Server & Tools business reported $5.04 billion of revenue, up 11% from last year"

So, they made in a year something around what Apple makes every quarter just from iPad sales? That's the rosy sign MS's "Servers and Tools" business is doing OK?


>So, they made in a year something around what Apple makes every quarter just from iPad sales? That's the rosy sign MS's "Servers and Tools" business is doing OK?

That's their server and tools revenue in a quarter, not a year. In your rush to compare it with an irrelevant and totally unrelated figure you've taken leave of facts and reality.

Why not compare the yearly figure now with how much Exxon makes by selling gas and then conclude the Server and Tools division is not doing okay? I mean that's what you want to conclude right?


>That's their server and tools revenue in a quarter, not a year. In your rush to compare it with an irrelevant and totally unrelated figure you've taken leave of facts and reality.

Haven't taken out any facts -- the parent poster (you?) didn't add it was a quarter result in the first place. And the "X% up from last year" didn't help.

That said, it's totally unrelated only in that the end product sold is different. People still compare companies based on their revenue all the time -- including totally different beasts such as IBM and MS, or, indeed, Exxon and Apple. If you want to measure relative strength it's quite insightful.

>Why not compare the yearly figure now with how much Exxon makes by selling gas and then conclude the Server and Tools division is not doing okay? I mean that's what you want to conclude right?

No, I want to conclude that MS, and their enterprise sales specifically, which was once the huge behemoth of the computing industry, makes a not that impressive revenue compared to other players.

It might even be their best revenue ever. It still is worse compared to what they made vs what other companies made a decade or so ago.

In other words, the point I tried to make, maybe unsuccessfully, is that they might be billionaires, and they even might more than ever, but whereas once they used to own the town, now there are several other billionaires around, including some multi-billionaires.


Okay, I agree, Apple and Google rock and Microsoft sucks.

So how is all that related to the article idea's and the OPs point about the FUD on HN about .NET dying? Is .NET dying because Apple makes more money selling iDevices than Microsoft's Dev tools?

Lets be upfront here about the topic being discussed, is it "Where is .NET headed?" or is it "Does MS make less money than its competitors and therefore sucks?"


>Lets be upfront here about the topic being discussed, is it "Where is .NET headed?" or is it "Does MS make less money than its competitors and therefore sucks?"

It's not about sucking or not. It's about if it's as a big player as it used to be, or if the wind got sucked out of it's wings, and now is on decline mode.

Nobody said anything about "sucking" or that it will die financially tomorrow. It might still be around 2 centuries later.


Quite a few people are locked into that toolchain and don't have a choice but to continue buying what Microsoft is selling.

And I think that is one of the main reasons that many .NET developers who are a little bit familiar with open source and non-Microsoft technologies are starting to wonder if its worthwhile paying all of that money to have Microsoft make all of those architectural decisions for them.

Just start with the name, ".NET". What were they referencing there? The network. The web. Especially if you interpret that to mean the web, which I think it really is referring to, you have to ask yourself, is Microsoft or ANY one particular company really leading the way on the web? I think the answer is no. The leaders may be employed by some particular companies like Google, but they are mainly organizing projects on their own through things like github.

They chose that name for a reason. They knew if they wanted to stay relevant, they needed to focus on the web.

Does web development need Microsoft? Ask the average web developer. Personally, I don't think I can ever forgive them for what they have done (and continue to do) to Internet Explorer.

Does Microsoft need web development? Actually they are opposing forces when it comes right down to it. Microsoft makes too many billions of dollars through Windows-related products to really push the web platform forward. So they have actively been working to impede it by pushing out incompatible and underpowered browsers.

Can Microsoft's traditional licensing revenue streams survive a real conversion to open-source? LOL.


The cost of the MS tool-chain is basically a rounding error on internal software projects. An enterprise MSDN subscription is a under 1% of my billable rate for the year and servers are ridiculously cheap even when paying for the windows stack. Now sure plenty of FOSS toolchain can work wonders, but when building small internal sites and compared to the Java stack we are simply far more effective.

PS: I have seen it both ways, Java redeveloped in .Net and .Net redeveloped in Java. Generally things where better in the .Net world. I spent years as a Java developer and find the idea of going back is horrifying.


> Quite a few people are locked into that toolchain and don't have a choice but to continue buying what Microsoft is selling.

I don't buy that for a minute.

The Windows Server division is one of the fastest growing divisions inside of Microsoft.

From their last Q3FY13 report revenue from server and tools grew 11% driven by SQL server and Windows Server growth.

Based on those figures business is scrambling to buy into the Microsoft toolchain, not trying to leave.


Those numbers don't necessarily mean anyone is making a conscious decision to buy in. they could simply mean the installed base needs 11% more server licensing by dollar to scale/maintain their existing solutions.


So there are all these customers that hate the Microsoft toolchain and also know they are getting shafted by Microsoft.

In fact the customers hate Microsoft so much they decided to pay Microsoft an extra 11% bonus this year (and will probably pay another 11% bonus next year), even though they have all these free toolchain alternatives that they could be using.


Considering people have close to zero control over how Microsoft licenses, say, SQL Server? Yes.

And I never said they hated MS. I just said that increased revenue doesn't necessarily mean anyone is consciously buying in. Upgrading the old Exchange Server and adding another Domain Controller makes MS more money but for the IT department, the decision is simply "keep what we have under support and updated".

If you want to gauge how happy IT is with MS, you need to look at what they're choosing for brand new projects.

My anecdotal experience is that (happily or not) MS shops continue to choose MS. And small shops that couldn't afford MS anyway continue to not choose MS.


I don't know if that's a valid extrapolation. I, for one, in all my working years have never met a Linux company that was interested in switching to .NET, but I met many that wanted it the other way around if they could only justify the upfront investment to convert the proprietary application stack.

With cross-platform compatibility, specifically mobile compatibility [on platforms people actually use, i.e., not Windows Phone], being a major sticking point, .NET is becoming less and less desirable on the surface level.

Microsoft is just like Oracle. Big fancy businessmen who know nothing about development automatically buy into the MS stack just because it's a big name and the labor is easy to retain. Hardly any technical considerations go into it, and then they're upset when they [eventually] learn that the end result won't work with the iPad.

What about the alternate explanation that Windows Server is growing because demand for the products that already use Microsoft's stack is growing, despite the stack itself? What about the explanation that people are buying more server licenses than they used to due to increasingly widespread virtualization deployments? Whereas people used to buy relative big metal and run one OS on it, now people are taking that hardware and deploying many small VMs across it, each requiring its own license?

There are plenty of interpretations of that data that aren't "people are flocking to .NET".


I suspect all your alternate explanations as to why the server division is growing are true. The server divison is doing extremely well.

My point is I doubt very much the server division would be doing as well as it is if the Op was correct in saying people are locked into that toolchain.

Because that would suggest a lot of people would be unhappy with that situation (i.e. meaning bad press, bad word of mouth, bad for business) and many of those would also be trying desperately to leave that toolchain and succeeding (i.e. reduced sales).

The sales figures indicate the opposite is true.


I disagree. I don't think that people have to excite a lot of negative press or otherwise make a fuss with something just because they're moderately displeased with it. Most people won't go to the effort unless the tools are egregiously bad, and we know that Microsoft's stack isn't. They can still be quietly unhappy, locked into the platform with hundreds of thousands of man-hours invested into proprietary applications that depend heavily on major, hard-to-replace platform components (see: WPF, not implemented by Mono, or Silverlight, hit and miss via the unmaintained Moonlight), and buying server licenses due to a change in the way servers are provisioned.

Moving away from .NET is a long-term proposition, and it's an expense that few companies can justify no matter how much they dislike the platform. I believe you are claiming far too much credit for MS based off of a single growth figure.


> They can still be quietly unhappy, locked into the platform with hundreds of thousands of man-hours invested into proprietary applications that depend heavily on major, hard-to-replace platform components (see: WPF, not implemented by Mono, or Silverlight, hit and miss via the unmaintained Moonlight), and buying server licenses due to a change in the way change in the way servers are provisioned.

What change in the way servers are provisioned? Many companies still use Windows Server 2003 and even .NET 4.5 is supported on it. That sounds like FUD.

>They can still be quietly unhappy, locked into the platform with hundreds of thousands of man-hours invested into proprietary applications

They can also be happy with the ease of use of Active Directory and Group Policy instead of relying on half baked convulted perl scripts cooked up by a long gone sysadmin. Please, you're just embarassing yourself with your ignorant assumptions.


>What change in the way servers are provisioned? Many companies still use Windows Server 2003 and even .NET 4.5 is supported on it. That sounds like FUD.

I explained this in my initial post in this thread. Virtual machines are having a major effect on the provisioning of servers, requiring more OS licenses than prior. The person I replied to conceded this point.

>They can also be happy with the ease of use of Active Directory and Group Policy instead of relying on half baked convulted perl scripts cooked up by a long gone sysadmin.

LDAP

>Please, you're just embarassing yourself with your ignorant assumptions.

You weren't capable of processing my first post, and are now harassing me for discussing Microsoft in a MS thread, so who should be the embarrassed one here?


>I don't know if that's a valid extrapolation. I, for one, in all my working years have never met a Linux company that was interested in switching to .NET, but I met many that wanted it the other way around if they could only justify the upfront investment to convert the proprietary application stack.

Thanks for doing exactly what the OP requested commenters NOT to do.

From the OP post:

"Does anyone have real data related to ".NET is dying" other than idle conjecture, short sighted "frog in the well" anectodes which sound like they're written and voted up by people sipping on a latte on a Macbook in a Starbucks in Silicon Valley?

Again, any hard data will be appreciated that shows .NET is dying instead of the same paragraph upon paragraph of opinion and no links, references or data, we have enough HN comments of that already."

The world is much much much bigger than what you saw in all your working years. That's why personal anecdotes are quite worthless and we need real numbers.

So many paragraphs of speculation and no links or references from people living in their own little bubble and mistaking it for the world.


>Thanks for doing exactly what the OP requested commenters NOT to do.

I countered jussij's perspective, equally posted without "links or references" (which don't necessarily make something valid, fyi), with my own. I didn't reply to the parent post that said "please don't say anything mean about .NET unless you can prove it". That poster is not the internet police, we are free to continue to speculate and navel-gaze and counter-navel-gaze despite his or her statement.

So, you're welcome.


>I countered jussij's perspective, equally posted without "links or references"

No, he posted a publicly verifiable figure which is audited by the SEC and punishable with heavy penalties for faking, 11% increase of revenue in the quarter, up from last years quarter, whereas you continue the trend of the thousand other HN comments which say .NET is dying because they personally don't know of a company using it. How many companies do you know? How many companies exist in the US? Keep up the navel gazing. Your other posts also are idle speculation hopelessly stuck in your own bubble and your post is not very different from line noise at this point.


He posted his interpretation of a cherry-picked accounting figure. I told him why that interpretation may not be valid. It's a fair discussion point.

>Keep up the navel gazing.

Thanks, I will. I enjoy sharing opinions and interpretations and getting feedback on these. I don't find discussion fora where all of our posts need bibliographies very exciting in general.


>I, for one, in all my working years have never met a Linux company that was interested in switching to .NET, but I met many that wanted it the other way around if they could only justify the upfront investment to convert the proprietary application stack.

Which regions did you work at?


So, .NET is dying because quite a few people are locked into it? Sounds like you got it backwards.

And the red herrings about the name .NET don't make any sense except if you look from the context of the prevalent buzzwords and jargon at the end of 90s. Like, say "dotcom".


Because HN readers are too young to remember the days without open source, where you needed to pay for the tooling, and think Microsoft is the only commercial vendor of developer tools.


into a dustbin, to meet Clipper, Delphi and Java?)


I had to stop at the "1. The success of Windows Azure" part. Will get back to the article as soon as I stop laughing...


Laugh if you want to, but the point is pretty serious. Azure supposedly racked up more than $1 billion in revenue in 2012 (http://www.zdnet.com/windows-azure-joins-microsofts-billion-...).

Amazon's AWS, on the other hand, is estimated to have brought in between $1.5 and $2 billion (http://go.bloomberg.com/tech-deals/2013-03-07-what-if-amazon..., http://www.informationweek.com/cloud-computing/infrastructur...) during the same period.

So while Azure is still booking less business than AWS is, it's definitely a major competitor. Maybe the major competitor. And since the market for virtualized platforms is still in early days, there's lots of room for that revenue figure to grow substantially even if Azure ends up stuck at #2 behind AWS forever.


I expect Azure to be successful for Windows servers, but I would like to know if there are Linux users that are switching from AWS to Azure.

I see Azure as a cloud service for Windows dev, I might be wrong it, Azure may just have an image problem but it just doesn't ring a bell outside the Windows world.


Would it be a fair assumption to say revenues from Azure are primarly from big entreprise companies (ex fortune 500) amd that amazon is more focused around smaller companies?


I heard this a couple of weeks ago (on Hacker News), and I was SHOCKED!

I have worked for years as a .Net consultant, and I had no idea Azure had grown this quickly. A couple of years ago, I thought their entire set of literature was counter-intuitive, and I quit paying attention to them.

How on Earth did they grow to be in AWS's league so quickly? Surely just getting the "default Microsoft business" wasn't enough to put them at $1 billion ??


Well they've kept constantly adding major missing parts, which likely added a lot to their market.

One month, web sites, another virtual machines, then Hadoop. Oh, wait, and mobile services. The list goes on; they've catched up with Amazon on offerings more or less.

Oh and let's not forget that Azure support is fucking awesome.


If you read the fine print, it states $1B in sales of Azure services and also Microsoft tools the run on top of Azure - including hosted Exchange and Sharepoint. It's not just $1B worth of compute like AWS is.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: