OdeToCode IC Logo

Where Is .NET Headed?

Wednesday, May 15, 2013

I watched the dotNetConf .NET Open Source Panel last week. It was a bit disappointing to hear defeatism in the voices of OSS project leaders, because .NET’s future appears to rely entirely on the success of open source software for .NET. Here are a couple reasons:

1. The success of Windows Azure. Azure is now an amazing cloud platform for developers and is getting better every few weeks. Azure is also a business success with annual revenue topping $1 billion. That’s $1 billion with only a 20% share of a $6 billion dollar market – a market that is expected to grow to $30 billion in 4 years. As Azure continues to pick up market share it is not completely unthinkable to see it post a 15+ billion dollar year in 2018, which is getting into the same double-digit-billion-dollar-revenue neighborhood as Windows itself.

The documentation page for Azure makes it clear where the growth will come from:

Azure Strategy 

To paraphrase the above graphic, Microsoft doesn’t need legions of developers building frameworks and tools for Windows developers when they can have legions of programmers building tools and a cloud platform for all developers. Hadoop, Redis, NodeJS, RoR, Django, PHP, and the list goes on. Even if it doesn’t run on Windows, you can always spin up a ready made Azure virtual machine image with Ubuntu, CentOS, or SUSE.

I don’t think Azure needs a successful server-side .NET framework to be a success itself.

2. The Direction of Windows 8.

I still feel Window 8 carpet bombed .NET developers. There was secrecy and hearsay followed by the death of one XAML platform and the arrival of yet another slightly different XAML platform. People running a business based on desktop technology don’t know where to place their bets and the Windows division has always appeared hostile to the CLR. I’m not sure what this year’s Build and Windows Blue will bring, but I can only hope it offers some direction for businesses who build desktop business applications with managed code.

I don’t think Windows wants to see a successful client-side .NET framework.

Where Are We?

It feels as if Microsoft has shifted focus away from .NET, and with the focus goes resources and innovation. Much of the CLR and it’s associated assemblies and languages appear to be entering maintenance or refinement mode instead of advancing in new directions. Anyone building software on Microsoft’s .NET platform should see this as cause for concern.

Except …

The circle of  software loosely surrounding .NET is exploding. There are more server side framework choices for C# developers than ever before, and client side web programming has advanced rapidly over the last few years with open source projects like AngularJS, Backbone, Ember, and Meteor. Document databases like MongoDB and RavenDB and key-value stores like Redis are all available to managed code, and products like Xamarin are pushing C# and mono to new platforms. What I’ve listed is a small sampling of what is happening and it is all pretty amazing when you sit back and look at the bigger picture. 

Plus, if you already build solutions with ASP.NET MVC, Web Pages, the WebAPI, or the Entity Framework, you are already building software on top of open source projects that rely on other open source projects from the community. 

What To Do?

If your business or company still relies solely on components delivered to developers through an MSDN subscription, then it is past time to start looking beyond what Microsoft offers for .NET development so you won’t be left behind in 5 years. Embrace and support open source.

At least, that’s how I see things.

