[Haskell-cafe] Maintaining the community
Jon Harrop
jon at ffconsultancy.com
Tue Jul 17 19:10:59 EDT 2007
On Tuesday 17 July 2007 23:26:08 Hugh Perkins wrote:
> Am I the only person who finds it interesting/worrying that there are few
> to no people in the group who are ex-C# programmers. I mean, you could
> argue that C# programmers are simply too stupid to do Haskell, but ... you
> know, there is another explanation ;-)
To understand this, I think you must look at the number of technical users for
each language. There are a huge number of technical C++ and Java programmers
but a tiny number of technical C# programmers in comparison. The few
technical C# programmers are migrating to F# because it is next door and F#
programmers are better looking.
You can find evidence of this simply by searching for mundane numerical
libraries like Fast Fourier Transform (FFT) implementations. If you do this
for C++ or Java you find hundreds of implementations, some of which will
work. For OCaml, you find a handful of libraries all bundled with automated
proofs of their correctness. When I did this for all .NET languages a couple
of months ago, there was nothing worth having (even among expensive
commercial solutions). So I wrote my own and productized it. Our FFT library
in C# is an order of magnitude less popular than our technical libraries for
OCaml but this is offset by the fact that people using C# have an order of
magnitude more money.
So I would say that the Haskell community can expect immigrants who are
technical (or they wouldn't consider a fringe language) and that means they
will be migrating primarily from C++ and Java. If you want to attract the
maximum number of users then target your educational material at those
people.
The C++ programmers will know that coding to the metal is always essential and
will demand proof that Haskell is as fast as C. They will also need to know
how to unravel low-dimensional vector and matrix routines at compile time.
The Java programmers will know that performance (particularly startup time) is
completely irrelevant but being cross-platform and having extreme
interoperability is pivotal. They will be particularly impressed by Haskell's
brevity and the disappearance of some of Java's keywords like public, static,
void and Factory.
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
OCaml for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists/?e
More information about the Haskell-Cafe
mailing list