[Haskell-cafe] Comments requested: succ Java

wren ng thornton wren at freegeek.org
Tue Sep 29 00:19:30 EDT 2009


Curt Sampson wrote:
> I've been hearing that having lots of libraries is an insurmountable
> advantage, and you're doomed if you give them up, since long before I
> took up Haskell. It's mostly myth promulgated by people driven by fear.
> I'm sure it's the case in some shops that they have lots of people who
> can glue libraries together but can't program, and they somehow manage
> to produce applications this way, but even that I suspect is not so
> frequent a situation as you'd think.

The real insurmountable advantage is not in the quantity (nor quality) 
of the libraries, it is in the *particular* libraries. Shops which are 
only using libraries for basic data structures and for glue work are 
able (and not infrequently willing) to switch to another language 
provided it has a library ecosphere ---which Haskell with Cabal/Hackage 
most certainly does.

The glue workers are not the ones most unwilling to switch. The real 
demographic that's unwilling to switch are those who are using a 
particular high-performance library. The reason they won't switch has 
nothing to do with the language, and everything to do with the countless 
man-years invested in that specific library. To pick some examples 
familiar to me: the Joshua SMT toolkit[0], the MALT parser[1], NLTK[2], 
GMTK[3], etc. Not all of these are Java, some are Python, some are Perl, 
and some are C++; but bridgework is annoying and most people stick to 
the original language.

These libraries keep client developers near because they are not 
replaceable. Data structures, network stacks, XML parsing,... everyone 
has these. But the high-performance state-of-the-art libraries tend to 
be written once and tweaked ever after. The conversion of the Moses 
translator (Python) into the original version of the Joshua translator 
(Java) was a non-trivial undertaking and it earned a few publications 
along the way ---just for converting it to a different yet similar 
language! And, of course, a number of man-years and publications have 
been invested in it since then.


[0] http://joshua.sourceforge.net/
[1] http://maltparser.org/
[2] http://www.nltk.org/
[3] http://ssli.ee.washington.edu/~bilmes/gmtk/

-- 
Live well,
~wren


More information about the Haskell-Cafe mailing list