Friday, 22 August 2008

Hundreds of copies of F# for Scientists bought by Microsoft

In 2007, Microsoft commissioned us to translate our extremely popular book OCaml for Scientists from the open source OCaml language to their .NET-based alternative F#, that was created partly due to the extensive success of OCaml within Microsoft.

The result, F# for Scientists, was published by John Wiley & Sons earlier this month and Microsoft are so impressed that they have already bought 570 copies for internal use and intend to buy hundreds more by the end of the year.

This indicates that F# for Scientists may even overtake OCaml for Scientists to become the world's most profitable book on functional programming.


Thursday, 14 August 2008

Haskell's virginity

The most popular open source project ever written in Haskell, the Darcs code management system, is being dropped by Darcs' only significant user base, the developers of the defacto-standard Haskell Compiler GHC.

The developers of GHC cited poor stability and poor performance (their benchmark results found Darcs to be up to 50× slower than its competitors at core operations). They currently intend to migrate GHC to the Git version control software, which is written in C. Even software written in Python (Mercurial) was also considered because it is so much faster than Darcs.

This led us to revisit the subject of Haskell's popularity and track record. We had reviewed Haskell last year in order to ascertain its commercial viability when we were looking to diversify into other functional languages. Our preliminary results suggested that Haskell was one of the most suitable functional languages but this recent news has brought that into question.

Our latest research produced the following statistics regarding the number of installs on Ubuntu and Debian of the most popular programs written in OCaml and Haskell along with their source code size:













NameInstallsLines of codeLanguage
FFTW184,57414,298OCaml
Unison12,86623,993OCaml
MLDonkey7,286171,332OCaml
Darcs4,36524,937
Haskell
Free Tennis4,0667,419OCaml
Planets4,0573,296OCaml
HPodder3,4652,225Haskell
LEdit2,9652,048OCaml
Hevea2,82211,596OCaml
Polygen2,6571,331OCaml

This equates to:

  • 221,293 installs of popular OCaml software compared to only 7,830 of Haskell.
  • 235,312 lines of well-tested OCaml code compared to only 27,162 lines of well-tested Haskell code.

Our OCaml products, particularly OCaml for Scientists and The OCaml Journal, have proven that OCaml is one of the few commercially-viable functional programming languages. These remarkable new figures show that Haskell is still a virgin language: despite a huge number of open source projects being started in Haskell, virtually none reach maturity and the vast majority of those never garner a significant user base (i.e. they remain untested). Only Darcs and HPodder ever became popular but the most popular, Darcs, has turned out to be too difficult to fix and optimize even by expert Haskell programmers.

Our conclusion is, of course, that we are not going to consider diversifying into the Haskell market, at least not until it matures. Right now, Scala is looking much more viable.