Microsoft takes .NET open source and cross-platform - <AUTHOR> http://news.microsoft.com/2014/11/12/microsoft-takes-net-open-source-and-cross-platform-adds-new-development-capabilities-with-visual-studio-2015-net-2015-and-visual-studio-online/ <comment><USER2> I'm a hardcore *nix guy but boy do I love me some C#. Up until now it's been the best language I have worked with but the worst platform due to it's lack of 'nice things' that we just expect from languages/ecosystems these days.

Where 'nice things' is defined as being open-source, having open-source ecosystem of developer tools etc.

This isn't so much the beginning (as good stuff has been happening for a couple of years now) but it's a huge step.

Thankyou Microsoft.

<comment><USER3> C# as a language is better than Java, but not as good as Scala.

<comment><USER4> Yes, that's why you would use F# in .NET if you want something like Scala. And then I heard many people say that .NET wins again.

<comment><USER5> Meh, F# is pretty good, but Scala has a better type-system. You cannot model type-classes in F# for example and there's some ugliness in it, in a true Ocaml fashion - for example I don't like how you've got to deal with 2 types of generics or the prevalence of "static" methods, static methods that are complete hacks that go back to C++ at least (Scala has no such thing as static methods btw). In many ways Scala is a very elegant language, too bad that many people are scared by these myths that are flying around.

That said, people are missing the forest from the trees. This isn't about _the language_ , but rather about _the runtime_ and _the standard library_. That's the true value of the JVM, that's the true value in .NET.

There wouldn't be any problem for porting Scala to .NET. Sure, it would be difficult as .NET's reified generics are maybe too limited for Scala's type- system, but I'm sure somebody could make it work, at least partially.

And there was a Scala for .NET, but it lacked interest so it died. But hey, you can still run stuff built in Scala on top of .NET by means of IKVM ;-) Has poor performance compared to a JVM, but then again, people are willing to build stuff in Scala for Android. Also Clojure.NET is doing pretty good from what I've heard.

As a Scala developer that loves Scala and the JVM, I personally find this announcement very exciting. As finally, the JVM has true competition ;-)

<comment><USER6> You can model type classes in F#, but it's not pretty[1].

Interestingly, C# can model type classes much more straightforwardly (using implicit conversions), and this is one of the reasons I continue to use it along side F#.

