
On Mon, 8 Oct 2007, Alistair Bayley wrote:
I posed the question: do we want to attract this kind of programmer? My personal opinion, which some of you obviously don't share, is yes.
It isn't about whether or not the Haskell community needs those sorts of programmers. It's whether or not those sorts of programmers need Haskell.
You cannot turn any programmer into a disciplined programmer just by giving him a well designed language. I you try so, they will not like to use that language, will leave that language as soon as possible or they try to adapt the language to their style of programming.
For me, a large part of Haskell's attraction are the features which reflect good engineering practice: strong, static type checking;
People who are used to weak typing will use a type like data Number = Int Int | Float Float | ... for numbers, or even String for everything, they will use numbers, where enumerations are more appropriate and so on.
purely functional code;
Undisciplined programmers will heavily use 'unsafePerformIO'
good FFI.
... and will call external C functions, where Haskell code is more appropriate.
It should be easier to write simple, reliable software in Haskell than in most other languages; IMO, getting the unwashed hordes to use Haskell would be a great improvement in software industry productivity.
I realise that a large influx of mediocre programmers will have a negative effect on the community, but is that a reasonable price to pay? I understand that may of you love a small, intimate, high-quality community, but perhaps that will have to evolve if we really want to conquer the world.
New programmers want example programs and libraries to learn style and tricks. The higher the portion of ill-designed libraries, the harder it is too find good examples. In my experience only the other way round works: Let people use C, Perl and Python until they find their programs unmaintainable. Then they will become interested in style and discipline and programming languages which _support_ good style.