4 ms·
OCaml is great in itself, but in practical terms, it is only great for limited dependency projects (this however doesn't mean limited complexity--a Perl 6 imple
by wenc 9y ago
OCaml is great in itself, but in practical terms, it is only great for limited dependency projects (this however doesn't mean limited complexity--a Perl 6 implementation called Pugs was once written in OCaml. FFTW's code generator is also written in OCaml).
In many projects where one has to "stand on the shoulders of giants", OCaml has a limited ecosystem to draw from.
A practical compromise is F#, which is an ML language for the .NET platform. And even with Microsoft's heft behind it and a rich .NET ecosystem, F# is still a niche language used in finance and a few other specific domains.
A functional language "taking over the world" is a tough proposition. That usually requires a strong use-case (like scientific computing--and now data science--for Python) and fungibility of expertise, which in turn calls for a language with a very low barrier to entry.
- profquail 9y agoMinor correction: `pugs` was written in Haskell, not OCaml. https://hackage.haskell.org/package/Pugs https://hackage.haskell.org/package/Pugs
- wenc 9y agoYou are right. Thanks for the correction.
- eru 9y agoYou are right about the difficulty of a functional _language_ taking over the world anytime soon. But as a consolation prize we are seeing functional features making it into more and more mainstream languages. Even people using eg C++ no longer look at you too funny if you explain that you prefer all your variables to be 'const'.
- gbersac 9y agoF# is even less used than OCaml and Microsoft lost interest in it. If you are into functional programming, you should rather choose Scala. Huge ecosystem, largely used in production. Compatibility with java mean you can have all the library you want. A lot of people love to trash sbt it's build system, but for me it always work as expected. And other tooling are just awesome (you even have IDE).
- suprfnk 9y ago> Microsoft lost interest in it. Do you have any sources for this?
- bonesss 9y agoF# clearly lags behind C# in editor attention and integration into the latest and greatest GUI techs from Microsoft... For many on the MS treadmill this is seen as a negative, as you can't always get visual studio RCs and be months ahead of the competition on the next version of blend/WPF/silverlight/whatever. For others, the community driven aspect and lack of obsessions with technical fashion in the MS product line (with the track record they have...), is seen as a _major_ feature. F# has a much more active open source community and presence than C#, most of the devs are actively cross-platform in a way C# still struggles with, and it has a better .net stack than C# aimed at command line efficiency and relatively stable approaches to common problems. F# is still a first class language from MS, and would be quite OK on its own these days. Regardless, there is no chance MS will "lose interest" in F# given the impact on data science, machine learning, cloud computing, parallel computing, and stream-processing F# has. MS invested heavily in filling out their language portfolio to avoid being excluded from the big servers and big clusters. Time has shown those concerns to be growing, not shrinking :)
- lenkite 9y agoAccording to members of the .net team, one should embrace f#: https://blogs.msdn.microsoft.com/dotnet/2017/05/31/why-you-should-use-f/ https://blogs.msdn.microsoft.com/dotnet/2017/05/31/why-you-s...