My passing “academic” interest in F# is likely to become much more serious.
For what concerns me, I begin to think that focusing on F# for a while has been a good investment in view of these developments.
This is beyond wonderful! I love that Microsoft is finally moving towards becoming a 21st century company, and attempting to coexist in ecosystems it didn’t create.
I can’t help but be skeptical. I hope that MS isn’t trying to go back to their old ‘embrace, extend, extinguish’ habits, but I’ll believe it when I see it.
Honestly, if you’re not convinced by now, I don’t know what on Earth would convince you. They have been giving patent guarantees for years. They’ve steadily been open-sourcing the .NET stack. They’ve been openly supporting Mono integration, to the point that parts of their F# team are Mono-first. They’ve been dramatically improving IE’s standards compliance and performance, while introducing literally nothing that could be in the “extend” phase. (The closest you could get on that front would be WinJS, but that’s also been open-sourced, with the only IE-specific pieces being things that are by definition very tied to Windows, like the charms bar.)
Compare that to Google, which keeps trying to push things like PNaCl ridiculously hard, and I think you’re looking at the wrong company doing the embrace/extend/extinguish dance.
I don’t see why they can’t both be doing the E/E/E dance. I will be pleasantly surprised if they keep this above board, and indeed, I hope that they aren’t falling back on old habits. The new CEO dumped a huge amount of stuff into the free-as-in-candy bin yesterday, and the .NET core is free-as-in-speech (MIT license on github). That’s a great step, but I’m a trust-but-verify kind of guy, and I’m just not convinced there isn’t an ulterior motive.
I’m not a fan of Google’s E/E/E practices either, but all I can do about that is avoid using google services where possible (I still use Gmail), and be generally nervous. Just like I can only avoid microsoft services where possible (I still use windows), and be generally nervous.
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.
Indeed. Miguel has been criticized for years for “selling out” but I think without his efforts to establish a community outside of windows, this wouldn’t have happened. Build it and they will come. :)
For what it’s worth, I’ve done the same as you, and even this news is not enough to make people think twice. Some people are just so anti-Microsoft that they can’t accept when Microsoft does something right.
You posted the exact same comment on Hacker News. Is it enthusiasm?
Does anyone have suggestions for good resources to get started learning F#? I’ve been curious about it for a while, but I might dig into it seriously now.
I actually really like Programming F# 3.0, Second Edition. It covers the language very well from top to bottom, while assuming relatively little familiarity with .NET. The only caveat is that it predates Xamarin Studio being good with F#, so there will be a bit of stuff you’ll need to glean off StackOverflow or other documentation—especially if you get serious about things and need tooling like NuGet. I think that’s an acceptable caveat, though.
Does anyone have any pointer to build instructions for all this on Linux?
The GitHub READMEs don’t seem to have them. Their blog only mentions Windows & VS2013.
I’m not sure if the Linux version is ready yet. From their GitHub page: “It currently uses Mono for Linux and Mac support but will move to .NET Core 5 for those platforms when they are supported.”
I do wish some of the BCL was smoothed out. Many of the APIs only make sense on Windows. ACLs, drive letters, etc.