[Haskell-cafe] How Albus Dumbledore would sell Haskell

Paul Johnson paul at cogito.org.uk
Wed Apr 18 16:38:42 EDT 2007


Dan Weston wrote:
> Simon (aka Dumbledore) is speaking to four different Houses: 
> scientists (Ravenclaw), engineers (Hufflepuff), entrepreneurs 
> (Slytherin), and managers (Griffindor). 
Agreed, although perhaps there are two groups of scientists: Computer 
Scientists and Other Scientists.  Dan describes Computer Scientists.  
The Other Scientists see programming as a tool to solve larger problems 
such as analyzing data and simulating things.  They have a very 
pragmatic view, but their nightmare is buggy programs.  See for instance

http://www.sciencemag.org/cgi/content/full/314/5807/1856

This kind of thing can be very damaging to a scientist's career.  
Haskell has three big selling points here:

1: The type system helps to catch errors.  Dimensional analysis can be 
done in the type system.

2: The programs are shorter.  Hence less scope for errors.

3: Haskell is very close to the underlying mathematics.  What you know 
is what you type.  Recursion and equational reasoning will appeal to 
Other Scientists because that is how they think anyway.

> You cannot win over the entrepreneur with promises of "easier and more 
> robust". This translates to "anyone can do it" and the valuable "trade 
> secret" of arcane wizardry is now devalued.
I suggest reading extracts from "Beating the Averages" by Paul Graham.  
Then explain that Graham only wrote in Lisp because his university 
didn't teach Haskell.

> Risk is scary for managers. 

Selling new technology to managers is the hardest thing there is to do.  
The only way to get any traction is to find a problem they already know 
they have, and then present a solution.  That will get their attention.  
Anything else will go in the "clever but irrelevant" bin.

The biggest problem that software managers have is the unpredictability 
of development.  Managers (especially middle managers) don't actually 
care how much it costs; they just care about meeting their budgets and 
deadlines.  The big nightmare is software that never works reliably, so 
you might get some traction by talking about composability as a way of 
reducing integration risk.  However its a bit difficult to draw a 
straight line from closures to the integration of 100 kSLOC.  If they 
don't follow the argument then you've lost it.

Senior managers do care how much it costs, just not very much (except 
for software houses, their businesses are generally dominated by other 
costs).  If you can make a strong cost reduction argument then you will 
get at least some traction.  Show how cost is proportional to SLOC.  
COCOMO II demonstrates this clearly.  Then demonstrate how few SLOC you 
need to do something in Haskell.





More information about the Haskell-Cafe mailing list