Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

So what's the deal with F#, now that it's been open-sourced? [closed]

I got pretty excited after finding out that F# will be released under the Apache license. But I am still not sure, whether the language/ecosystem is something worth investing my time in.

So - what do you think will happen now? The F# team publishes only "source drops" and doesn't take contributions for now (I doubt they ever will). On the other hand there's F# PowerPack, where one can try to make F# world better (I hope they do take contributions).

There's the http://fsharp.net site with lots of links but no open mailing list/forum. http://cs.hubfs.net seems empty and dead - is it really the center of the community? Is there a community?

Mono seems to be interested in F#, but will they adapt it? Plus - if MS itself tries really hard not to replace C#/VB with F#, what is the language really for? You don't get Code Cotracts support, no mstest runner in visual studio, no GUI designers etc.

So is F# just another MS product or something more?

like image 595
Michał Bendowski Avatar asked Dec 07 '22 00:12

Michał Bendowski


2 Answers

There is a lot of "predict the future" in this question that no one can answer, so I'll skip those parts.

Regarding community, the community is small (it's a relatively new language) but growing quickly. You can get a decent sense of it from blogs on the web, like the Planet F# feed, or from the questions in the F# tag here on SO, or from hubFS.

Regarding the new license, it's now possible to do a lot of things you couldn't do before. You can package F# in a Mono distribution. You can write standalone F# tools/programs like F# Web Snippets without having to resort to ridiculous contortions to avoid breaking the license (the current implementation of that tool does crazy extra work to workaround the old license). You can, well, you can do whatever you want; if you want to fork the whole thing, put it on github, get ten or a hundred friends to bang on the code and make an F# clone for JVM or something, you could do that too.

Realistically, I think what is most likely to happen in the near-term is that people will leverage the compiler source to write F# tools. If you like developing in emacs, then hey, now you can leverage all the existing logic of the F# compiler to easily create "go to definition" functionality when you press like Ctrl-Alt-Meta-G or something (I dunno, I don't use emacs). Or -- holy crap, I can't believe I only just now remembered this -- you could write a VS F# plugin that does what's pictured here:

Is there an IDE out there that does structural syntax highlighting?

which is something I always wanted to do, but it required using the F# compiler to do the heavy lifting to get the parse tree structure. Oh boy, I totally need to go find the time to do that now.

Anyway, it's not all unicorns and roses; a number of people like to focus on the 'one-time-source-drop' and no-takesies-backsies of community contributions, which are maybe not ideal. But that's no different from the state of the world three days ago. So I'll focus on what is different from three days ago, and with the new license there's some cool possibilities to leverage the compiler code to build some cool tools and perhaps even grow more community around those tools.

like image 101
Brian Avatar answered Jan 21 '23 05:01

Brian


In addition to what Brian posted, there is one (I think) very important point that I'd like to make
(Of course, I'm not inside Microsoft, so I can only talk as an external observer who has been watching programming languages in Microsoft for a long time...):

I think that releasing the source of F# doesn't mean that Microsoft is taking it less seriously than other Visual Studio languages like C# or VB. In fact, I think it's quite the opposite.

There are a couple of reasons:

  • The open source model used in F# is a completely different thing that the open source model of IronPython or IronRuby. Iron* projects always wanted to (eventually) accept contributions. The F# team is qutie clear about the fact that they want to have control over the language and evolve it.

  • There is a lot of interest in F# from academia and that's a community where having source code with open source license is important - maybe more because of principles than for practical reasons.

  • The new features announced at PDC 2010 show a very clear vision for the future of data access in F# (which could potenitally apply to all other languages). I'm sure that if Microsoft wanted to "drop" F#, they wouldn't show this vision in F#.

like image 35
Tomas Petricek Avatar answered Jan 21 '23 04:01

Tomas Petricek