Try Kate Gregory's Pluralsight courses.
HN user
MattHarrington
Independent developer.
I think the best book for complete beginners is "Jumping into C++" by Alex Allain. From there, move on to "C++ Primer Plus" by Stephen Prata.
Quantitative finance, scientific computing.
Recommended resources for learning C++ nowadays: "Jumping into C++" by Alex Allain, "C++ Primer Plus" by Stephen Prata, and Kate Gregory's C++ courses on Pluralsight. You can get a free 3 or 6 month Pluralsight subscription by signing up for Microsoft's free Dev Essentials program.
It might not be common knowledge yet, but C#, F#, and .NET are fully open source and cross-platform. Development is done in public on GitHub (https://github.com/dotnet), and pull requests are accepted from the community. You can even get a support contract from Microsoft and call them up to troubleshoot your .NET project on Linux. No Windows required.
One option with C# Windows Store apps is that they can generate native code using something called ".NET Native". https://msdn.microsoft.com/en-us/vstudio/dotnetnative.aspx
VS2012 for Windows Phone development is free: http://aka.ms/winphone8sdk
You may be surprised to hear that there's lots of stuff happening with open source here at Microsoft. ASP.NET MVC, the Azure SDKs, and F# are all open source. Check out this blog for more: http://blogs.technet.com/b/port25/.