Gravatar Tomas Restrepo Wednesday, May 15, 2013
I would argue the CLR itself is very much in development; but the versioning story is, as always, a bit on the messy side. Hint: 4.5 does substantial changes to the 4.0 CLR, but replaces it so you're not necessarily aware that you are using a new CLR version. Can't speak about the rest, as I have, well, no idea :)
Gravatar Andre Calil Wednesday, May 15, 2013
I used to see MSFT's approach to OSS (like web stack and EF) as a nice move. However, your post made me think that, maybe, they're making this move because it's not *so* important anymore and someone thought "hey, let's give it away and see what happens". Is that the point or am I missing something?
Gravatar Tugberk Wednesday, May 15, 2013
@Andre If that was the intention, you wouldn't be able to see MSFT employees' names on the below web pages: - http://aspnetwebstack.codeplex.com/SourceControl/list/changesets - https://github.com/SignalR/SignalR/commits/master - http://entityframework.codeplex.com/SourceControl/list/changesets - http://katanaproject.codeplex.com/SourceControl/list/changesets
Gravatar scott Wednesday, May 15, 2013
@Andre: (Editing my previous answer) - I think it is asking for help from the community, but I don't know what the discussion is like on the inside. It's not that the frameworks are not important, it's that there are a lot of opportunities and fewer resources available.
Gravatar Sumit Wednesday, May 15, 2013
This would be the Third Build conference where desktop developers will be 'hoping' for direction! That's just SAD! I am a MS technologies fanboi in many ways, but the disruption caused and backward steps taken because of WinRT is appalling! Not sure if 'App' development will ever be the same as Windows Desktop development! I moved from the desktop to the Web about 6-7 years ago, but the pull towards desktop brought me back to App Development, and I tell you boy its has too much friction at the moment!!! As to the OSS story, I couldn't bear to watch the full thing, I just didn't get the concept that MS should market someone else's OSS project as much as their own!!! I mean did Sun market other OSS projects? They did buy Netbeans is all I remember, and similar with the other Office product. But don't think it's the same bracket! Does Oracle market other OSS frameworks? Yeah right! How about Google? Umm... can't think of! Oh well! My rants could end up being a post in itself, someday... All I know is .NET has been at the same crossroads for 2 years now, time MS pushed it one direction or the other! Who knows, they might make the entire Framework implementation OSS someday! MS Windows as a platform has many years of life left, so MS would do well to continue to nurture it's development platform!
Gravatar Allen Conway Wednesday, May 15, 2013
Probably the most important point of this entire article that was completely overlooked is that the word 'commuinty' is misspelled. Whew, glad I got that in there. No honestly, this was a very good article Scott and I appreciate the insight. This is good information and I've forwarded it along. Thank you.
Gravatar Anoop Wednesday, May 15, 2013
At this point, I beleive the best move Microsoft can make is to make .NET Open Source, and then launch a program like Apache Incubator around that - so that some serious OSS development can happen around the .NET ecosystem. The real problem with .NET is the unavailability of frameworks for solving new age problems - .NET developers are cramped with the nonavailability of Proven libraries for Machine Learning, Distributed Processing, Text Processing etc - Talk about Solr, Lucene, Mahout, Storm, etc. The CLR and C# are awesome - but MS just can't push forward the development of mature libraries around the same, with out participation from OSS community. Hopefully, if Azure turns out to be a big success story, then Microsoft won't mind open sourcing the Entire .NET stack OSS ;).
Gravatar Joe Wednesday, May 15, 2013
I think Anoop is spot on. There's a huge opportunity here to open up the platform so that it survives. I really don't think there's a place - long term - for a closed source platform. The success of Azure is a good lesson, embracing OSS is a good business strategy when you're selling a platform.
Gravatar pdimarco Wednesday, May 15, 2013
Very astute observations. I agree with you. This may be topic for a future 'Herding Code Podcast'.
Gravatar John Papa Wednesday, May 15, 2013
Nice post Scott. I think there is a very good way Microsoft, businesses and the development community can all beneifit. As you suggest, Azure is a horizontal vehicle that we can all take advantage of to help build .NET, OSS, JavaScript, whatever. Microsoft benefits in this space by being the platform to cross over into all these areas. To me its Azure, not Windows that has a ton of potential here. I also agree that we should all be looking at solutions that cover multiple technologies. Why not build a HTML5/JavaScript front end with a PHP back end hitting Oracle and MongoDB running in a Azure cloudThere is a lot of opportunity for us. I'm not sure where Windows 8 is heading, but I am very hopeful that it will get ore pick up. However most clients I talk to are not interested in it. THey want to solve business problems and do not yet see how Win8 will do that. The jury is still out here ... I hope this all improves. I dont think OSS'ing all of .NET is the answer. It would be cool, but its not going to save or sink anything, IMO. I do think its a message though that Microsoft (the Azure/ASP.NET teams specifically) are looking more and more at OSS developers and solutions. This could be a fun topic to chat about as I am sure we could go on for hours :)
Gravatar Chris Haas Wednesday, May 15, 2013
The death of silverlight is like other quiet but painful deaths from Microsoft. Companies invest time and money into a technology only to realize after a few years Microsoft's shotgun approach went in a different direction. Desktop apps in .net is particularly confusing. Years ago MS tried to push WPF. I am an avid blog reader and go to philly .net user groups often, and have seen no more than a handful of attempts for WPF apps. I'm sure there are some good ones, but I also think after ~5+ years of WPF availability traditional winform apps outnumber WPF apps 10:1. WIth the death of silverlight I expect that to continue or even increase. I could not in good faith propose a WPF app over traditional Winform app to my customers. For my money, it's 100% web for now. Tools like PhoneGap make this a more valid argument, but I agree Microsoft has been slipping year after year. Gotta go....the google I/O conference is on
Gravatar Adam Ralph Wednesday, May 15, 2013
+1 for open sourcing the entire .NET framework!!
Gravatar Duncan Bayne Wednesday, May 15, 2013
This is not a new phenomenon - Joel Spolsky wrote about it back in 2002: http://www.joelonsoftware.com/articles/fog0000000339.html "Think of the history of data access strategies to come out of Microsoft. ODBC, RDO, DAO, ADO, OLEDB, now ADO.NET - All New! Are these technological imperatives? The result of an incompetent design group that needs to reinvent data access every goddamn year? (That's probably it, actually.) But the end result is just cover fire. The competition has no choice but to spend all their time porting and keeping up, time that they can't spend writing new features."
Gravatar Gary W. Sullivan II Wednesday, May 15, 2013
The availability of OSS solutions for .NET is key for growth AND developer retention, but it's not the entire story as core users will still be 'enterprise' and will not give OSS solutions much thought. Having a strong set of MS-sanctioned and OSS tools is a big reason as to why I have not jumped ship and honestly I'm excited to see where .NET ends up in the immediate future. There are problems with .NET and open source currently but things are getting better all the time, IMO.
Gravatar See Wednesday, May 15, 2013
Scott, Would you mind expanding on the thoughts of defeatism from the various OSS project leaders? If anything, I would've thought people would be happier that the OSS ecosystem around .NET is improving and is at a stage where relying on MS is not necessary. Hell, that was one of the things that people complained about constantly about .NET - that it was all MS-driven and now that there is a decent ecosystem, that's a problem?
Gravatar Stacy Thursday, May 16, 2013
I think this topic is on a lot of minds. I'm still using VS2010, and now I learn MS is sun-setting VS2012 already, in a buggy state! (http://blogs.msdn.com/b/bharry/archive/2013/05/08/some-thoughts-on-a-comment-about-vs-2012-3.aspx) I don't know where .Net is headed, but at least my front-end development is headed to Angularjs with Webstorm IDE or Yeoman.
Gravatar Geoffrey Huntley Thursday, May 16, 2013
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...
Gravatar wazoo Thursday, May 16, 2013
another +1 for me for open sourcing the entire .NET stack, though I personally feel they're paying less attention to it because they're hard at work negotiating a buyout of Xamarin. While there's always components of the larger picture, adoption for continued / further .NET into the Enterprise would pick up if Microsoft dropped / chopped it's insane licensing cost structure. Our entire Enterprise is currently shifting towards any OSS effort that will solve the same problems we implemented .NET for, and I can't imagine that we're alone. Any Visual Studio product should be free. Give everyone the Ultimate version and kill off the million other "trial" variants. Streamline and simplify. Charge for any support contracts instead. TFS never should have been born. It has the same problems / crippling issues that Visual Source Safe had that were solved a decade ago by Subversion (and now Git). We fight every day on stupid TFS problems that don't exist in Git. I'm hoping that the work going into VS.NEXT (or whatever it's called) will not bother with source control management.
Gravatar Adi Thursday, May 16, 2013
Good article. Yes microsoft focus on building azure platform with better services and open sourcing .NET framework slowly is making positive impact for developer community giving more options to MS developers like never before.
Gravatar pip010 Thursday, May 16, 2013
Why one would pick Azure to Ec2 or GAE? "(Scott Hanselman) How C# Saved my Marriage, Enhanced my Career and Made Me an Inch Taller" lol :)))))
Gravatar pavan Thursday, May 16, 2013
Nice article. Really Microsoft focus on this..! Than x for providing this.!
Gravatar Matt Wright Thursday, May 16, 2013
.Net was kind of a big deal when it came out. It promised (and delivered) on much of what MFC was intended to do, but never quite achieved. Visual Studio has pretty much leveled the playing field, and, with a few exceptions, you can develop for whatever technology platform using whatever language. What next? I mean, the development of that aspect is basically done. And that was the point, as I see it. So now that the core technology has been established... they just need to maintain it and refine it. That being said, there are some slight indicators they move away from it, which... you know, people mourned MFC's passing for about 9 seconds and then saw that the .NET architecture was actually a better approach. As far as .Net being open sourced... God, I hope not. The nice thing about .Net is that you don't have to wade through a billion Apache projects to decide which tools you will learn, then eventually come to regret because it isn't getting updates because the community has abandoned for some other flavor of the month. For better or for worse, .Net forces everyone to use the same mousetrap, and MSoft slowly but consistently has refined that mousetrap based on Open Source innovations. I think it's a great strategy.
Gravatar Ongoma Thursday, May 16, 2013
I have just started learning C# and dot. Do I have any hope in my learning curve? Which language do I adopt now?
Gravatar G_coder Thursday, May 16, 2013
I've actually read similar posts. However, Microsoft and many other companies have around billions invested. It is an ecosystem that is widely used. The desktop and mobile ecosystems are weak, because of Microsoft's strategy mistakes. However, Asp.Net excels and is very popular. Mac and we forms are both very popular. Then there is SharePoint. Nth em all the open source projects like dotnetnuke. Then there are products that drive .net, visual studio. The app ecosystem might be dying, but the web stack is strong and it's here to stay.
Gravatar Scott Thursday, May 16, 2013
@Ongoma: C# and .NET is still a good place to be today. Just take the opportunity to learn anything and everything.
Gravatar James Tryand Thursday, May 16, 2013
This is just paraphrasing my response to Anoops post ( responding to this one ) I still don't understand why there is any need to opensource .net The source code is readily available for anyone who wants it. Mono not only exists, and on the whole is on par with the CLR, but in some areas ( such as graphics programming ) is still superior to the CLR. Their key technologies are available. The fundamental point that KSA and a lot seem to be missing, is that the fundamentals of computer science DON'T CHANGE. ( To see what I mean, do the SICP course, and then realise that large swathes of 'new' technologies were described and in use in 1988 ) The CLR provides an excellent type system: one that is fundamentally superior to that provided by Java, and while languages such as haskell are incredibly powerful, F# ( which is available open source ) and nemerle can hold their own. Nemerle can in its own right hold its own against pretty much any of the existing 'more powerful' languages ( such as erlang, haskell, clojure/lisp ) In essence the Java platform has barely changed in a decade (other than raw performance optimisations - which has led to the weakening of it's security) I don't see why the CLR as it currently stands is in such a massive need to change when it already provides the basis and foundation that computer science provides to build anything in any manner desired. What C# has given to developers over Java, by its evolution from its origins as a java-like language is a practical knowledge and application of deeper aspects of computer science. That learning only stands to lead developers to be better equiped should paradigm shift happen ( such as the techniques required for parallelism that guy steele & IBM are predicting for programming hardware ) As it stands the only thing that MS should do is to make the Singularity OS production ready - even if it's only as an application server OS, and leave the rest to the OSS community. The raw capabilities provided by something such as singularity ( perhaps taking the lessons learned from barrelfish (the spiritual successor to singularity) and applying them to the CLR ) should be enough to drive businesses to use it for robustness in cloud environments such as azure or EC2.
Gravatar Rafel Thursday, May 16, 2013
.NET and its child technologies such as XAML and C# are amazing. Unfortunately, MS lack of future vision prevented porting it to other platforms such as Linux and distribute it like Flash. That why Silverlight has been a total failure, beuase of the lack of support from MS in other OS. A pity, XAML+C# is much better that HTML + CSS + Javascript.
Gravatar Steve Thursday, May 16, 2013
Every large company is threatened with some sort of software that is free, and MS is no different. They never do anything that makes sense to a developer who wants free software. Half of the people on this forum use a stolen copy of Visual Studio, that they appropriated from their last job. You can't knock them for wanting to make money, but the problem now is that is it doesn't have 10 billion, corner-the-market capability, they want to take their ball and go home.
Gravatar avatare Thursday, May 16, 2013
One of the parts that bit me the most was the death of xna while monogame is growing not having a content pipeline kinda sucks.
Gravatar Fizz Thursday, May 16, 2013
The biggest problem is the politics that come from MS groups competing with/against each other - Silverlight was killed to appease the WIN8 team - .Net app development was shunned is favour of HTML/JS apps The lack of communication from MS on what the future direction is also a problem MS is focusing on Apple and the 99c and has lost sight of LOB system developers
Gravatar Jeff Putz Thursday, May 16, 2013
With Sinofsky gone, I don't think the hostility (which was very real) toward the CLR will persist. This is a dude who thought C++ was the only way forward for developers. I can't imagine the shock when someone suggested building Windows apps in HTML/Javascript.
Gravatar Scott Brady Friday, May 17, 2013
I was a little unsure what this post from Scott was trying to say. Are we suggesting that as developers we should shift our focus away from the .net stack or are we saying that the future is in our hands and to keep it alive we need to actively support opensource projects in order to remain relevant. Can you offer some further insight into your line of thought? Regards Scott Brady
Gravatar Dean Chalk Friday, May 17, 2013
Im a long serving .NET developer (since 1.0 beta) and Im currently specialising in building high-performance apps for banking in WPF. From my perspective CLR apps are problematic when we talk about performance. I love the XAML UI paradigm, and the advent of Xaml/C++ with the new Win8 platform excites me greatly as we bypass the .NET/CLR framework and run apps closer to the metal (good for the investment banking business). I think ,NET in web apps has become marginalised over the last few years, and rich client should go Win8/XAML/C++ or HTML5. I can see why MS are abandoning .NET (or maybe abandoning it) but I still think there is a very bright future as an MS developer, as long as you include other tehcnologies and frameworks within your sphere of expertise
Gravatar Dinis Cruz Friday, May 17, 2013
Another big problem is how Microsoft (and a lot of the .NET community) lost the focus on 'code quality/excellence)' and has a massive 'not invented here' syndrome. I wrote a blog post on that topic: http://blog.diniscruz.com/2013/05/where-is-net-headed-and-cost-for.html where I talk about the lack of traction that I feel personally when developing the OWASP O2 Platform open source project (there are tons of innovations in there that really take .NET and .NET development into another level (see these videos http://www.youtube.com/user/diniscruz if you want proof)
Gravatar Ed Draper Friday, May 17, 2013
Great post Scott... and at a good time. Windows 8 has been something of what Churchill referred to the Soviet Union as - a riddle wrapped in a mystery inside an enigma. It also demonstrates that deliberately engineered "disruptive" technologies, are, well, disruptive. And disruption, as in the theater cell phone user, isn't always good for the population of consumers (or developers in this case). There may not be a gold rush. Those millions of copies sold may be corporate licence agreement renewals - with no accompanying roll out. I, for one, am still waiting for a Windows Store App that is genuinely useful to me on my desktop. Microsoft's bifurcation with the CLR and WinRT is very real - and this doesn't even address the native run-time. Resources and mind-share are also very real constraints. One thing that I'd love to see is Microsoft back in the software business exclusively. Azure is a excellent example of this.
Gravatar Steve Friday, May 17, 2013
Ya, I think they need to bring back Ray Ozzie and listen to guys like Miguel de Icaza more often.
Gravatar Greg Sohl Friday, May 17, 2013
Still miffed about the Win 8 dev direction, the death of Silverlight, the ambiguity in the desktop dev platform. As a developer of products that have desktop components, it is very hard to know where to place future bets. Many will argue, but the web platform client platform capabilities are still nascent by comparison to the platform and tooling around the desktop.
Gravatar Llewellyn Falco Monday, May 20, 2013
personally, I'm amazed by the positive impact nuget has had on the OSS story for .net in the last 2 years. The community is in a much better place now, and many OSS projects that lived in obscurity are now thriving. A 'language' is a combination of language tooling api's community and c# has been doing pretty good on most of these. The biggest thing they need improvement on is the community, but the introduction of OSS has already started to change that. it has open people to start talking about better things, not just what microsoft has built.
Gravatar clive boulton Monday, May 20, 2013
The canonical web development language on client and server appears to be JavaScript thus .NET is no longer Microsoft's focus like it was because developers are switching to ambient era applications where the growth is. Many of Microsoft's product divisions embracing open source are doing so to extend core licenses to wider communities (SQL Server + Hadoop from Horton Works). Even Windows with fiduciary duty to generate profits above all else is embracing open source. Windows 8 being the only major platform to supporting native JavaScript apps. The Office division appears to be the last without embracing OSS (this last, won't last).
Gravatar Joe Tuesday, May 21, 2013
Wow great comments all around. A couple of random thoughts that may or may not be cohesive: Back in the day, I absolutely loved Silverlight/Moonlight and fully expected it to be my default cross platform... platform. Lots been said about Windows 8, and frankly it's all accurate as far as I'm concerned. Lack of vision, polish, and deliberately disruptive tech is not the way foster anything. Microsoft's greatest contribution has been C#/.NET, and their infighting isn't helping the situation. I fully agree with de Icaza when he said that Xamarin loves C# more than Microsoft. It's always been that you pay Microsoft some cash, and they provide a stable platform with up to date features and development tools. Now as other platforms are simply more viable with regards to mobile or web, Microsoft, simply, is not the only player. With limited time and budgets, care needs to be taken on which platform to develop on, as you could literally wake up one day and find out that it has been abandoned. Just off the top of my head, C# is being supported by two companies (MS and Xamarin), is core to another (Unity), and depended upon by countless others. If C#/.NET is open sourced, it needs to be done properly, with funding and the ability to make decisions that are best for the future, not a corporation. My current bet for cross platform, is C#/Mono and Google's Chrome/NaCl. Sure CSS+HTML can be annoying, but with great performance, a variety of language options, and a native-ish experience, it's the only thing that seems to be working to support everything, not just their owners. Now the only question I have left is: packaged apps, or bundle a custom Chrome build without relying on the systems' install (Awesomium style)?
Gravatar NA Friday, May 24, 2013
This is just one dudes opinion looking into his own crystal ball. .Net is not going any place (I work at MS) and has full support from MS to ensure it continues to move forward with the times. Scott is just trying to use a dooms day approach and freaking people out.
Gravatar Ale Miralles Friday, May 24, 2013
Hi Scott, a slightly related question, are you gonna be at the BUILD conference?
Gravatar Scott Saturday, May 25, 2013
@Ale: No, I won't make it this year, unfortunately.
Gravatar Josh Reuben Thursday, May 30, 2013
I recommend focusing on C++, JavaScript & Algorithms. The situation for NET devs is dire: It is foolish to bet your mortgage on the long term viability of any development platform. What goes up must come down, and the software industry is prone to rapid changes. Do you seriously expect todays skills to be relevant in 10 years? 1) NET may be highly productive, but it is relatively idiot proof (compared to C++, JavaScript) - so attracted a fair few mediocre devs ! Stop patting yourself on the back because you know MVVM. 2) the pit of success is in fact a pit - a career race to the bottom - NET was the apex predator, but the pool it swims in is drying up. C# devs are pumped out of courses at an alarming rate, while the non-viability of post-Win7 is making IT departments evaluate non-NET friendly platforms. This is supply & demand - there will be glut of cheap NET devs in the near future, all scrambling for the same cookie-cutter jobs. When the avalanche starts, it will accelerate rapidly. There has been nothing major new in the platform over the last 3 years (async is too small to count) - what have NET devs learnt in this time ? Compare this to the revolution of NET 3.0 (WPF / WCF / WF v1), NET 3.51 (LINQ, EF), & NET 4.0 (TPL). 3) The fact is, NET just didn't have a tangible ROI for MS (it wasn't a product), but it helped with portability lockin for application servers & dev stations – & that can only work if a critical mass of win OS deployments remains the status quo. Only 8% of .NET 4.5 classes can be used in Win8 non-desktop apps - http://blogs.msdn.com/b/dotnet/archive/2012/04/17/net-for-metro-style-apps.aspx Win8 == death of .NET - there are 2 grim scenarios: 1) success scenario (unlikely) - WinRT replaces alot of NET, XAML is just a verbose token effort when you have JS, C# is just a WinRT component ‘scripting’ language. 2) fail scenario - because no-one is buying its target platform, NET is not developed beyond v5.x Now that JavaScript has won, there is no great need for IDE bells & whistles. MS has recognized this, & is scrambling to find some kind of lockin inducing strategy for applications requiring visual studio support (and thus windows): 1) Azure PAAS & AD security 2) TypeScript (get C# into your JS implementation) 3) EdgeJS (get C# into your NodeJS implementation 4) HDInsight (get C# into your Hadoop implementation).
Gravatar xoofx Wednesday, June 19, 2013
My 2cents rant, but the decline of .NET is directly related to the whole decline of Microsoft and their poor strategy/forecast/un-exciting/turn-away announcement for developers. WinRT - an locked down OS API - and C++11 are an extremely poor vision of a future ecosystem for developers. Fortunately for Microsoft, there is absolutely no other company around to provide such a powerful vision... so they still have the opportunity to catch up again, can they do? Sure OSS can help to keep alive some technology around and Google's strategy to open source almost all its software development seems to pay. But OSS is structurally not able to bring enough wide structurality
Gravatar xoofx Wednesday, June 19, 2013
by "but OSS is structurally", I mean "but OSS non strongly backed by a company (money + organization) is structurally"
Comments are closed.