[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