vagrant init thinktainer/trusty64-vmw-fsharp-foundationdb
Why I think it matters
I have recently become a big fan of Microsofts ML language FSharp. In my opinion one of the things that is holding wider adoption of it back is the lack of a good cross platform story, like what for instance clojure or java have to offer. Minor niggle here, about the story for ruby and python on Windows being far from great too. One thing that has traditionally been painful is the fact that the mono runtime was a bit of a pain to get recent packages for. Without @tpokorras efforts with his high quality mono-opt packages for all major linux flavours it would have meant a developer would have needed to compile the runtime environment herself, in order to get a recent version on her machine (in a non-standard installation folder). Obviously with the advent of Xamarin’s great cross platform tools and those being based on the mono runtime things have started looking up a lot since then.
Microsoft wants us to use their languages and tools
I am convinced that the current trend for using linux as a .NET host is going to gain even more momentum. Microsoft may be interested in such a development due to the fact that Xamarin’s cross platform story is a great way to channel people down to the Azure platform as the cloud provider of the services for these Xamarin apps. Another area where Microsoft is leaving the comfort zone of Windows and actively seeking cross platform support by their framework is ASP.NET vNEXT. Again this may be useful for Microsoft if they manage to get people onto their cloud platform by offering a broader bandwith of choices, but in my opinion it is too early to tell if this is in fact a vaible assumption. Regardless of what we are able to observe now, I believe that Microsoft’s cross platform efforts are going to be a great investment in the long run, as it will make their services and potentially devices more appealing to a wider audience of developers.
FSharp is the ugly duckling at Microsoft
Microsoft has one of if not the best solution for developing object orientated software on a vm, namely CSharp). It has been widely adopted by the public sector and the enterprise. For hobbyists and ‘recreational programmers’ not so much, at least that I’m aware of. A great amount of resource at Microsoft is dedicated to the advancement, refinement and marketing of this tooling, and rightly so.
This is great for the open source movement
Due to the relative apathy of Microsoft in regards to engaging with the community around FSharp, the community prospers. There is a number of problems that have been solved by the FSharp open source community in a manner of great technical excellence. Examples of this would be the number of highly useful type providers, data analysis solutions and parsers.
The core language is open source, and accepting contributions from the community. This is big news for a language that was developed under the umbrella of a big corporate like Microsoft. Under the vision of Don Syme, who is not only the father of F#, but also responsible for some of the key features that make C# so attractive I believe there is a bright future for the language ahead.
The lack of percievable involvement from Microsoft in the current affairs of the language makes it more palatable to people who feel an ingrained antipathy for whatever reasons for the company. There is a great number of fantastic programmers in this group, and it is a highly desirable to get some of them ‘on board’, in order to start spreading the word.
A key ingredient to further the spread of F# in these communities is being able to use it without having to use the Windows operating system.
I am hoping that my contribution will help this process along.