[1][http://stackoverflow.com/questions/9868327/f-type- constraint...](http://stackoverflow.com/questions/9868327/f-type-constraints- and-overloading-resolution)

</comment></comment></comment></comment></comment><comment><USER7> It's funny how Nadella has moved the needle more for developers in 9 months than Ballmer did in the last decade or so, and all that without running around like a madman too. Pretty good. I'll never switch back to MS for what they've done in the past but it is nice to see them try hard to become a nicer player in the software eco-system.

Google and Apple need some other party to keep them sharp, it might as well be MS.

<comment><USER8> Seeing comments like this "I'll never switch back to MS for what they've done in the past" always reminds me of this post from Hanselman [http://www.hanselman.com/blog/MicrosoftKilledMyPappy.aspx](http://www.hanselman.com/blog/MicrosoftKilledMyPappy.aspx)

<comment><USER7> \- Stacker

\- Netscape

\- SCO

And many others besides.

Companies have reputations just like people do (that's why we call them 'incorporated') and just like you can lose your trust in a person you can lose your trust in a corporation.

This is not about Microsoft just doing 'stupid stuff sometimes' it is about institutionalized criminal behavior sanctioned at the highest level of one of the largest software companies in the world. Your silly linked blog post by a Microsoft employee tries to wipe all that under the carpet. For the record, I'm not exactly 25, used to be a MS developer and user and have decided that their ethics are not fit for my taste, feel free to disagree.

<comment><USER9> I'm curious whether, with the fullness of technological hindsight, you still deplore what they did to Netscape.

Microsoft was the first to release a free browser included with the OS. That killed Netscape's business of selling browsers on a CD for $40, and Netscape was understandably upset.

It now seems clear that an OS needs a browser included, at least so you can read documentation and download the browser of your choice.

<comment><USER10> It's not the "what" they did to Netscape (releasing a free browser), it's the illegal "why" they did it (to break the cross-platform web).

As the government wrote in a trial brief:

"In short, Microsoft feared and sought to impede the development of network effects that cross-platform technology like Netscape Navigator and Java might enjoy and use to challenge Microsoft's monopoly. Another internal Microsoft document indicates that the plan was not simply to blunt Java/browser cross- platform momentum, but to destroy the cross-platform threat entirely, with the 'Strategic Objective' described as to 'Kill cross-platform Java by grow[ing] the polluted Java market.'"

[http://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine#...](http://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine#Antitrust_trial)

This is the strategy an MS exec described as "embrace, extend, extinguish":

[http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish](http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish)

The "embrace" part is particularly gross. IIRC, the court found that Microsoft deliberately misled developers to make them think that apps developed with MS- JVM would work cross-platform, when really it was designed to prevent that. They lied to developers to trick us into wasting our time, to destroy cross- platform technologies that threatened their monopoly.

Want to make it practical? There are thousands of us here who have _each_ spent hundreds of hours struggling with IE compatibility when we could have been building cool stuff. We're building the future as fast as we can, but you and I and Bill Gates will all get to see less of that future before we die, because Microsoft set out to break the web and it took a whole lot of time to fix it.

Of course that was going on 20 years ago now. Microsoft probably has interns now who were born after IE came out. I realized recently that I'm not mad about this stuff anymore. But it's not a history we should forget or repeat.

<comment><USER11> I was just thinking of "embrace, extend, extinguish" when reading through the class-action about Apple routing texts over its own network, so people switching away from Apple would think that Android's texts were broken.

</comment></comment></comment></comment></comment></comment><comment><USER12> I feel like the last couple years I've been cheerleading for MS and telling people how much they've changed, how open things are becoming, and how awesome the development experience is. It's fallen on deaf ears or met with resistance, but today's announcements are really gonna drive the point home. Developers need to start looking more seriously at C#/.Net.

The Scotts (Hanselman/Guthrie), Miguel De Icaza and so many others have worked tirelessly on this, and we (.Net Developers) owe them a ton of gratitude for helping to make sure this ecosystem doesn't wither on the vine.

<comment><USER13> Too little, too late IMHO.

Also MS has always come across as very opportunistic, giving the impression they will drop support for this if it serves them better.

<comment><USER14> That's my feeling as well. No amount of opening stuff can fix their reputation at this stage. Unless they'll completely drop all their crooked practices, which is not likely.

</comment></comment></comment><comment><USER15> I know it's silly but I'm tearing up. I grew up with .NET but neglected it for years because of moving to OS X, iOS and web dev. I played for some time with Xamarin and I'm so happy this is where MS is going. <3 Scott & Miguel, I'm sure they both had _a lot_ to do with it.

<comment><USER16> Is this Microsoft's runtime or Miguel's? I can't work out whether:

\- he's made it (if Mono is everywhere and now blessed by Microsoft)

\- he's ruined (if Microsoft's original Windows-only .net runtime is now everywhere, and there's no need for Mono)

EDIT: apparently it's both - [https://twitter.com/shanselman/status/532558786486370304](https://twitter.com/shanselman/status/532558786486370304)

<comment><USER17> What I've overheard on some podcast discussions is that they are taking the multiplatform Silverlight runtime, and have enhanced it to be a headless server-type runtime instead of browser-plugin-UI-focused. It doesn't include all of the windows-only features of the CLR and BCL, but has all you need for ASP.NET vNEXT.

</comment></comment></comment><comment><USER18> According to Scott Hanselman they are also open sourcing their new RyuJIT and even the GC. Incredible!

[http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSour...](http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSourceNETonMacandLinuxandVisualStudioCommunity.aspx)

or

[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSourceNETonMacandLinuxandVisualStudioCommunity.aspx)

<comment><USER18> Apparently the .NET runtime and Mono will merge:

[https://twitter.com/shanselman/status/532558786486370304](https://twitter.com/shanselman/status/532558786486370304)

</comment></comment><comment><USER19> I have been working with .NET for 11 years since 1.0beta (On the _same_ application, i.e. have been continously pushing a massive codebase through every released version of the framework yet!), so to me this so huge. It has felt like I would have to go do Javascript, or go back to java, if I wanted to leave the .NET ecosystem or do something radically different. Not anymore. Feels like not just Windows-based server (asp.net) and desktop (WPF/WinForms) apps are .NET based in the future, but a good chunk of what today is Node.js, Java, Objective-C and so on will be .NET, and hopefully F#, in the future.

If you want a high-level lang runtime with good IDE support, you can just use .NET now. You know, unless you want Ask toolbar.

<comment><USER20> So, you'd rewrite in JavaScript versus dealing with Mono?

<comment><USER19> Not sure I follow you here, rewrite what?

<comment><USER20> Sorry my misunderstanding. When you said it sounded like you'd have to go to Java/JavaScript, I thought you meant for the application you've been writing.

Either way, I meant that even before this announcement, Mono was a choice (I use it at fairly high-scale server apps) in many cases. It wasn't C# and Windows or Java for anything else.

<comment><USER19> Yeah, Mono was at least realistic in the last year(s), but it was always a bit of a guessing game whether something was going to work or not.

Having an official linux/mac os ASP.NET will be huge, even if the functinoal difference is minor compared to Mono. Just knowing it will work _tomorrow_ , and after the next major release is huge.

Yesterday I would rather have chosen Node.js than a .NET solution for a small service on Linux, simply because it's safer. Tomorrow I'll be back to rather having pineapples shoved up my nose than write JS.

<comment><USER20> Node's like, one of the worst choices, due to the idiotic package manager. They ship essentially every function call as a separate package. It's actually a thing to take a dependency on "sha1" and literally pull in a package just for that one bit.

Using Node/Grunt/Bower to build a straightforward run end site (just to compile static outputs) required npm installing over 13 _thousand_ files. Now imagine on a build server, starting clean, each time? Yeah, it takes a very long time just to download that stuff or do anything with it. Insane.

And at the end of it all, it's just JavaScript on the server, like ASP did in the 90s. With a cumbersome async API. OK.

<comment><USER21> And then add sometimes not properly defined version dependencies (or developers abusing version numbers a bit) and you have a dependency hell when running npm update -g will almost definitely break something.

I love yeoman, great scaffolding tool, but it depends on so many packages that sometimes it simply doesn't work because some package it depends on did something silly. So once you have a working set up, don't update it if you absolutely must.

That shouldn't be the case in 2014.

<comment><USER22> You really should not be installing dependencies for anything globally. Instead, add them as dev-dependencies and call them in the package.json `scripts` property. The only npm package you really need installed globally is npm itself, and you can almost always let the package manager handle that for you.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> If you would have shown me this headline 15 years ago I would have thought it was an onion article. Who would have thought they would have come this far?

<comment><USER24> I'm not so sure, I kind of feel like this is them following Embrace Extend Extinguish, except they realized they moved to step 3 too soon so they're going back to step 2 or 1. I do not have faith that they won't try step 3 again later.

<comment><USER25> Absolutely. There is zero regard for open source from Microsoft here. At the very least they must be trying to return to the "developers, developers, developers" days. With Bill Gates punching the clock, it's really anybody's guess what the real motivation is here, but it sure as hell isn't all the things we know and love about open source.

<comment><USER26> > Absolutely. There is zero regard for open source from Microsoft here.

What would it take for you to say "gosh, now Microsoft has regard for open source!" ?

If the answer is "nothing, I'd never say that ever" then you don't have an opinion, you have a fixed religious belief.

And how does your threshold for Microsoft differ from the same for Apple. Google, Facebook et al?

<comment><USER25> When its history shows otherwise.

<comment><USER26> What _specifically_ has to be in the history? What yes-or-no test, what action that hasn't already happened?

Major projects open-sourced on GitHub under MIT licence? Check. Runs Linux, java and PHP in the Azure data centres? check.

<comment><USER25> It sounds like _you_ have a fixed religious belief instead of an opinion. Every day must be infuriating for you! You're too much of a fanboy to consider that Microsoft isn't your friend, or that other people have opinions counter to yours. But I've already put too much food beneath this particular bridge of yours.

<comment><USER26> Hahaha. Projecting much?

Microsoft is a company, like many others. Some divisions do things that are friendly and benefit me, sometimes, because they want to sell things. That's realistic.

I'm well aware that onions differ, which is why I ask about people's reasons for holding those opinions, so that I can understand them. Of course, it's equally likely that people will resort to bluster and accusations instead of answers when they really don't have reasons, rather than examine themselves.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> The politics of this are interesting, and IMO related to the decline of the PC as a platform. Suddenly Microsoft is the outsider crying for "openness" and "freedom" while hammering on the gates of the Google/Apple ecosystem.

For Microsoft, it's less bad if everyone switches to an uncontrolled platform than if they switch to a platform locked in by a competitor. The embrace/extend/extinguish logic works the other way when Apple are driving it. (They've done fairly well at killing off Flash, and Silverlight never stood a chance in this environment)

<comment><USER28> > The politics of this are interesting, and IMO related to the decline of the > PC as a platform.

Why would this signal the death of PC? If anything this is most closely related to the death of Windows Server, since a ton of application development is done via the web.

<comment><USER29> "Signalling the Death of X" is a horrible term to use.

Mainframes have been dead since the early 80's. Yet IBM maintained being relatively strong until only recently, surviving 30 years on a "Dead" platform.

</comment></comment></comment><comment><USER30> It will be interesting to see how this will work in practice.

C# will port over just fine. But the .Net libraries? System.Windows has little to nothing in it, and right now using things like System.IO.* on Linux and Mac is just asking for trouble.

What are they going to do, hack in System.IO.* Linux support after the fact? Or just add Linux.IO.* which is even more of a hack. In either case you're going to get very messy very fast.

The .Net libraries absolutely could have been designed with cross platform in mind, for example if they put the IO libraries in System.Windows.* and several of the other Windows-specific APIs.

As it stands the .Net framework/libraries are very Windows locked. So much so you'd almost have to scrap them and start over to make it more platform agnostic.

<comment><USER31> "What are they going to do, hack in System.IO"

System.IO works very well on Linux/Mac right now. It was one of the first things implemented by the Mono team.

Having ported numerous .NET applications, all of which do fair heavily file I/O (the most common use case for System.IO), the main sticking point has been code that deals with filenames and paths. As in "/home/billy" vs "c:\Users\Billy". A hour or so of cleaning up your code and making use of Path.DirectorySeparatorChar and IsRooted is all I've needed to do.

"As it stands the .Net framework/libraries are very Windows locked"

This shows a lack of understanding of the .Net framework. Yes, if you used crazy Microsoft specific WCF libraries for networking protocols instead of industry standard stuff, or used WPF for graphics, that going to be a problem. But there are literally thousands of classes providing a fairly comprehensive set of data structures, network protocols, etc that are completely untied to Windows or Microsoft. If you are using something in System.whatever you are pretty OK.

P.s., Sockets aren't in System.IO, they are in System.Net

</comment></comment><comment><USER32> This is epic. Peter Thiel was right about creative Monopoly.

The new Microsoft under Satya Nadella has totally changed the direction of Microsoft in just a few months. They had one of the best and rock solid development platforms and research division, and loyal customers. The new Azure cloud (Online + On Premise) along with the opening of .Net will change the playing field.

I'm sure this is a great new for us developers. The change to work on one of the best runtimes, on a platform of our choice and on one of the best programming environments.

Great job Microsoft!

<comment><USER33> I'd pin more of this on Scott Guthrie and Scott Hanselman, really. They have been championing this kind of behavior for years within MS.

<comment><USER34> But it's Nadela who allowed that vision to move forward.

<comment><USER35> A vision this large cannot move forward without buy-in from key executives, and it is unlikely for the execution to take 9-months. Therefore, like other comments have postulated, the work had to have begun long before Nadella took over as CEO.

Let's say, for the sake of argument, that this announcement was made under Ballmer. How many of you would trust this announcement/take it at face value? Even going by this thread, there is a deep distrust of Microsoft's moves, and that is despite all the positive press that Satya has received for creating a more "open" Microsoft.

IMO, the biggest change that Satya's moves have resulted in is a change in the "perception" of Microsoft's intentions. The non-Microsoft community trusts his intentions, and by association his actions, more than they did Ballmer's. I don't blame this lack of trust, heck I subscribe to it. But attributing all of these decisions to just Satya shows a lack of appreciation for how decisions of this magnitude are made at a company like Microsoft.

</comment></comment></comment></comment><comment><USER36> Here's Github repo: [https://github.com/dotnet](https://github.com/dotnet). Wow, these things are being released under MIT licence - who would have thought .Net would be more "free-er" than Java?

In other news:

* Visual Studio 2015 and ASP.NET 5 will support gulp, grunt, bower and npm for front end developers.

* OmniSharp is a family of Open Source projects, each with one goal - To enable great .NET development in YOUR editor of choice - [http://www.omnisharp.net/](http://www.omnisharp.net/).

<comment><USER37> Given that the primary issue with .NET/CLR ecosystem adoption was not lack of implementations but unclear situation with software patents, I don't think MIT is a wise option. It's certainly up to Microsoft, but anything with an _explicit patent grant_ would be a much better idea.

<comment><USER38> They have given an explicit patent grant:

[https://github.com/dotnet/corefx/blob/master/PATENTS.TXT](https://github.com/dotnet/corefx/blob/master/PATENTS.TXT)

</comment></comment></comment><comment><USER39> According to the announcement on visualstudio.com about the Community Edition, it isn't just for students and open source developers. Basically, only enterprises or companies with more than five developers need to pay.

</comment><comment><USER40> "To further support cross-platform mobile development with .NET, as part of their strategic partnership, Microsoft and Xamarin announced a new streamlined experience for installing Xamarin from Visual Studio, as well as announced the addition of Visual Studio support to its free offering Xamarin Starter Edition — available later in the year."

Well that should make a lot of people around here happy.

<comment><USER41> Nope, now I don't have an easy thing to complain about in Xamarin threads.

Joking aside, there are a lot of surprises coming out of MS, this is all quite nice.

</comment></comment><comment><USER42> [http://tirania.org/blog/archive/2014/Nov-12.html](http://tirania.org/blog/archive/2014/Nov-12.html) here is what Miguel of Xamarin has to say

</comment><comment><USER43> So here is a 700+ comments thread about MS products without one single occurance of the word that is associated most with anything MS: bloat.

We have a serious problem with generations of so called software engineers growing up with the perception that this kind of code flatulence is ok to be released to the world.

We need more programmers with real knowledge to solve the problems the world has today. These really good guys feel offended by such bloated systems and like minimal, efficient solutions. MS has lost the ability to attract these elite programmers forever and it is today a propagator of an anti-concept of software and software development.

Already too many people are not seeing the obvious. They believe MS produces acceptable operating systems, while anybody with real knowledge can only laugh about these caricatures of computing systems - this is doing so much harm to the whole IT world and therefor to the real world.

Bloat, bloat, bloat. Incredible. We must actively prepare to not let this illness float into the world of elegant, slick and efficient open source products. This is a dangerous bloat attack against the world of free thinking - be prepared to fight the invasion of miriads of dumb zombies! Neanderthalers are still out there, many of them, to fight the evolution of homo sapiens sapiens.

<comment><USER44> I hate the term bloat. It's unquantifiable and is always inevitably in the eye of the beholder. It's a trick meant to make people think there is some objective measure being discussed, but in fact it is just a subjective 'gut feeling', that tends to be 'I don't like this software.'

I'd suggest if you want to criticize this release, you do so on a specific basis. You're generalizing not just about bloat (which is a relatively meaningless term) but also Microsoft itself. If you feel the .NET framework is bloated, then be specific. What does MS's operating systems have to do with the release of the .NET CLR and frameworks? These are two completely different pieces of work.

</comment></comment><comment><USER45> C# is the most modern, and one of the best languages we have in the market. Linux is the best platform. Hope to see them truly together. Thank you MS guys for the contributing into world industry.

<comment><USER46> Linux as the best platform is subjective! It isn't the best for desktop use, not for me anyway.

C# has been available for Linux for years.

I would argue that C++ is also a brilliant language, and is just improving and improving.

But anyway, just another platform to write another language on. More employment opportunities for all of us.

</comment></comment><comment><USER36> I seriously hope this pushes out Java closer to graveyard of forgotten languages. Java had been rotting for a long time without significant progress compared to modern languages including C#. It's only advantage had been that it was cross platform. Now it's owned by lawyers-driven Oracle which is as worse as things can get. Also I really want to stop worry about having my mom install crapware like Ask toolbar and say No to Update Java every single day.

<comment><USER47> While I agree the damn Ask Toolbar thing is abhorrent, you could just check the "Suppress sponsor offers when installing or updating Java" box at the bottom of the Advanced tab in the Java control panel.

I know ... I'm surprised they didn't add a "Beware of Jaguar" tab on which to place that option.

As for java going to the graveyard -- don't hold your breath. Not that I mind - I actually enjoy coding in Java, given the tools & libraries that are available. Heck, I really don't even mind the language. I'd appreciate better handling of value types, and continued improvement of the GC (both to make it more cache friendly and to provide better control of pause time vs. performance), but really, I find it comfortable and productive.

</comment></comment><comment><USER48> This makes a lot of sense for Microsoft. It doesn't in any way cheapen or lessen the .NET business at all, if anything more things will be built on .NET which will lead to higher sales of things like Azure, which for a lot of non .NET devs has almost 0 mindshare.

I've never heard a Ruby or PHP developer list Azure as a potential deploy target. That is a real problem for Microsoft, even though Azure can do a lot of the same things AWS or Google's cloud does.

Smart move Microsoft.

</comment><comment><USER49> Microsoft only acts right when they're losing. It took the loss of dominance on the web to begin to produce a standards-compliant, modern browser. Silverlight never really took off because it had such limited OS support. And, now that they know beyond a shadow of a doubt they can't win the mobile device market (and are even losing some of the laptop market to Chromebooks, and Android hybrid devices), they'll grudgingly open up their developer tools and support other platforms.

I am, of course, happy to see it. But, let's not get too excited about what good Open Source citizens Microsoft have become. Let's let their actions going forward determine that.

<comment><USER50> > Microsoft only acts right when they're losing.

Can you expect anything more, really, in the end? It's why we have to always be vigilant against any company taking a stranglehold on any technology. My biggest question in nearly any technology choice these days is "to what extent does this lock me in?". Because the only thing that really keeps these companies working in your favor is the threat that you can, and will, leave if they don't.

</comment></comment><comment><USER51> Can anyone clarify for me, does this include WPF? I remember I wanted to run a few apps off github on linux and they used WPF, which mono doesn't support.

Otherwise mono seemed to run pretty much everything i threw at it. Can someone with .NET experience clarify for me what this will enable that mono doesn't (yet)?

In other words, if .net will continue to be riddled with windows only API's I'm not really interested.

The article seemed to mostly focus on the server side of things, but I'm not really sure if they can pull many devs over to writing application servers on .net. It will be hard competing against Java there.

<comment><USER52> Server side makes more sense. WPF is an UI framework, even it includes WPF, the user experience will be bad just because it looks so differently than native apps.

<comment><USER53> OTOH, WPF apps already look different than native apps on Windows. Look at pushbuttons for example, they are completely flat in WPF and have a gradient in Win32. (WPF controls are not drawn via uxtheme, but have styles defined in XAML.)

WPF is part of a trend I believe to see, going away from strictly consistent UI styles:

QT used to emphasize simple widgets that you could theme consistently. With QT quick the emphasis is on individual per-app styles themed with css (but you also have the old widgets). Very similar situation in GTK3, where cross- desktop themeing is deemphasized (they removed support for changing theme colors, hid the theme changer in gnome-tweak-tools, and some developers advocated removing themeing altogether). At the same time, individual GNOME3 apps experiment much more with nonstandard widgets and CSS than before.

Windows 8 "Metro" apps are similar. With the simple, clean design language, I _thought_ they would be really design-by-intent. A la "I want a list here, and I want to link it to a detail view. My elements have these properties. Build me a CRUD interface and spice it up with these colors." and it would generate a Metro UI. But instead, after playing with Visual Studio, I find it's almost the opposite: "Place a rectangle at these coordinates, a label there. When the user clicks here, run that code." There is very little in the development experience to encourage consistent UIs, and you have to look up stuff like recommended font sizes manually on MSDN. Naturally, it makes it impossible to upgrade the UI style over all apps in a later Windows version.

Same in Android. Try to make an app look up-to-date, even on currently unreleased OS versions is impossible. UI code is way to low-level, considering a huge fraction of apps are just fancy list-views.

I could go on for a while. The point is that (unfortunately) UI consistency is not a priority nowadays (maybe except on OSX), at least when it comes to _tooling_ (the efforts of many developers to still make consistent UX/UI are very laudable). And compared with the competitors, you could write at least as nice apps in WPF.

</comment></comment></comment><comment><USER54> Great news, but I think people need to realize this is really just Microsoft pledging to merge and support what Mono has already been doing. You won't magically be able to take a WPF app and run it on your Mac. You will however be able to write a server app or maybe simple command line tool that runs on Mac & Linux. It's great news to see Microsoft acknowledging and supporting Mono, but there isn't a magic switch that will flip and everything suddenly works on every platform.

<comment><USER55> Right. And that is a good thing. Java has shown us that no one really wants write-once-run-everywhere GUI software, as it never feels "right" or at-home on guest platforms

<comment><USER56> So because Java shown that then it is a good thing to try for? Does Java represent to you a sort of a unbeatable limit that no one could possibly pass? Have you ever seen a JavaFX app?

</comment></comment></comment><comment><USER57> This is huge.

A few months ago, we decided to write a big new software component at $work, basically a service layer that is going to accumulate lots of business logic. We discussed several programming languages, and thought that a statically typed language might be a good fit (we mostly did perl and python so far). C# was dismissed pretty quickly, because .Net was closed source, and Mono had the reputation of being a bit second rate (possibly not well-founded, but also hard to debunk for somebody not in the community).

I mentioned that Roslyn was also open source, but it was hard to convince anybody when the "main" implementation was still closed source (and we're very much an open + linux shop).

If this had come a year earlier, we might have picked C#. Maybe there'll be another project here in a few years...

<comment><USER58> What ever you were designing, it's almost certain that a more expensive, and mission critical system than yours was already built with C#. Objecting to a major language as C# because it's "closed-source" seems irrational to me.

Why does it matter if it's open or closed-source? It's not like you can realistically invest time to dig in the source code and modify it, in the rare case that you found a problem. C# had huge amounts of money invested on it, probably more than your entire project you were planning.

<comment><USER57> > Why does it matter if it's open or closed-source? It's not like you can > realistically invest time to dig in the source code and modify it, in the > rare case that you found a problem.

Except that exactly this has happened with lots of libraries that we use, and sometimes also language implementations.

Compilers and interpreters aren't any more scary than other projects, really.

</comment></comment></comment><comment><USER59> Being a fan of Android and Microsoft for years... I truelly hope that Google would discuss about changing from Java to C#... They don't have to change to c#, but this would be a win for both of them (Microsoft and Google) and a huge loss for Oracle/Apple.

<comment><USER60> It's called Xamarin.

<comment> V-2 Yeah and it costs one grand a year. Plus it's playing constant catch up with Android SDK. I remember moving files manually or my projects wouldn't build (when Google made some change in folder structure that Xamarin hadn't reacted to yet). Don't get me wrong, I think it's awesome, it just has some limitations that are beyond Xamarin's control. Plus it's pricey.

</comment></comment></comment><comment><USER61> Hot toes in springwater! I had figured out that since .Net was proprietary I really should ween myself away from the sweet, sweet F# and learn some clojure but it seems Microsoft has stumped on my plans for self improvement. Immutable by default, algebraic datastructures with pattern matching to boot, great concurrency story and now actually open with permissive licence. Mind. Blown.

<comment><USER62> Wasn't F# already open source? And it runs on Mono.

This does bump F# up quite a bit in my estimation, though; I never loved that Mono was a reimplementation of a proprietary platform.

</comment></comment><comment><USER18> "We are open sourcing the RiyuJit and the .NET GC and making them both cross- platform."

That's incredible!

<comment><USER18> Apparently the .NET runtime and Mono will merge:

[https://twitter.com/shanselman/status/532558786486370304](https://twitter.com/shanselman/status/532558786486370304)

<comment><USER63> reading that tweet brought back feeling of the whole Rails, Merb merge. Awesome to hear!

</comment></comment></comment><comment><USER64> I hope this positively affects projects using outdated versions of Mono, like Unity. I'd love to see them move to a more up-to-date version of .NET, and I wonder if this could enable them to do that.

<comment><USER65> I hope not, this way we will see a bit more of healthy competition in the indie game engine space. This is something Unity desperately needs.

<comment><USER66> Honest question from an outsider: it looks like Epic and Crytek have finally gotten around to moving in to the "low-end" of the game engine market. What's still unique about unity?

<comment><USER67> Laziness. And your graphic designer can use it. As a lot of engine, it's nice when you want something simple very quick. But when you want to tweak it or make it things more specific it's a lot of time a pain in the __*.

It can save time in the beginning and you will prototype early.

Easy to use and easy to access.

<comment><USER68> I work on a team with a graphic designer who cannot code at all, and is doing amazing things with Unreal Engine. This includes coding shaders (yes, shaders!) using only the blueprint drag and drop system. You just set up how you want it to look, and the system compiles it to shaders under the covers. The technology is super amazing.

The revolution in competition for indie game development platforms is here. I don't know why Crytek is doing, but Unreal Engine is very usable and amazing technology.

<comment><USER65> To be fair visual programming is a known territory for designers:

[http://blog.interfacevision.com/design/design-visual- progarm...](http://blog.interfacevision.com/design/design-visual-progarmming- languages-snapshots/)

Also Unreal Engine will be fixed soon ;) - Xamarin is working on C# scripting for it.

</comment></comment></comment></comment></comment></comment><comment><USER69> "Oh, shit", said Oracle.

<comment><USER70> Good, hopefully this pushes Oracle to refocus, reinvest in Java.

Competition is good. Microsoft still have megatons of work to do to catch up Java (mindshare or tooling wise).

<comment><USER71> Really? I think they are catching up fast on the mindshare front. Java is not cool anymore, it's grey and verbose, and I think C# has got nicer features. Also VS beats the pants off Eclipse any day.

<comment><USER70> Silicon Valley is all OSS/Java.

ElasticSearch, Hadoop, Cassandra, HBase, HDFS (mixed with C).

Newer infrastructure for big-data are either Java, Scala, Clojure (one or two tools).

Some of the startups also use Java (not all). I rarely see C#. So yes, C# is not catching up yet.

Sorry, Eclipse + Ecosystems (that include plugins/integrations and whatnot) = beats VS any day (with or without pants). And if you have money, IntelliJ is right around the corner circling VS.

I think people don't realize that comparing the Java and .NET requires dragging the community, the platform, the tools, the plugins, and everything else in-between.

I granted in Windows/Desktop .NET is the king. Everywhere else it's the other way around by a long margin.

<comment><USER72> .NET is big in enterprise too, not just desktop.

<comment><USER70> People keep saying that Microsoft/.NET is "big" in enterprise but I have not seen real data.

If by "enterprise" you meant WalMart bought ten thousands license of Windows 7 OS for their workstation then sure...

But let me offer a different point of view: SAP, IBM, Tibco, Oracle, Salesforce (not too big yet but they are entrenched), NetSuite (same level with Salesforce), Workday. Mostly Java...

<comment><USER72> Maybe it is the mid-level I am thinking of. The transition from active directory server to sharepoint intranet to .net web projects is pretty standard for many companies. An unscientific search on indeed.com results in 38k for java developer and 27k for .NET developer.

Deploying .NET to linux is pretty huge.

</comment></comment></comment></comment></comment></comment></comment><comment><USER65> 2015 is going to be a year of Microsoft.

<comment><USER73> It may be a bit premature to say _that_ , though 2014 looks to be the year that I started liking Microsoft again.

</comment></comment><comment><USER74> This is really a great move. C# is an awesome language and deserves to have a future on Mac & Linux. Microsoft is changing for sure.

</comment><comment><USER75> It is really a big news, I'm a .Net guy over couple of years. When i started with .Net i thought why i have to buy everything for development ? Now the day have changed and we found Microsoft in the open source community race. Thank you Microsoft.

Visual Studio is awesome, specially debugging when it is in Symbol server debugging.

Though i hate the thing 'Not Responding' and your OS is freeze. When your solution growing with 50+ project, it took 4-5min to open and by any chance if you click the solution it will hang.

</comment><comment><USER76> I see so much emotion in this thread. Yes, I was there to witness what M$FT (ha! take that Mr. Gates!) did around the dawn of this millenium as well, but we had all felt that the times they were a-changin' when Slashdot retired the Bill-the-evil-Borg image already. It's just Microsoft refused to adapt until now, which e.g. made them miss The Mobile in its entirety.

So, Microsoft is finally adapting. But what are they actually doing? Why did Microsoft finally decided to make .Net cross-platform? What's in it for them?

Look at what's in this shiny new package: They've open-sourced just the core runtime. They are not open-sourcing Visual Studio. Or WPF. Or SQL Server. Or Active Directory. Or Office.

There's one thing the Linux ecosystem is pretty good at: Scaling, both up and down. There are technical reasons for that, but none could possibly be an issue for a software powerhouse the size of Microsoft. There are also commercial reasons for that, most important being: You just can't beat free.

So that's what Microsoft is finally moving against -- Dear startup founder who is afraid that licensing costs will eat him/her alive while his/her "Growth Hacking" strategy is working, dear embedded programmer whose tiny IoT device that just can't cope with the whole Windows mumbo-jumbo, welcome to the Microsoft platform -- You can now safely run your C# on these free platforms as well.

So, Microsoft is finally back in the game. They even seem to be playing nice. But the question in everyone's mind is: For how long?

<comment><USER77> > So, Microsoft is finally back in the game. They even seem to be playing > nice. But the question in everyone's mind is: For how long?

I think a better question might be: what next? (Disclaimer: optimistic MS employee)

</comment></comment><comment><USER78> Is this an abandonware move? Does it mean .NET is on the way out, and Microsoft's way forward is something else? A year or two ago, Microsoft was talking about the future of application development being Javascript/HTML/CSS.

<comment><USER79> I doubt it. The .NET ecosystem is strong and C# is still the only way to write code for Windows without growing to hate the platform.

</comment></comment><comment><USER80> Now, with a patent promise amd a MIT license, any chance that android could build on .Net going forward?

That would take more than a few non public meetings betweenn G and MS I guess but possibly better than having to tiptoe around Oracle in the long run?

<comment><USER81> Only by either breaking compatibility or including two managed runtimes on every device.

Really other than the C# language itself, there's not much to recommend the .NET core stuff over the ART runtime (which is in the process of replacing Dalvik). .NET has much broader library support, but that has to be balanced against the need to ship a lean(ish) runtime (c.f. the installed size of a Windows Phone image vs. Android!).

And if Google really wanted to play games with source language (which they don't seem to), there is no shortage of very decent JVM-targetting environments either.

</comment></comment><comment><USER82> Microsoft people correct me if I'm wrong - but this feels like a decision Ballmer never would have let pass?

This feels huge to me as someone that has always been on *nix variants but that has been told the .Net environment is amazing as long as you're willing to pay/work on Windows. I still probably won't switch over to C# or F# any time soon but it's good to know I could actually work on a WinMo app if needed.

</comment><comment><USER83> This is massive. I love the C# language, and hopefully this will lead to wider adoption, and usage on more architectures/operating systems.

</comment><comment><USER84> This is going to be a huge boost to ClojureCLR, IronPython, and F#. I think F# especially is going to take off in popularity now that its best VM target is going to run on Linux and Mac.

<comment><USER85> I hope so. F# is a really nice language. Microsoft Research is an amazing lab with some very bright minds working there.

It'd be nice to be able to use some of the fruits of their labor without having a steep entry fee to evaluate it.

Thanks MS, this is a good move.

</comment></comment><comment><USER86> This is such a bitter sweet announcement for me! I had just made up my mind to stop language hopping and settle/focus on Python and Go for backend development. But now C#, my first love, has come back to whisper sweet nothings in my ear!

Still this is great news and kudos to Microsoft for taking this bold step in the right direction.

</comment><comment><USER87> This is amazing. But I really, really wish Microsoft would buy Xamarin. I know it sounds counter-productive - they're doing great work on their own - but the subscription costs associated with Xamarin hold it back. MS would have every motivation to release it for free to try to corner the app development market.

</comment><comment><USER88> Together with the Visual Studio Community announcement [https://news.ycombinator.com/item?id=8595855](https://news.ycombinator.com/item?id=8595855), this is great news.

I've always missed the power of visual studio when programming for open source platforms. This can change things a lot.

<comment><USER30> There's no indication from that that you'll see a Linux or OS X port of Visual Studio. They might, but they haven't said that.

This Community Edition is extremely similar to the Express Edition, except with some limitations removed (e.g. extensions enabled) and some new limitations added (5x team members max, which the Express Edition doesn't have: no limit).

The Express Edition can be used to produce and publish commerical software. It says so right on their home page [0].

[0] [http://www.visualstudio.com/en-us/products/visual-studio- exp...](http://www.visualstudio.com/en-us/products/visual-studio-express- vs.aspx)

<comment><USER88> Still great news, even without a port of VS to OSX or linux. Personally I'm perfectly fine with using a windows PC as my development station, as long as I can create cross platform .NET code.

Extensions enabled on the community edition is great news for people who can integrate awesome tools like resharper

</comment></comment></comment><comment><USER89> Could work on this have started before Steve Ballmer left? Maybe he took my 2007 email to him more seriously that his response let on:

[http://jonathanmarkwell.com/2013/08/23/me-and-steve- ballmer-...](http://jonathanmarkwell.com/2013/08/23/me-and-steve-ballmer- in-2007/)

</comment><comment><USER90> Good move, but (too) late.

The move is designed to attract iOS and Android Devs to .NET.

But let's see:

As an iOS developer, I've invested years in learning Objective-C and Cocoa, UIKit, etc. Now I'm starting with Swift. I'm sure a lot of iOS devs feel this way. Besides, if I can't use it from OSX, then I'm out.

Why should I forget everything and learn C#/.NET ? If I want a write-once-run- everywhere thing, then I could go for one of the miriad Javascript or HTML5 cross-platform frameworks or C++ with Qt, JUCE or the likes.

Same thought pattern applies for Android/Java - why would a seasoned Android/Java developer want to learn a whole new framework and programming language ?

Is C#/.NET so much better than Java/Android or ObjC/Swift that it mandates switching to it ?

<comment><USER91> This doesn't seem like a mobile play at all, honestly.

They're opening the core, and large portions of the web server stack. This points to it being a play for web development, not native mobile.

There are some additional integrations with Xamarin - but Xamarin isn't owned by MS nor is it the key highlight of today's announcements.

<comment><USER90> I should have read TFA before commenting :)

But that is even more puzzling. The backend space is so crowded with native, scripting and exotic languages, that I really don't see how they can attract hardcore c/c++/go/node.js/python/ruby/perl/php/erlang/haskell/lisp or Java crowds to .NET.

Maybe it's exciting for existing .net developers to be able to deploy their backend apps on linux servers.

<comment><USER92> You could have said the same thing about several of the languages you listed, even within the last 5 years. The difference here is that C# already has a massive userbase.

</comment></comment></comment></comment><comment><USER93> I really wish they'd make Visual Studio run on other platforms as well... I suppose they'll work on making Office run on Linux next, or at least a full version of Office that's entirely web enabled would be nice too.

</comment><comment><USER94> Great news, but something else drew my attention: the related stories. I got, among others:

 _" Microsoft Announces Windows 2000 Certification For Microsoft Certified Systems Engineers"_

 _" Microsoft and Samsung Reveal Windows Powered Pocket PC For GSM/GPRS Networks"_

 _" Microsoft Office 97 Family of Applications Honored With Industry Awards"_

 _" Microsoft Invests in General Magic"_

 _" Microsoft Internet Explorer 3.0 Beta Download Demand Overwhelming"_

Ignoring the time machine aspects, I wonder what made their algorithm come up with these stories. They mention "Microsoft" and "Net", but that is about it.

<comment><USER27> "Microsoft and Samsung Reveal Windows Powered Pocket PC For GSM/GPRS Networks"

.. in 2003, four years before the iPhone launch. I wonder how that one got messed up? Carrier brokenware? Inadequate hardware?

<comment><USER95> Windows Mobile was so so soooooo bad.

</comment></comment></comment><comment><USER96> Holy shit, now I don't feel like I wasted so much time learning C# and .NET.

</comment><comment><USER97> Link to source code: [https://github.com/microsoft](https://github.com/microsoft)

</comment><comment><USER98> This demonstrates the importance of documentation in the framework wars. What could Microsoft possibly gain from open-sourcing .NET? They already have a few thousand great developers working on their jeweled prize, designed to lure developers to the brand as resolutely, and immutably, as possible.

.NET going open source is Microsoft admitting that, despite its best efforts, developers still want to know whats going on behind the curtain, whether the mirror really works, and just what kind of smoke is being blown up their ass in the effort to capture their minds and bind them to the brand.

<comment><USER99> To be fair, the source code for most of the core .NET libraries has been freely available under a "reference source license" for a very long time now. You could look behind the curtain, you just can't modify or redistribute.

<comment><USER98> So it was not really 'open' then, was it? More like "sources available for reading only" ..

<comment><USER100> Yes, but this open-ness is irrelevant to your point - "developers still want to know whats going on behind the curtain"

<comment><USER98> Then what you're saying is that this is hardly news, and hardly of note in any sense other than they're going to give the community .. what exactly?

</comment></comment></comment></comment></comment><comment><USER101> Does this mean that Mono will no longer be necessary for cross-platform C# use?

<comment><USER102> Open-sourcing .NET doesn't magically make it work on other platforms (a not- insignificant chunk is Win32-specific, for example). But it certainly makes the Mono team's job easier.

<comment><USER103> They say open source, but not which license they're going to use. It may not be possible to integrate with anything in practice, or as free as developers would like it to be.

<comment><USER104> It's MIT (and there's also a patent promise).

[https://github.com/dotnet/corefx/blob/master/LICENSE](https://github.com/dotnet/corefx/blob/master/LICENSE)

</comment></comment></comment></comment><comment><USER105> Wow - I have to say I'm impressed. I wonder how extensive the cross platform support is, and what sort of work has gone into targeting iOS? What does this mean for Xamarin and Mono?

<comment><USER40> Miguel de Icaza's post:

[http://tirania.org/blog/archive/2014/Nov-12.html](http://tirania.org/blog/archive/2014/Nov-12.html)

</comment></comment><comment><USER106> Wow. The new Microsoft indeed.

If there are any MS people in this thread: I would pay for Visual Studio for Mac and Linux if I could also use its GUI designers on those platforms. If I could write a GUI front-end in C# and design it with VS and ship it for Windows, Mac, Linux, and possibly others, then I'd definitely pay money for that.

Right now we've got Qt, Java, and possibly HTML5+node-webkit for that, and none of those are anywhere near as good as MS's GUI tooling and IDE.

</comment><comment><USER107> No mention of which license they are using?

<comment><USER108> I can't find anything but if I remember well almost all other open source project by microsoft are under apache2

<comment><USER107> Here they mention MIT License. [http://blogs.msdn.com/b/somasegar/archive/2014/11/12/opening...](http://blogs.msdn.com/b/somasegar/archive/2014/11/12/opening- up-visual-studio-and-net-to-every-developer-any-application-net-server-core- open-source-and-cross-platform-visual-studio-community-2013-and-preview-of- visual-studio-2015-and-net-2015.aspx)

</comment></comment></comment><comment><USER109> Wow, writing in C# for Mac, that's almost like heaven.

<comment><USER110> You can already do this today.

Miguel

<comment><USER111> What do you use for GUI apps? GTK or native Core.Graphics libraries?

<comment><USER112> I bet you a million dollars he uses Xamarin.Forms ;)

<comment><USER113> Xamarin.Forms is not supported on Mac.

<comment><USER112> Nor Windows, nor Linux. I know that. The OP didn't specify a platform.

<comment><USER113> Still, I should take that million dollars and hold it in escrow for you two.

</comment></comment></comment></comment></comment></comment></comment><comment><USER114> I want to believe this, but I just don't. .NET is so much more than just the core libraries. There will be a long time until it's on the same level as Java. I hope Microsoft proves me wrong, of course (C# is an awesome language, F# is not bad either), but I will believe this when I see a distribution of Visual Studio running _both_ on Mac/Linux and on Windows (i.e. the same executable, same as Java).

<comment><USER115> Why would you only be convinced if the IDE runs on both platforms. You realize that the IDE and the CLR/Runtime are two different things right?

<comment><USER114> Any non-trivial GUI program will do, really.

<comment><USER115> Ah got it, the IDE is the benchmark or litmus test of the cross platform compatibility.

</comment></comment></comment></comment><comment><USER116> Here's the announcement from Microsoft:

[http://blogs.msdn.com/b/somasegar/archive/2014/11/12/opening...](http://blogs.msdn.com/b/somasegar/archive/2014/11/12/opening- up-visual-studio-and-net-to-every-developer-any-application-net-server-core- open-source-and-cross-platform-visual-studio-community-2013-and-preview-of- visual-studio-2015-and-net-2015.aspx)

</comment><comment><USER117> I started as an open source programmer. Then I got a job as a .NET programmer. Now I'm an open source programmer again.

Feels good :)

<comment><USER118> I don't think you understand what open source programmer means :) You have to actually contribute to opensource projects to become one. Just using them means nothing.

<comment><USER117> What makes you think I haven't :) I spent several years as a Debian package maintainer, plus the usual mix of patches and bug reports to several projects.

<comment><USER118> Ah, ok :) I didn't mean to offend you (if you took any!)

</comment></comment></comment></comment><comment><USER119> I know this won't convince many hardcore Unix people who are used to the command line, but Visual Studio is still an absolutely incredible piece of software, and I really, really wish I could run it under Linux.

Even if you are a command line ninja, amazing autocompletion, magical debugging with inspection are pretty wonderful.

<comment><USER5> IntelliJ IDEA runs everywhere and is a lot smarter than Visual Studio out of the box. The community edition is not only free of charge, but open-source as well. Visual Studio needs the Resharper plugin by IntelliJ, to be able to call it a modern IDE.

It also has really good plugins for many languages, besides Java, like Scala, Python, Ruby, Javascript, PHP, Clojure and Groovy.

My colleagues that are doing Ruby development are saying that it's the best IDE for Ruby. Whereas myself, as a Scala developer, I'm saying that it's the best IDE for Scala - the Scala plugin for example is still not as smart as the Java functionality, but has everything you'd expect out of an IDE, like amazing autocompletion and magical debugging with inspection - personally I feel that IntelliJ IDEA for Scala is better than Visual Studio for C# without Resharper.

Its only problem is that there's no support for C#. This is because people doing C# are doing it on Windows with Visual Studio, so there wasn't demand. But say that demand increases for cross-platform stuff due to these moves by Microsoft, IntelliJ IDEA will probably gain C# support and if IntelliJ the company is the one that does it, then it's going to be darn good.

So don't get me wrong, but for cross-platform stuff alternatives already exist and even if Microsoft releases Visual Studio cross-platform, problem is that it will have serious competition, plus they'll have to poor serious resources into it and frankly I'm not seeing it happening - IntelliJ IDEA is built in Java and runs on the JVM, hate it or love it, for IntelliJ it is easy to port it to other platforms. Visual Studio on the other hand, well, it probably has very Windows-specific guts. So a cross-platform port probably won't happen.

But what I'm seeing happening is a plugin for IntelliJ IDEA or Eclipse (hopefully IDEA, since it's my favorite). And from what I understood there are things in project Roslyn that IDE authors could use to jump start the nice stuff, like completion or refactoring support.

<comment><USER120> > Visual Studio needs the Resharper plugin by IntelliJ, to be able to call it > a modern IDE

You didn't say what Resharper does, and why other IDE's need it to be called _modern_. Is this an advert for Resharper?

> like Scala, Python, Ruby, Javascript, PHP, Clojure and Groovy

You listed one middling language among 6 top languages. Is this another advert, trying to promote a language by associating it with the oft used ones?

<comment><USER121> > You didn't say what Resharper does, and why other IDE's need it to be called > modern. Is this an advert for Resharper?

It's clear what he meant for everyone who hasn't been living under the rock for the last 10 years. Don't blame him if you are clueless.

> You listed one middling language among 6 top languages. Is this another > advert, trying to promote a language by associating it with the oft used > ones?

Heh? It's a list of some languages supported by that IDE.

Did you have a bad day, or are you just confused?

<comment><USER120> > IntelliJ IDEA runs everywhere and is a lot smarter than Visual Studio out of > the box. The community edition is not only free of charge, but open-source > as well.

Perhaps he meant "automated code refactoring" but used a brand name instead. I've never knowingly used Resharper whenever I've used IDEA community edn, but perhaps it's been running anonymously beneath the surface. That's why I asked what it was. His whole comment read like an advert for brands like IDEA, Resharper, and Groovy so that's why I questioned it.

<comment><USER121> Resharper is an add-on for Visual Studio, it doesn't exist as such in IntelliJ.

</comment></comment></comment></comment></comment></comment><comment><USER122> Finally! One of the major players has finally decided to really push cross- platform.

Looks like it's time to finally learn F#

</comment><comment><USER18> Google cache link: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSourceNETonMacandLinuxandVisualStudioCommunity.aspx)

<comment><USER123> This cache link gives me a 404 :( and the actual link is not working as well.

<comment><USER18> I've updated the link. Does it work better now?

Btw, if you copy the original link into the Google search field, you get a search result with the page, and then you can just view the cached version by clicking on the small green arrow at the right side of the URL.

<comment><USER123> Yes, that's the first thing I tried, doesn't work for me. Also your updated link is not working.

<comment><USER124> they the text only version [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSourceNETonMacandLinuxandVisualStudioCommunity.aspx&strip=1)

</comment></comment></comment></comment></comment><comment><USER125> Loving this. Recently started working on a project with my brother who loves MS .NET stack and I have no experience in it. I was really skeptic due to the reputation MS has of being closed source and license heavy. I could not have chosen a better time hopefully!!

</comment><comment><USER126> Never in Microsoft's history have they ever followed through on a promise of multi-platform support for their infrastructure. They've tried multiple times but they always end up bailing on it or half-assing it to death.

I wouldn't believe them this time either.

</comment><comment><USER127> This completely caught me by suprise. Will .NET see a comeback now? Or is it too little too late? In any event, this is a huge move for Microsoft who has historically avoided open source(ive always thought of yhem as the anti-open- source company).

<comment><USER112> "Don't call it a comeback."

IMO, it never really went away. It's still huge in enterprise.

<comment><USER127> Truth, they are still there. Like many other Microsoft products they will likely be here for many years to come (with or with going open source). I just meant to say that it seems up till now we were seeing a decline in the .NET community. I know more than a few MS pro's jump ship, including at least one MVP.

</comment></comment></comment><comment><USER128> Faith in C# restored. Amazing.

</comment><comment><USER129> What happens to Xamarin business model now?

<comment><USER110> It improves it.

We now get all these bug fixes for all of our products across Android, Mac, iOS, PlayStation, Xbox and every other embedded system we support.

Some details:

[http://tirania.org/blog/archive/2014/Nov-12.html](http://tirania.org/blog/archive/2014/Nov-12.html)

<comment><USER130> I like it how .NET Core has a more permissive license (MIT) than Mono (LGPL).

</comment></comment></comment><comment><USER131> This is pretty cool. Java (the platform) is finally getting a much needed competitor and alternative. And a VM that was built from scratch to support multiple languages.

The next decade will be interesting.

</comment><comment><USER132> Is there going to be a Visual Studio for the mac? I write a lot of vb.net utilities in Windows for my day job. It would be awesome if I could work on that stuff natively on my MacBook.

</comment><comment><USER133> Excellent job, Microsoft.

</comment><comment><USER134> I didn't think I'd ever see this happen. Java is my bread and butter but this could be a game changer.

Edit: It probably won't be for me but just saying who knows, some developers might prefer C# over Java on Linux and Mac. Too bad Microsoft is 13 years to late for me on this. They had my interest when I was beta testing Visual Studio .NET 2002 but by 2005 when I saw how far Java had come and got a taste of the power and Cadillac nature of Eclipse; it would be tough to turn back now.

</comment><comment><USER135> This is fantastic! I've been waiting for the .net train to pull all the way into the OSS station(as a Linux engineer) :) I wonder if .Net native will also be open sourced.

</comment><comment><USER136>
         Developers can get started with Visual Studio Community 2013 here.

<<link is not working>> [http://www.visualstudio.com/en-us/products/visual- studio-com...](http://www.visualstudio.com/en-us/products/visual-studio- community-2013-vs)

I think they meant here? [http://www.visualstudio.com/news/vs2013-community- vs](http://www.visualstudio.com/news/vs2013-community-vs)

<comment><USER137> thanks, i was searching this thread to get the correct link.

</comment></comment><comment><USER59> Considering Scott is probably watching this.. What do you think about the near future about running vNext projects on a simple Raspberry Pi (= low-end configurations).

<comment><USER138> Yep. Some folks are already doing this.

</comment></comment><comment><USER139> Microsoft had designed .NET to be independent of platforms. But the strategy advices they got were mostly wrong; so they did not release it for other platforms. Open Source alternatives existed (Mono) but due to unavailability of committed support enterprises did not endorse it. Now there is very little hope that the *NIX users will now use .NET languages.

It was a great platform though. I was impressed by the it when I first went to Teched in year 2002.

</comment><comment><USER140> This is really big news. I'm not sure why Microsoft is doing it, though? Seems like a great way to completely kill Windows in the server market.

<comment><USER141> Bear in mind Microsoft will happily sell you Linux VMs running in Azure.

<comment><USER56> ASP.NET running on Linux servers doesn't magically make people want to buy Linux VM's at Microsoft.

</comment></comment></comment><comment><USER142> Neat. Maybe eventually they'll open source the OS too, but .NET is probably more significant.

I wanted some more specifics regarding licenses and found this page helpful: [http://www.dotnetfoundation.org/projects](http://www.dotnetfoundation.org/projects)

Hopefully one day they'll support the entire Java runtime so that I can deploy Java apps to the JRE or .NET.

</comment><comment><USER143> Link is dead for me.

Google Cache: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://news.microsoft.com/2014/11/12/microsoft- takes-net-open-source-and-cross-platform-adds-new-development-capabilities- with-visual-studio-2015-net-2015-and-visual-studio-online/)

</comment><comment><USER144> Microsoft's CVP Soma Somasegar will be answering questions about today's announcements on TechCrunch article -- in comments -- at 2:30pm Eastern today.

[http://techcrunch.com/2014/11/12/microsoft-takes-net-open- so...](http://techcrunch.com/2014/11/12/microsoft-takes-net-open-source-and- cross-platform/)

</comment><comment><USER144> Microsoft's CVP Soma Somasegar will be answering questions about today's announcements on TechCrunch article -- in comments -- at 2:30pm Eastern today.

[http://techcrunch.com/2014/11/12/microsoft-takes-net-open- so...](http://techcrunch.com/2014/11/12/microsoft-takes-net-open-source-and- cross-platform/)

</comment><comment><USER145> So that does that means for linux developers like me, who want to start dabble in .NET ecosystem. Where MONO stand in this?

</comment><comment><USER146> Any guarantees about patents? Can using and extending .Net will cause in the future claims of software patents violations?

<comment><USER147>
        Microsoft Corporation and its affiliates ("Microsoft") promise not to assert any .NET Patents against you for making, using, selling, offering for sale, importing, or distributing Covered Code, as part of either a .NET Runtime or as part of any application designed to run on a .NET Runtime.

        If you file, maintain, or voluntarily participate in any claim in a lawsuit alleging direct or contributory patent infringement by any Covered Code, or inducement of patent infringement by any Covered Code, then your rights under this promise will automatically terminate.

        This promise is not an assurance that (i) any .NET Patents are valid or enforceable, or (ii) Covered Code does not infringe patents or other intellectual property rights of any third party. No rights except those expressly stated in this promise are granted, waived, or received by Microsoft, whether by implication, exhaustion, estoppel, or otherwise. This is a personal promise directly from Microsoft to you, and you agree as a condition of benefiting from it that no Microsoft rights are received from suppliers, distributors, or otherwise from any other person in connection with this promise.

From [https://github.com/dotnet/corefx/blob/master/PATENTS.TXT](https://github.com/dotnet/corefx/blob/master/PATENTS.TXT)

<comment><USER148> The absurdity of betting your livelihood on a Microsoft 'promise' aside, to me this reads as a green light to use, but not extend, the .NET runtime.

MS still doesn't get free software, and probably never will.

Edit: My bad. "As part of a .NET runtime" means you can extend it. But I'd be no less nervous about using it because it is not a license, merely a 'promise' with questionable legal weight.

</comment></comment></comment><comment><USER56> .NET newbie here. Could someone explain me if thanks to this it is currently possible to write GUI multiplatform apps?

<comment><USER19> It's possible but the windows ui libs like Windows.Forms and WPF won't be included in the core. You have always been able to use monk+Qt and this will likely improve now. See e.g MonoDevelop.

<comment><USER56> But isn't Mono supposed to merge with .NET now? So in the end will I be able to use VS to this purpose?

Also I am seeing that last version of [https://code.google.com/p/qt4dotnet/](https://code.google.com/p/qt4dotnet/) is 4 years old?

<comment><USER19> Not sure what will happen to Mono, I believe they will continue to live side by side, and Mono will include parts of the now released framework source.

There are a number of Gui toolkits to choose from, see e.g. [http://www.mono- project.com/docs/gui/gui-toolkits/](http://www.mono-project.com/docs/gui/gui- toolkits/)

All should work with microsofts framework just like they do with mono.

</comment></comment></comment></comment><comment><USER149> I'm glad the new CEO isn't stuck in the 1980s! Props to Microsoft. I hope it isn't too late for them.

</comment><comment><USER50> For a long time I have held off on embracing .NET even though it offers certain advantages over the JVM ecosystem because it was clearly a Windows- first, everything else second ecosystem. If this changes that then I might for the first time in a long time take a second look at it.

</comment><comment><USER150> Next up (hopefully): Windows core subsystems (basically everything minus the GUI shell, a la Darwin)

<comment><USER151> I wish Windows was Unix on the inside.

<comment><USER152> What would be the benefit of that?

<comment><USER153> Updates without rebooting.

</comment></comment></comment></comment><comment><USER154> Does anyone know if this means an OSX/Linux version of Visual Studio might one day be possible?

<comment><USER155> I am hoping JetBrains folks will port their suite of .Net tools to other platforms. Since the core of these tools is already cross platform (JVM- based), it may happen faster than Microsoft does to Visual Studio.

<comment><USER30> Most of the JetBrains products won't be relevant when Roslyn ships. Visual Studio 2015 already ships with many ReSharper features out of the box, with the ability to add the missing ones being made trivial by the new Roslyn APIs.

I definitely won't be running ReSharper in VS 2015.

</comment></comment></comment><comment><USER156> They faked being kind of opensource so many times that I'll believe it when I'll see it.

<comment><USER157> [https://github.com/dotnet/corefx/blob/master/LICENSE](https://github.com/dotnet/corefx/blob/master/LICENSE) :)

<comment><USER158> Not GPLv3, watch out for patent issues.

<comment><USER159> [https://github.com/dotnet/corefx/blob/master/PATENTS.TXT](https://github.com/dotnet/corefx/blob/master/PATENTS.TXT)

<comment><USER158> Patent promise only covers .Net Runtime, so don't touch the rest of the stack.

<comment><USER95> Yeesh, give it a rest already.

</comment></comment></comment></comment></comment></comment><comment><USER160> It will be interesting to see how this works out, and how many resources are put behind it. If it does allow developers to choose to work on Linux/Mac for .NET development, it will put a lot of pressure on Windows to create a great product.

</comment><comment><USER161> Does anyone know whether the full-server side .NET stack open sourcing includes C++/CLI?

My experience has been that .NET interop with C++ code bases using C++/CLI was much smoother than with PInvoke. It would be if that were cross-platform too.

</comment><comment><USER162> In general, open sourcing is helpful decision (it's also a practical business decision in several cases)! And the possibility of running C# on *nix really creates opportunities in a way that contributors grow. It's a win-win.

</comment><comment><USER163> Potentially great news for Unity game developers. Unity uses an ancient version of Mono that doesn't support all sorts of sensible things. Maybe now some future version of Unity will have a more cutting edge .NET library.

<comment><USER164> Unity has been developing their own runtime for a while now to get away from the mono licensing costs of using a new version. I'll be interested to see how they react to this turn of events.

</comment></comment><comment><USER165> All this reads like great stuff, and as a developer I applaud the work. But, I haven't read anywhere how they intend to make money off this stuff. How does going open source and cross-platform make them money?

<comment><USER166> Azure.

</comment></comment><comment><USER167> Congratulations Microsoft. Welcome to 2014! :) Although I will say, since it took so long I would still expect the community to be somewhat skeptical / cynical, and / or slow to adopt / buy in.

</comment><comment><USER168> [http://www.visualstudio.com/en-us/products/visual-studio- com...](http://www.visualstudio.com/en-us/products/visual-studio- community-2013-vs) returns a 404.

<comment><USER30> Try this: [http://www.visualstudio.com/en-us/products/visual-studio- com...](http://www.visualstudio.com/en-us/products/visual-studio-community-vs)

<comment><USER56> Hardware requirements: 20 GB of available hard disk space

Since we are here, could someone please explain me how is it that it takes so much space?

</comment></comment></comment><comment><USER169> This is a huge amount of tech resource. Don't know if it will actually bring to something working on the other platforms, but for sure it will help projects like Mono which deserved a little help.

</comment><comment><USER170> What happens to mono now?

Also its great to have an engineer at the helm of microsoft again.

</comment><comment><USER171> Good strategy Microsoft!

</comment><comment><USER172> Read the article, looking for the download link to the open sourced code. Is is bundled with the VS2015 preview (4.4GB iso)? If not, were and how can we access the code?

<comment><USER173> .NET: [https://github.com/dotnet](https://github.com/dotnet)

ASP.NET + related stuff: [https://github.com/aspnet](https://github.com/aspnet)

</comment></comment><comment><USER174> Does anyone know if this builds for anything but Windows yet?

</comment><comment><USER175> This is a duplicate of [https://news.ycombinator.com/item?id=8595935](https://news.ycombinator.com/item?id=8595935)

</comment><comment><USER176> "the full server-side .NET stack and expanding .NET to run on the Linux and Mac OS platforms"

so that means I can write GUI-based desktop apps for Linux in C#, right?

cool :D

<comment><USER77> There is mono.cairo, at least.

</comment></comment><comment><USER56> It would be a great moment to restart the Iron Ruby project [http://ironruby.net/](http://ironruby.net/)

</comment><comment><USER7> You were beaten to the punch:

[https://news.ycombinator.com/item?id=8595905](https://news.ycombinator.com/item?id=8595905)

<comment><USER177> It's a different article of course. But I gave you an upvote anyway. Way too many "MS Open Sources .NET . . .. " links right now.

And the hanselman blog won't load for me.

<comment><USER28> To be fair massive interest in this is expected given Hacker News' population.

</comment></comment></comment><comment><USER178> Next step is to change all "\" to "/" and make drive letters optional to enable a better cross-platform experience :)

</comment><comment><USER179> what does iOS developer get out of it? What's the implications for iOS & Mac developers? It would be nice that I can finally develop iOS and Mac apps using C# and .NET coming from a seasoned .NET developers to iOS developer. But doesn't Mono can just do that already? Besides Apple will never approve apps not written in Swift or Object-C (exclude PhoneGap).

<comment><USER180> You can do this few years already with Xamarin. Thousands of developers are doing this today. What this changes is better .Net framework compatibility(less bugs) because Microsoft .Net source code will be reused.

</comment></comment><comment><USER181> Good news :)

For Microsoft though, doesn't this mean (ironically) loss of business, because many people will no longer have a reason to run Windows?

</comment><comment><USER182> Good to us, and good to Microsoft.

Great news, but this platform should be born as Open Source since the beginning. Anyway, before late than never.

</comment><comment><USER183> So when are they going to stop suing android for having the nerve to try to interoperate with their shit FAT filesystem?

</comment><comment><USER184> It's like slashdot on april fools day!

</comment><comment><USER185> If only this included a revival of IronRuby.

And, moonshot, but — giving IronRuby/IronPython as much prominence as PowerShell.

<comment><USER186> And IronPython! (yes, it works, quite well actually, but porting of numpy etc seems to have stalled years ago IIRC)

<comment><USER185> Well, I was mentioning a revival of IronRuby because it was totally abandoned. I didn't know the state of IronPython, but last I checked, it was still being developed.

I want both to be available, though.

</comment></comment></comment><comment><USER187> I am not so much enthu about the open source part but more fascinated by the fact that it is cross platform.

</comment><comment><USER188> Great. Now release visual studio "native" for OS X and I'd have a look at it. Having to run an emulated windows just to fiddle around in a fairly heavyweight IDE sucks.

As nice as C#/F# is, the real fun comes from the powerful IDE. And I just don't do windows anymore, except for occasional gaming (and this only until I finally buy the new retina iMac and throw the last PC at home away).

</comment><comment><USER189> Does nvidia NSight now work with VS community edition? They say VS community is fully extensible edition.

</comment><comment><USER190> I just want to add my $.02. It's about fucking time. They should have done this 15 years ago.

<comment><USER191> That might have been difficult, given that .NET is only 12 years old.

<comment><USER190> Oh aren't you so smug.

I was at the 2000 PDC when they announced C#. We are now just shy of 2015. My 15 is more accurate than your 12.

<comment><USER56> Announcing occurs at vaporware stage. Realeasing is what makes it real. So do your math again.

<comment><USER190> Do your math again. We were given Tech Preview CDs at the time that contained a preview versions of .NET. So yes, we were able to write and experiment with C# and VB.Net code back then.

I was actively looking for a cross-platform replacement for Perl at the time and while C#/.NET was exciting it was also a huge disappointment because it was yet another "runs on Windows only" Microsoft technology.

I don't see how you can tell me that _I_ am wrong when I was sitting there with the CDs in MY hand 14.5 years ago actively disappointed because .NET was NOT cross platform like Perl and Java.

I'm done arguing this. This is stupid.

<comment><USER56> Tech Preview CDs or demo is not releasing. It is a totally different thing. But oh well.

</comment></comment></comment></comment></comment></comment><comment><USER192> How does this impact the future growth and adoption of mono as an alternative open-source platform?

</comment><comment><USER193> I love the direction Microsoft is taking towards open source and targeting multiple platforms!

</comment><comment><USER194> I'll believe in cross-platform .Net when Microsoft releases Sharepoint for Apache.

</comment><comment><USER195> This is a good move by Microsoft, but from what I can tell this is only happening because Microsoft no longer has its dominant position.

Now that Microsoft has proper competition from Apple and Google it has to start playing nicer.

It would have been much more benevolent of them if they were still the monopoly power of 20 years ago.

Yay for competition.

<comment><USER59> Microsoft still has an absolute monopoly in desktop OS: [http://goo.gl/oBY93k](http://goo.gl/oBY93k) .

And microsoft never had a monopoly on mobile (smartphones + dumbphones)

So, what exactly has been changed the last 20 years? In my country (Belgium and my work also sells computers / laptops), practicly all laptops / notebooks / desktops are Windows (we have a sister company which is a computer store)...

<comment><USER195> The mobile OS is the big change. So where as Microsoft still has control of the desktop OS, the desktop OS is a much smaller share of the whole OS market.

I'm coincidentally in Belgium too :) Any chance you work for CoolBlue then?

<comment><USER59> No, i work for an smb in Belgium andere freelance 2. You work for coolblue perhaps?

</comment></comment></comment></comment><comment><USER196> Finally. Do you think this will significantly hurt the virtual machine industry?

<comment><USER25> My instinct is that people at MS are freaking out right now about Docker specifically. It's hard to say which decisions were "coaxed" into place with Bill Gates advising the new CEO, and which are attempts to strategically react to the negative mindshare of Azure against everything going Docker. First we have the "news" that MS is doing some mystery thing with Docker (which really must be a matter of semantics, because for an OS which didn't have symbolic links until 2008, I can't imagine it's possible to bring something like LXC to the Windows kernel), and now this news about Microsoft "open sourcing" a portion of their development tools, from the same company paying TV shows to awkwardly use the phrase "Bing it". If anything, it's just an interesting time to be alive.

<comment><USER26> > My instinct is that people at MS are freaking out right now about Docker > specifically.

All, right, why would you say "freaking out" specifically? MS has a habit of adopting good ideas from elsewhere, and I don't think containerisation is any exception. Maybe they see not supporting it as a strategic weakness, but shoring up strategic weaknesses is business as usual for any large company, not "freaking out". Throwing chairs is freaking out.

We know that .Net is rolling out containerisation features in 2015, including but not limited to docker integration. Going all in on any tech is an odd way to "freak out about it".

<comment><USER25> Whatever, kid.

</comment></comment></comment></comment><comment><USER197> The dream of writing c# on a mac without having to fire up a VM is so so close :))

good work MS!

</comment><comment><USER198> I see this as a last ditch attempt by Microsoft to stay semi-relevant. Of course this was the great promise of .NET to begin with, but it seems rather late to exercise the option now (some 15 years or so after .NET was created)-- a very desperate move by a dying empire.

</comment><comment><USER199> Also as part of the announcement clang will get some Visual Studio love!

</comment><comment><USER200> Does this mean WPF will be made available on Linux and Mac desktops?

</comment><comment><USER201> Is is the clear yet when Microsoft will deliver .NET for Linux?

</comment><comment><USER202> I'm starting to like MS without Ballmer (no offence Steve)

</comment><comment><USER203> Someone somewhere is spinning at mach 1 in his grave..

</comment><comment><USER204> I'm curious what this means for mono, then.

</comment><comment><USER205> I do wonder what this means for the mono project

<comment><USER206> They seem to be cooperating with Xamarin, to some extent:

"To further support cross-platform mobile development with .NET, as part of their strategic partnership, Microsoft and Xamarin announced a new streamlined experience for installing Xamarin from Visual Studio, as well as announced the addition of Visual Studio support to its free offering Xamarin Starter Edition — available later in the year."

[http://news.microsoft.com/2014/11/12/microsoft-takes-net- ope...](http://news.microsoft.com/2014/11/12/microsoft-takes-net-open-source- and-cross-platform-adds-new-development-capabilities-with-visual- studio-2015-net-2015-and-visual-studio-online/)

</comment></comment><comment><USER207> The way I see it, I still need a Windows machine to run VS. I will consider their platform when I can develop for it on MacOSX.

</comment><comment><USER208> What does this mean for ReactOS?

<comment><USER209> I don't think it moves the needle off of "irrelevant".

</comment></comment><comment><USER210> If the support for osx and linux depends on xamarin, the future of .NET on those platforms is very dubious.

<comment><USER110> It does not.

<comment><USER211> Don't feed the troll.

He didn't gave even one argument. Just spilled some venom.

</comment></comment></comment><comment><USER212> But it was already opensource more than 10 years ago. I remember compiling the ms .NET runtime on FreeBSD.

</comment><comment><USER213> Will this wipe out Mono?

Please say yes.

</comment><comment><USER214> Thank you Microsoft!

</comment><comment><USER215> Hacker news karma jackpot! ~200 karma to 1800 in one link.

</comment><comment><USER216> aka "We're actually facing competition from open source now, so we're going to listen to what people have been saying for years. Love us?"

<comment><USER217> You really need to step back and look at how much Microsoft has already changed under the leadership of Satya Nadella.

It does appear that he has a completely different vision of what Microsoft will be in the future compared to what Ballmer had.

<comment><USER218> The devil you know eh?

Microsoft has being at the locus of so much bad behaviour in the tech sector that I really have to wonder. Even if Stallman started running the company, how much could it change?

</comment></comment></comment><comment><USER219> What a day :)

</comment><comment><USER220>
        '...show me the code.'

<comment><USER164> [0]: [https://github.com/dotnet](https://github.com/dotnet) [1]: [http://microsoft.github.io/](http://microsoft.github.io/)

</comment></comment><comment><USER221> LINQ

</comment><comment><USER222> Super!

Thankyou Microsoft.

</comment><comment><USER223> The key points seem to be:

"Available Wednesday, Visual Studio Community 2013 is a free, fully featured edition of Visual Studio including full extensibility."

So, it sounds like this will replace the Express edition and let you install extensions like you can in the Pro version.

"Visual Studio 2015 and .NET 2015: build for any device - Built from the ground up with support for iOS, Android and Windows, Visual Studio 2015 Preview makes it easier for developers to build applications and services for any device, on any platform."

It _almost_ sounds like you're going to be able to run VS2015 on different platforms, but I doubt it. Maybe you'll run the web version of VS2015 to develop from Mac/Linux?

"To further support cross-platform mobile development with .NET, as part of their strategic partnership, Microsoft and Xamarin announced a new streamlined experience for installing Xamarin from Visual Studio, as well as announced the addition of Visual Studio support to its free offering Xamarin Starter Edition — available later in the year. "

This is very interesting - .NET is going fully cross platform but they haven't bought Xamarin...are they planning on competing while keeping their frenemies close or something else?

<comment><USER224> One theory I've read is Microsoft wants Xamarin to stay third-party so Microsoft's competitors continue working with them.

Xamarin is working with a great many companies who would think twice about working with Microsoft directly. This way Microsoft can shove money to Xamarin to forward the ecosystem without scaring anyone.

<comment><USER225> Nice theory... but they went the opposite direction with Nokia.

I don't think they'd have any issue purchasing Xamarin and importing/re- branding.

<comment><USER211> Nokia is a totally different case, so doesn't invalidate his theory.

Nokia sells to consumers, so there wasn't the problem (as his theory suggests) of corporate clients not wanting to have business with MS.

Not saying that his theory is correct, just that it's different case to Nokia.

<comment><USER226> Nokia was also definitely pre-Nadella. The Xamarin theory supports Nadella's whole "cloud and mobile services" schtick.

</comment></comment></comment></comment></comment><comment><USER227> At the moment .NET is making great inroads into all mobile platforms (mainly due to Xamarin's iOS and Android platforms). The one area where Microsoft needs to push more i son the server side: to be able to develop ASP.NET apps and push them to Linux servers. You can do it now but not as smooth and stable as it should be. When this happens, then the circle is complete: you can write both client and server code in C#/F# from within Visual Studio.

Quite a powerful combo at that point!

<comment><USER228> i think the potential for F# just got bigger and better with a brighter future!

this pretty much highlights the whole movement at Microsoft +Xamarin: (and directly answers most of the questions in this thread) Microsoft intends to make Xamarin's job a lot easier and realign its developer-oriented strategy in the same direction

Scott Hanselman outlines it concisely here ([http://www.hanselman.com/blog/MicrosoftKilledMyPappy.aspx](http://www.hanselman.com/blog/MicrosoftKilledMyPappy.aspx)):

Delivering on its promise to support cross-platform development, Microsoft is providing the full .NET server stack in open source, including ASP.NET, the .NET compiler, the .NET Core Runtime, Framework and Libraries, enabling developers to build with .NET across Windows, Mac or Linux. Through this implementation, Microsoft will work closely with the open source community, taking contributions for future improvements to .NET and will work through the .NET Foundation.

"A strong, open source, cross-platform CLR opens significant new options for building large server-based systems," said Brian McCallister, chief technology officer, Groupon. "This significantly expands the choices developers have when finding the right tool to solve their problem. I'm very excited to have access to the quality virtual machine and tooling of the CLR without having to completely rework our production infrastructure in order to run it!" ____

this will be of great interest to those already using the CLR as it gives more incentive to those developers / dev shops

</comment></comment><comment><USER229> First we have to see it as a standard Debian package.

Then we have to look at its memory usage, GC pauses, locking issues.

It is much easier to say than to port correctly a large, very complex code- base to an alien platform. (Mono has been written from scratch, if I recall correctly).

</comment><comment><USER230> I welcome it. And still think it is 10 years too late. 2.0 was a blast and provided higher quality of life and speed of contemporary JAVA. If they had made it multiplatform back then the world would have been different.

<comment><USER231> They probably didn't have the resources back then to make it multiplatform. It would be a distraction from providing the core features of the platform. Now that the platform is mature, it's a good time to do it.

<comment><USER230> You mean they could release Rotor under crap licence? But could not make .NET multiplatform? Doubt it.

[http://en.wikipedia.org/wiki/Shared_Source_Common_Language_I...](http://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructure)

This was the CLI

</comment></comment></comment><comment><USER232> I guess it's now easier to create cross platform desktop apps using Visual Studio 2015? Does this mean I can finally make iOS apps on Windows? I'm downloading the 2015 preview to try it out.

</comment><comment><USER233> Oregon legalized marijuana on Tuesday. Microsoft open sources .NET today. They say miracles come in 3. What's next?

<comment><USER234> adobe brings photoshop to linux _crosses fingers_

</comment></comment><comment><USER235> Repost1.

</comment><comment><USER235> Repost2.

<comment><USER236> This is big news; it probably warrants two or three front-page posts. :)

</comment></comment><comment><USER235> Repost...

</comment><comment><USER235> Self advertising by ms... What a surprise!

</comment><comment><USER237> A couple decades late to the party, but surprising nonetheless. ^_^

</comment><comment><USER238> This is a very bad news. .NET and Microsoft must die after apppl.

</comment><comment><USER239> MSFT Pls fix ODF before you claim to be open!

[https://joinup.ec.europa.eu/elibrary/case/complex- singularit...](https://joinup.ec.europa.eu/elibrary/case/complex-singularity- versus-openness)

</comment><comment><USER240> Well, fuck me and call me Shirley...this is awesome news.

</comment><comment><USER241> [http://blogs.msdn.com/b/somasegar/archive/2014/11/12/opening...](http://blogs.msdn.com/b/somasegar/archive/2014/11/12/opening- up-visual-studio-and-net-to-every-developer-any-application-net-server-core- open-source-and-cross-platform-visual-studio-community-2013-and-preview-of- visual-studio-2015-and-net-2015.aspx)

True to form, the links to github are broken.

</comment><comment><USER242> After recently using Microsoft's online tools (OWA, web-based office, etc.) and the IOS version of OWA, I'm shocked at how bad the UX has become.

Recently, there was a bug that makes the IOS OWS client replace its standard icons with emoji. It's been over 90 days and the bug is still not fixed.

There have recently been a lot of bold decisions at Microsoft. If anything can turn around a dying company it's this kind of approach.

<comment><USER242> Not sure why the downvotes. I'm rooting for MS to be successful.

<comment><USER243> Didn't downvote you, but maybe because that sounds a bit anecdotal. Also for a "dying company", they do very well.

<comment><USER242> True, though it was clearly voiced as anecdotal and not pretending to be otherwise.

MS is doing well but there have been a number of shifts in the landscape MS has yet to successfully navigate.

</comment></comment></comment></comment><comment><USER25> Too little, too late. At the end of the day, you're still being forced to pay a company to use their shitty software. Once you lose developers, you lose the race.

<comment><USER211> The thing is, it's anything but shitty.

C# is one of the best languages out there for generic enterprise work and app development, and there's a magnigicent next gen language in F# thrown in, and a great web framework.

<comment><USER25> I keep hearing that, as if people are trying to convince themselves. But the fact is that it just doesn't exist out in the wild like its alternatives. What's more, anybody who thinks Microsoft is embracing open source by doing this is kidding themselves. There is only one motivation behind everything Microsoft does, and it isn't bringing open source philosophy to its products. Hint: That philosophy serves to undermine Microsoft's single motivation. I'm sure this comment -- while more thorough and reasonable -- will also be downvoted into oblivion because of the fanboys in here high on their own dreams. Microsoft is not your friend.

<comment><USER19> > Microsoft is not your friend

Nor is google or Oracle. So who is? To put this in perspective you need to look at the alternatives. Getting a free (as in speech) source CLR/BCL/JIT/Compiler and a free (as in beer) IDE is pretty sweet.

Sure, you can do python or Node.js, but it's not covering all that you can do now with .NET. Only java/jvm really competes on "everything except high perf" (from enterprise to mobile to cloud etc.).

And in the java universe you may end up with Ask toolbar, Eclipse and tears on your keyboard.

<comment><USER7> > So who is?

Linus Torvalds, RMS, Guido van Rossum, and a very long list of other open source contributors who were writing open source code before it was 'hip' or good PR.

<comment><USER19> Those guys do (did) some great things. However, I wasn't asking about who was a cool developer or great OSS personality (Or a crazy person or obnoxius mailing list asshat for that matter :) )

I meant, when it comes to choosing a platform/language/IDE for enterprise dev or mobile/cloud dev, there are lots of options but most of the "big" ones also come from megacorps (Oracle, Google...)

What scared people most about .NET is usually the closed nature (will they continue to develop it? will they charge more tomorrow?) and the fact that it only runs on windows which makes it more expensive. When it's open sourced and available for other platforms, it's no worse than the alternatives in that respect.

<comment><USER244> I think people didn't trust MS because of Android patent extortion fees (which they still do BTW) and Mono was covered only partially by patent promise. I still don't know if every part of Mono is "patent promise" covered (by MS).

I don't believe MS would sue some random ISV but let's assume Google today forks Mono - will this be safe for them to use ?

</comment></comment></comment></comment></comment></comment></comment><comment><USER245> I've reverted to WIN32 because users can run a single file, bare bones EXE without the Permission Police blocking you.

Too often users aren't allowed to install programs. A simple program that can run on anything since XP is a good solution around Microsoft's sandbox strategy and DLL hell and install programs are big problems.

With wine you can even run your simple EXE on Linux and Mac. Native x86 means you run faster than these virtual machine based solutions.

<comment><USER246> Are you talking about the .NET misfeature that gave managed programs running from network shares less permissions than native programs running from the same network share? Because that was removed a long time ago (.NET 3.5 SP1?).

<comment><USER247> i think hes saying for less dependencies, and portability, and no required elevated users, and speed: its best to write it in straight win32. i agree and ill chime in down here in the downvotes. i think a lot of authors like the op and myself if we want a speedy app we have to go to win32 api only. c# is slow and even MS doesnt use it in windows desktop mgr or IE. ex: without hw accelleration the hearts game is unplayable on a 2ghz machine. with raw win32 api thats not a problem</comment></comment></comment>