[Haskell-cafe] New slogan for haskell.org

Bayley, Alistair Alistair_Bayley at invescoperpetual.co.uk
Fri Oct 5 04:59:58 EDT 2007


> From: haskell-cafe-bounces at haskell.org 
> [mailto:haskell-cafe-bounces at haskell.org] On Behalf Of Don Stewart
> 
> > > It was raised at CUFP today that while Python has:
> > > ...
> > > Note its all about how it can help you.
> > >
> > > The Haskell website has the rather strange motivational text:
> > > ...
> > 
> > Can't we embrace the power of 'and'? It's wonderful that Haskell is
> > seeing more practical use, but we shouldn't forget the foundations,
> > either. Maybe we should put your second description first, 
> and *then*
> > have a paragraph saying, "and, for those who know what these are,
> > polymorphism, monadic effects, etc."? Only describing 
> Haskell in terms
> > of software engineeering doesn't seem right to me.
> 
> Yes, I think that's the best step. Combine both why you'd use it, with
> what unique features enable this. 


Well, wouldn't it be best to define your audience first? At the risk of
alienating Pythonistas...

The Python home page is very much snake oil (as Albert points out). But
it appears that they're aiming squarely at the average gormless
C/C++/VB/Java drone who's heard a bit about some exciting dynamic
language called "python". And I think they do a pretty good job at
marketing to this segment: the python.org website is certainly sexier
than haskell.org, and the promotional text is in prime position, *in
bold*.

BTW, the Ruby website ( http://www.ruby-lang.org/en/ ) is quite similar
in promotional style, and has an even sexier design. They're making the
most of the attention ruby-on-rails has generated.

So the question becomes: do you want to attract/seduce this kind of
programmer? Let's assume the answer is yes :-) ... Then what sort of
language should you use in your promotional paragraph? I don't think
"polymorphism", "monads/monadic effects", "higher order functions", and
even "type classes" should be used. These terms will be universally
unfamiliar to the target audience, and will alienate them. I agree with
Tim that Haskell's sound foundations are great and should be promoted;
but perhaps in woolier language?

Something to bear in mind is that if your reader does know what
higher-order functions, type classes, and monads are, then it is likely
that they already have a good idea of what Haskell is. Preaching to the
converted.

> Only describing Haskell in terms
> of software engineeering doesn't seem right to me.

If you assume the same target audience as above, to me it seems right to
*only* use software engineeering terms, because they're about the only
terms that will be understood.

So here are some points I think we could make, in software engineering
terms:
 - more concise, readable code (like other functional languages, such as
Erlang, Scheme, Lisp)
 - sound theoretical foundation (language is well-defined and logical).
Code with side-effects is separated from purely functional code.
 - more reliable (no pointers, static type checking)
 - static type system superior to Java, C++, and C# - type inference
means it doesn't get in your way (I'd like to say something about how
the type system can reduce the amount of code you have to write through
good design of your data types and classes, but I don't know how...)
 - excellent integration with existing C code via one of the best FFI's
around
 - excellent support for concurrent and parallel programming
(forecasting the impending NDP implementation :-)
 - compilers generate fast code, in the same ballpark as C/C++
 - advanced testing tools like Quickcheck, plus the familiar xUnit clone
 - general purpose: can be used for servers, web-apps, desktop apps,
scripting


Alistair
*****************************************************************
Confidentiality Note: The information contained in this message,
and any attachments, may contain confidential and/or privileged
material. It is intended solely for the person(s) or entity to
which it is addressed. Any review, retransmission, dissemination,
or taking of any action in reliance upon this information by
persons or entities other than the intended recipient(s) is
prohibited. If you received this in error, please contact the
sender and delete the material from any computer.
*****************************************************************


More information about the Haskell-Cafe mailing list