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.
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:
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.
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();
> 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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
(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.
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.
>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?
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).
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.
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.
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).
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.
>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.
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.
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.
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.