I was checking the mbrace project (mbrace.io) for cloud computing with F#/C#. The project seems to be either dead or not maintained much. The latest updated ROADMAP is over 3 years old and most of git updates seem to be over one year old, which for a young project does not seem right. While Spark has risen sharply in use and has greatly helped adoption of Scala, MBrace seems to be going the way of the Dodo.
I have always just enjoyed the elegance of coding in F#, but prohibitive issues have remained constantly present over the last 6-7 years. Recently, I was talking about F# to a data scientist and researcher and he posed several questions:
- Do I have reliable and well-document access to libraries and packages for exploration, visualization, and modeling?
- Do I have reliable and well-document utilities for doing GPU programming?
- Do I have reliable and well-document access to tools like Hadoop and Spark?
- Do I have reliable and well-document tools for utilizing Keras, CNTK, TensorFlow, and alike?
I did not have good answers for any of them. First of all, even when you have something available for F#, documentation and examples are severely lacking. Most of the times though, you don’t get anything native or F# sugar-coated and wrapped. You can use Mobius but it is primarily a C# API. You can use AleaGPU but still documentation and examples are mostly geared for C#. Accord.NET is a very capable package but it still is C#-ish. ML.NET and Encog are very interesting and capable but again C#-oriented. You are even likely to get a Python interface for a Microsoft product much faster than F#.
Another point of worry is the insufficient levels of investment (money and people) by Microsoft. When you have a corporate giant giving birth to and purporting to support a technology, you kind of expect a lot more. Both cloud computing platforms (OneNet/Prajna and MBrace) seem to be goners, and they do not seem to have anything in the pipeline. The simple fact is, people doing things in their free-time for nothing, when the community is not so big and diverse, is simply not going to cut it. I just hope that they develop the willingness to throw some money and resources at critical and valuable projects. Letting go of big data and cloud computing competing with JVM products just does not seem to be very farsighted and wise.
BTW - I really do not see this as an opinion-based topic. Whether or not you like a BMW or whatever brand is an opinion but whether or not it has certain features to make it a safe automobile has a lot more to do with facts. Whether or not there is sufficient investment in a certain product by some company and whether appropriate tooling and support are present and being actively developed in some ecosystem to make it competitive for particular tasks/projects, should not be matters of personal taste and opinion.