[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, the MALT parser, NLTK,
GMTK, 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.
More information about the Haskell-Cafe