[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