
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
Dan Weston wrote: 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.