I doubt. It should be a year of Linux desktop, haha. Wayland with drivers from Nvidia, KDE 5 and Mozilla Shumway are supposed to be coming. And also Daala video codec and Steam Machines / SteamOS. Quite a number of breakthrough developments for 2015.
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?
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.
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.
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.
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.
15 years is a long time. The culture changes because new people coming in have different ideas and upbringing. People that any company recruits have different ideas about OS than they did 20 years ago.
For instance, one of the movers here is Scott Guthrie, who joined MS in 1997: 17 years ago.
The culture changes because new people coming in have different ideas and upbringing.
Market forces and realities impact Microsoft's decisions far more than culture does. The reality of the Microsoft stack right now is that very few people are choosing it as a greenfield option, and those already invested in it are looking at alternatives.
Just a few weeks ago I wrote about a new project I was initiating, choosing Java as the platform. Understand that I've been a Microsoft stack developer for many years, but a variety of inertia, platform support, ease of getting setup with the development tools, and trust in the platform reasons made Java the better choice.
But this announcement changes the equation to some degree, as have Microsoft's various other opening up directives. Microsoft no longer sets the technology agenda, so choices like this are simply a reaction to that new reality. That isn't being cynical, and the changes are very welcome, but Microsoft didn't just punt the old timers and now they see the light.
> Microsoft no longer sets the technology agenda, so choices like this are simply a reaction to that new reality
Also very true, the culture didn't "just" change. It's another reason why anyone hating on MS while ignoring Google, Facebook, Apple et al is living in the past.
It was a totally different world for development 15 years ago though. These days web applications are taking over what used to be in-house developed Windows apps. Those in-house apps represent a huge amount of software development. I think that market mostly dried up for Microsoft. Linux and open source software rule the web app space. On mobile it is Android and iOS.
C# is a nice language, better than Java for sure. Microsoft has a long way to go yet to win back developers (lots of dirty tricks in the 1990s) but at least they are heading the right direction now.
> Who would have thought they would have come this far?
The sad thing is: these massive changes are only chipping away at the entrenched opinions.
They've been doing this bit by bit over the past few years, yet I keep seeing this[1] kind of stuff at every turn (find my reply here[2] for a true tidbit of irony).
Microsoft person here, all these things you're seeing today have been coming for a while - they always 'felt' right, but with an org of our size and history, you always have to consider every possible scenario. I'm super excited that people here are bold enough to increase speed here. We're all pretty excited :)
"To further support cross-platform mobile development with .NET, as part of their strategic partnership, Microsoft and Xamarin..."
I would be pretty shocked if MS just suddenly dropped their won linux/mac implementation. Xamarin and the mono team have been working on this for a very long time. MS is just bringing them further into the "legit" fold
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.
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.
It would pretty dumb of them to take this step and then pick a license which wasn't permissive enough to make it happen. Plus, given that they mention they're working with the Mono team on this, I'm sure they're going to get good advice.
No I think they are providing open source libraries of the server stack which is written in c#. Still needs mono to compile to linux/mac but now mono won't have to (re?)implement those, they can all share the same MS c# code
They've announced a .NET core CLR for windows, mac and linux - supported by Microsoft - so sounds like there'll be options (either use Microsoft or use Mono)...
Mono (the code) and .NET Core will merge (per Scott Hanselmann)
Microsoft will (in partnership with Mono the project) ensure that .NET core and server stacks run on Linux and OS X.
They've just demonstrated deploying an ASP.NET MVC5 application on Linux, running inside a (Linux) Docker container and being remotely debugged from Visual Studio on Windows. Which seems to indicate that they are already pretty far down that road.
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?
"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.
.NET Framework 4.6 and its Reference Source source is being relicensed under the MIT license, so Mono (and you!) can use the source code to the .NET Framework.
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.
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.
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.
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].
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
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.
I think Xamarian made a very good move in getting into cross platform toolkits, rather than just relying on support contracts for Mono. At this point I think they're in a position where Microsoft Open Sourcing the .Net runtime isn't going to hurt them too badly.
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.
I would expect that Xamarin's role with Mono is analogous to 37signals\Basecamp is to Ruby on Rails. Neither organization makes money developing Mono nor RoR. They make their money supporting and consulting organizations that chose to use the software that they are developing.
Me too. I went from OSS stuff to .Net in 2009 and fell in love with C#, and eventually Visual Studio. It's nice to see the two worlds merging and moving forward.
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.
System.Console isn't something that most apps rely on. It's handy for printing something out in a tiny one-file test app, but generally not relied upon for bigger apps.
Is this on a UNIX? If so, yes, it's common to write to stdout/stderr there. Not in Windows, though - anything which is long-running tends to be a Windows Service and there's no point writing to System.Console from there because no-one will see it!
I haven't done much .NET on UNIX but if I was doing so, I'd probably want something a bit more UNIX-friendly than System.Console, though I know it does have the ability to deal with different streams.
After reading most comments here, the linked announcement, your blog post & some other websites, I only have one question left. If Microsoft releases their code under the MIT license, will mono follow suit and stop using the GPL?
I don't think they are open sourcing the client libraries like WPF and Win Forms. Like you are alluding to, what good would it do if they did since it is 99% Windows only functions in there.
They are open-sourcing the server side code. I think this means your ASP.Net apps can run on Windows, Linux, Mac OSX all from the same open source code base. No worry about Mono incompatibilities and bugs.
Mono has been doing just fine. Yes, you can't rely on WinForms, even though a port exists. You can't do COM, that's for sure. But that doesn't mean that Mono is not valuable for what it is right now.
Microsoft doesn't need to provide compatibility for the Windows specific bits, as those bits are not part of the Core. And a platform like .NET has enough value in open-sourcing just the Core (i.e. whatever goes in the ECMA standard). For example it's a perfectly acceptable strategy to use GTK# on Linux, WinForms on Windows, MonoMac on OS X and Xamarin.Whatever on iOS / Android.
On System.IO, indeed there are differences between Winsock and Linux's epoll or BSD's kqueue (i.e. notify on completion versus notify on ready). There are differences between the 2 models, but I don't see that as a problem for System.IO and if you think it is a problem I'd like to read an explanation as to why.
Personally I'm very excited about this announcement. I avoided .NET for years and preferred to settle for the JVM because I do not like building on top of proprietary things. If they are really open-sourcing the .NET runtime, whilst uniting their efforts with Xamarin, that's really good news. Now hopefully the ecosystem around .NET will follow, as .NET needs an open-source oriented ecosystem and needs one badly.
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
As far as I understood, they are really slimming down the core .NET CLR (runtime). Most of current BCL .NET libraries will be exposed as separate nuget packages, which makes it really convenient.
Ofcourse someone will have to write the linux/osx implementations, but I don't see much in System.IO that would be asking for trouble.
The CreationTime on DirectoryInfo would have to be faked, and it's not entierly clear if FileSecurity would map cleanly to posix acls, but nothing sticks out as being fundamentally incompatible with linux at least.
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.
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.
"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?
The iOS and Android part don't make sense to me. Surely you won't be running VS on your iPad? So are they saying it has support for compiling to iOS and Android? Wouldn't they need to mention Xamarin in that sentence for it to make sense?
Highly depends on what the deal between Xamarin and MS is. For example they could work out a deal with Xamarin where they would provide free access under same terms as Visual Studio community (the >5 people) and Microsoft could pay them more than enough to cover their loss while promoting their development stack.
I highly doubt Microsoft will release and support Linux/OSX/iOS/Android API bindings.
What will likely happen is Microsoft will :
* open source the core libs
* open source the JIT
* make sure it works on all platforms
* open source the ASP.NET and port it to Linux/Mac so they can separate Azure from being a Windows only cloud service
Xamarin then packages these in to Mono and Xamarin.iOS/Android providing a layer on top of MS core stuff. Microsoft will then be able to sell .NET as a truly cross-platform solution and make VS/Azure more popular where it's probably losing to other OSS ATM.
I agree re Linux and OSX but I could see iOS and Android. The scale of mobile is such that if you want to be relevant in the way MS have historically, they're two platforms you can't ignore.
I think it's just an oddly-worded sentence. They're saying that you can use VS to target multiple platforms (including IOS). They're absolutely not saying you'll be able to run Visual Studio on an IPad.
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.
Not only that, but Xamarin's independent existence is like free insurance for companies choosing .NET - even if Microsoft were to drop support (unlikely, but look at Silverlight), Xamarin would continue providing a viable way forward for the language and runtime. Now that MS's .NET is open source, Xamarin's .NET is like OpenJDK - Xamarin is a governing body and authority for the language/API if Microsoft were to drop it. So it's good for Microsoft to have Xamarin as an independent entity.
More like Xamarin is IBM. From http://openjdk.java.net/faq/ ... if you replace these words from that FAQ, it's remarkably similar to the current .NET situation (even though Xamarin is much smaller than IBM, the amount of attention each company gives to language & core framework development is probably on a similar scale).
> Oracle and IBM announced in October 2010 that we will collaborate in the OpenJDK Community to develop the leading open-source Java SE implementation, and make the OpenJDK Community the primary location for open-source Java SE development. Oracle and IBM will support the OpenJDK development roadmap that was proposed before JavaOne 2010, which accelerates the availability of Java SE across the open-source community.
"Today we’re excited to take the partnership to the next level, by announcing:
1. Support for Visual Studio 2015 – Today, we released support for the Visual Studio 2015 Preview release, which includes Xamarin templates that make it easier to discover and download Xamarin from within the IDE.
2. Free Xamarin Starter Edition for Visual Studio Users – Today, Microsoft announced a new, free edition to Visual Studio—Visual Studio Community. Visual Studio Community contains support for extensions, which means it will be Xamarin compatible with from day one. We want to help make Visual Studio Community a tool for anyone to create native apps for iOS and Android, so we are announcing our plans to enable our freely available Xamarin Starter Edition to work with Visual Studio Community. We are also doubling the size limit on apps that can be created with Xamarin Starter Edition, so that you can build even more capable apps for free. This will be available in the coming weeks.
3. Special offers for MSDN Subscribers – We’ve worked with Microsoft to create a 20% discount for Visual Studio Premium and Ultimate MSDN subscribers to purchase Xamarin Business or Enterprise Editions, or world-class mobile development training with Xamarin University, available up to 60 days after the Visual Studio Purchase."
So the free Xamarin users will get Visual Studio support, but us with Xamarin Indie still have to use Xamarin Studio? I just want to use VS with Xamarin! But I guess that won't happen, because that's the only worthwhile reason to purchase their Business subscription (and the whole >5 employees clause).
Yes ... I'm in the same boat, however the 'core' of my app I developed as a PCL, the substantial part of developing for which I spend time in VS and using Resharper. Xamarin Studio is pretty OK, but VS is damn good to develop with.
I believe they mean you write code in VS and target Android/iOS/etc for builds. It sounds like it's moving more towards a regular IDE than very .NET specific.
It does not sound like you can run VS on different devices.
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!!
936 comments
[ 3.6 ms ] story [ 374 ms ] threadWhat 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?
Major projects open-sourced on GitHub under MIT licence? Check. Runs Linux, java and PHP in the Azure data centres? check.
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.
For instance, one of the movers here is Scott Guthrie, who joined MS in 1997: 17 years ago.
http://en.wikipedia.org/wiki/Scott_Guthrie
And let's not forget thsi from Hanselman: "I've been here pushing open source and the open web for over 5 years and things are VERY different." http://www.hanselman.com/blog/MicrosoftKilledMyPappy.aspx
Market forces and realities impact Microsoft's decisions far more than culture does. The reality of the Microsoft stack right now is that very few people are choosing it as a greenfield option, and those already invested in it are looking at alternatives.
Just a few weeks ago I wrote about a new project I was initiating, choosing Java as the platform. Understand that I've been a Microsoft stack developer for many years, but a variety of inertia, platform support, ease of getting setup with the development tools, and trust in the platform reasons made Java the better choice.
But this announcement changes the equation to some degree, as have Microsoft's various other opening up directives. Microsoft no longer sets the technology agenda, so choices like this are simply a reaction to that new reality. That isn't being cynical, and the changes are very welcome, but Microsoft didn't just punt the old timers and now they see the light.
Also very true, the culture didn't "just" change. It's another reason why anyone hating on MS while ignoring Google, Facebook, Apple et al is living in the past.
C# is a nice language, better than Java for sure. Microsoft has a long way to go yet to win back developers (lots of dirty tricks in the 1990s) but at least they are heading the right direction now.
Yeah, now Microsoft are dead.
The sad thing is: these massive changes are only chipping away at the entrenched opinions.
They've been doing this bit by bit over the past few years, yet I keep seeing this[1] kind of stuff at every turn (find my reply here[2] for a true tidbit of irony).
We can be a very religious lot at times.
[1]: http://compositecode.com/2014/04/09/ive-officially-sent-this... [2]: https://news.ycombinator.com/item?id=7526525
I would be pretty shocked if MS just suddenly dropped their won linux/mac implementation. Xamarin and the mono team have been working on this for a very long time. MS is just bringing them further into the "legit" fold
AFAIK, it will be MIT licence.
Edit: Yep, MIT. It's not like it's secret: https://github.com/dotnet/corefx
https://github.com/dotnet/corefx/blob/master/LICENSE
Source: http://blogs.msdn.com/b/dotnet/archive/2014/11/12/announcing...
> and expanding .NET to run on the Linux and Mac OS platforms.
http://news.microsoft.com/2014/11/12/microsoft-takes-net-ope...
(source: http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSour... )
Microsoft will (in partnership with Mono the project) ensure that .NET core and server stacks run on Linux and OS X.
They've just demonstrated deploying an ASP.NET MVC5 application on Linux, running inside a (Linux) Docker container and being remotely debugged from Visual Studio on Windows. Which seems to indicate that they are already pretty far down that road.
http://tirania.org/blog/archive/2014/Nov-12.html
Well that should make a lot of people around here happy.
Joking aside, there are a lot of surprises coming out of MS, this is all quite nice.
Link: http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSour...
https://github.com/dotnet/corefx/blob/master/LICENSE
Since we are here, could someone please explain me how is it that it takes so much space?
True to form, the links to github are broken.
http://en.wikipedia.org/wiki/Shared_Source_Common_Language_I...
This was the CLI
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.
Google Cache: http://webcache.googleusercontent.com/search?q=cache:http://...
I've always missed the power of visual studio when programming for open source platforms. This can change things a lot.
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...
Extensions enabled on the community edition is great news for people who can integrate awesome tools like resharper
- 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
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.
Because in that case what's the point? Why not just use Java.
Literally? Well it is visually displayed under it and to the right :P
I haven't done much .NET on UNIX but if I was doing so, I'd probably want something a bit more UNIX-friendly than System.Console, though I know it does have the ability to deal with different streams.
"ASP.NET 5 will include a web server for Mac and Linux called kestrel built on libuv."
Mono plans on contributing to the effort our cross platform changes to Mono, to make .NET work great on Unix.
Details here: http://tirania.org/blog/archive/2014/Nov-12.html
They are open-sourcing the server side code. I think this means your ASP.Net apps can run on Windows, Linux, Mac OSX all from the same open source code base. No worry about Mono incompatibilities and bugs.
I didn't allude to that.
Microsoft doesn't need to provide compatibility for the Windows specific bits, as those bits are not part of the Core. And a platform like .NET has enough value in open-sourcing just the Core (i.e. whatever goes in the ECMA standard). For example it's a perfectly acceptable strategy to use GTK# on Linux, WinForms on Windows, MonoMac on OS X and Xamarin.Whatever on iOS / Android.
On System.IO, indeed there are differences between Winsock and Linux's epoll or BSD's kqueue (i.e. notify on completion versus notify on ready). There are differences between the 2 models, but I don't see that as a problem for System.IO and if you think it is a problem I'd like to read an explanation as to why.
Personally I'm very excited about this announcement. I avoided .NET for years and preferred to settle for the JVM because I do not like building on top of proprietary things. If they are really open-sourcing the .NET runtime, whilst uniting their efforts with Xamarin, that's really good news. Now hopefully the ecosystem around .NET will follow, as .NET needs an open-source oriented ecosystem and needs one badly.
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
The CreationTime on DirectoryInfo would have to be faked, and it's not entierly clear if FileSecurity would map cleanly to posix acls, but nothing sticks out as being fundamentally incompatible with linux at least.
"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?
My money is on the App Creation naively in VS 2015 - via Xamarin or similar plugins - instead of having to rely on tools like Eclipse or IdeaU.
I think I'd lose my mind if I could develop apps in Visual Studio and C# instead of having to use Java and pay $1000/year for Xamarin.
It could just mean a move away from Xamarin as a core development tool into producing things which support development on these platforms.
What will likely happen is Microsoft will :
* open source the core libs
* open source the JIT
* make sure it works on all platforms
* open source the ASP.NET and port it to Linux/Mac so they can separate Azure from being a Windows only cloud service
Xamarin then packages these in to Mono and Xamarin.iOS/Android providing a layer on top of MS core stuff. Microsoft will then be able to sell .NET as a truly cross-platform solution and make VS/Azure more popular where it's probably losing to other OSS ATM.
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.
I don't think they'd have any issue purchasing Xamarin and importing/re-branding.
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.
> Oracle and IBM announced in October 2010 that we will collaborate in the OpenJDK Community to develop the leading open-source Java SE implementation, and make the OpenJDK Community the primary location for open-source Java SE development. Oracle and IBM will support the OpenJDK development roadmap that was proposed before JavaOne 2010, which accelerates the availability of Java SE across the open-source community.
"Today we’re excited to take the partnership to the next level, by announcing:
1. Support for Visual Studio 2015 – Today, we released support for the Visual Studio 2015 Preview release, which includes Xamarin templates that make it easier to discover and download Xamarin from within the IDE.
2. Free Xamarin Starter Edition for Visual Studio Users – Today, Microsoft announced a new, free edition to Visual Studio—Visual Studio Community. Visual Studio Community contains support for extensions, which means it will be Xamarin compatible with from day one. We want to help make Visual Studio Community a tool for anyone to create native apps for iOS and Android, so we are announcing our plans to enable our freely available Xamarin Starter Edition to work with Visual Studio Community. We are also doubling the size limit on apps that can be created with Xamarin Starter Edition, so that you can build even more capable apps for free. This will be available in the coming weeks.
3. Special offers for MSDN Subscribers – We’ve worked with Microsoft to create a 20% discount for Visual Studio Premium and Ultimate MSDN subscribers to purchase Xamarin Business or Enterprise Editions, or world-class mobile development training with Xamarin University, available up to 60 days after the Visual Studio Purchase."
It does not sound like you can run VS on different devices.
Miguel