Elevator pitch for Haskell.

This page (http://www.npdbd.umn.edu/deliver/elevator.html) has a template for an "elevator pitch". This is what you say to someone when you have 30 seconds to explain your big idea, for instance if you find yourself in an elevator with them. I thought I'd try instantiating it for Haskell. For software developers who need to produce highly reliable software at minimum cost, Haskell is a pure functional programming language that reduces line count by 75% through reusable higher order functions and detects latent defects with its powerful static type system. Unlike Ada and Java, Haskell allows reusable functions to be combined without the overhead of class definitions and inheritance, and its type system prevents the hidden side effects that cause many bugs in programs written in conventional languages. Comments? Paul.

It's very nice, but I would say that anyone who needs an elevator pitch shouldn't be using or working with Haskell. Haskell is for people who already "get it". I've had job offers from people just because they knew I _liked_ Haskell, even though they weren't asking me to use it for the job. OTOH, something like this might be useful for pitching Haskell to students, which is where the real growth opportunities are (minds not yet closed). Mike Paul Johnson wrote:
This page (http://www.npdbd.umn.edu/deliver/elevator.html) has a template for an "elevator pitch". This is what you say to someone when you have 30 seconds to explain your big idea, for instance if you find yourself in an elevator with them. I thought I'd try instantiating it for Haskell.
For software developers who need to produce highly reliable software at minimum cost, Haskell is a pure functional programming language that reduces line count by 75% through reusable higher order functions and detects latent defects with its powerful static type system. Unlike Ada and Java, Haskell allows reusable functions to be combined without the overhead of class definitions and inheritance, and its type system prevents the hidden side effects that cause many bugs in programs written in conventional languages.
Comments?
Paul.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Paul,
It's a good start, but it's a little too "feature" oriented rather than
"benefits" oriented.
Features: makes programmers more productive, allows projects to grow larger,
allows maintenance teams to pick up the code with less skills xfer, faster
time to market and faster and more reliable changes to existing systems.
All features boil down to improving bottom line (saving money), improving
top line (creating more revenue), or customer satisfaction.
My 2 cents (aka 1.2 euro pennies)
Thanks,
David
On 9/4/07, Paul Johnson
This page (http://www.npdbd.umn.edu/deliver/elevator.html) has a template for an "elevator pitch". This is what you say to someone when you have 30 seconds to explain your big idea, for instance if you find yourself in an elevator with them. I thought I'd try instantiating it for Haskell.
For software developers who need to produce highly reliable software at minimum cost, Haskell is a pure functional programming language that reduces line count by 75% through reusable higher order functions and detects latent defects with its powerful static type system. Unlike Ada and Java, Haskell allows reusable functions to be combined without the overhead of class definitions and inheritance, and its type system prevents the hidden side effects that cause many bugs in programs written in conventional languages.
Comments?
Paul.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- lift, the fast, powerful, easy web framework http://liftweb.net

Paul,
This page (http://www.npdbd.umn.edu/deliver/elevator.html) has a template for an "elevator pitch". I thought I'd try instantiating it for Haskell. For software developers who need to produce highly reliable software at minimum cost...
Looks like a good pitch for developers. Here's my attempt for management: For software project leaders looking to decrease the risk of software construction in large componentized systems. Haskell is a programming language where software components can be built safely and predictably from existing components without increasing the system's overall complexity. Unlike Java or C, Haskell functions are called 'safe' because each function either explicitly states its side effects or is guaranteed to have none. Thanks, Greg

And here's my guide for public health officials... WARNING: Learning Haskell is dangerous to your health! Disguised as a fully-functional programming language, Haskell is actually a front for a working math-lab, supported by a cult of volunteers seeking to ensnare weak-headed but normal programmers susceptible to the dogma that laziness is a virtue. Though cut with syntactic sugar to be more palatable to newbies, each Haskell construct is in fact a contagious mix of higher-order functions, lambda expressions, and partial applications, a highly addictive gateway drug to category theory, initial algebras, and greco-morphisms. Some users have gotten trapped inside an IO monad unable to get out safely, and even gone mad trying to decipher commutative diagrams or perfect their own monad tutorial. Signs of addiction include prefixing co- to random words or needlessly replacing recursive functions with combinators and pointfree notation. The least fixed point of this unnatural transformation is the inability to find joy in the use of imperative programming languages. In some cases, hackage is irreversible and can lead to uncontrolled blogging. Further study is needed to understand the strong correlation between intelligence and Haskell addiction. Meanwhile, those at risk should be made to program in teams to suppress their creative drive. Dan Weston Paul Johnson wrote:
This page (http://www.npdbd.umn.edu/deliver/elevator.html) has a template for an "elevator pitch". This is what you say to someone when you have 30 seconds to explain your big idea, for instance if you find yourself in an elevator with them. I thought I'd try instantiating it for Haskell.
For software developers who need to produce highly reliable software at minimum cost, Haskell is a pure functional programming language that reduces line count by 75% through reusable higher order functions and detects latent defects with its powerful static type system. Unlike Ada and Java, Haskell allows reusable functions to be combined without the overhead of class definitions and inheritance, and its type system prevents the hidden side effects that cause many bugs in programs written in conventional languages.
Comments?
Paul.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Awesome! I'm reminded of the IRC post that said that "Haskell is bad, it makes you hate other languages." Mike Dan Weston wrote:
And here's my guide for public health officials...
WARNING: Learning Haskell is dangerous to your health!
Disguised as a fully-functional programming language, Haskell is actually a front for a working math-lab, supported by a cult of volunteers seeking to ensnare weak-headed but normal programmers susceptible to the dogma that laziness is a virtue.
Though cut with syntactic sugar to be more palatable to newbies, each Haskell construct is in fact a contagious mix of higher-order functions, lambda expressions, and partial applications, a highly addictive gateway drug to category theory, initial algebras, and greco-morphisms.
Some users have gotten trapped inside an IO monad unable to get out safely, and even gone mad trying to decipher commutative diagrams or perfect their own monad tutorial. Signs of addiction include prefixing co- to random words or needlessly replacing recursive functions with combinators and pointfree notation. The least fixed point of this unnatural transformation is the inability to find joy in the use of imperative programming languages. In some cases, hackage is irreversible and can lead to uncontrolled blogging.
Further study is needed to understand the strong correlation between intelligence and Haskell addiction. Meanwhile, those at risk should be made to program in teams to suppress their creative drive.
Dan Weston
Paul Johnson wrote:
This page (http://www.npdbd.umn.edu/deliver/elevator.html) has a template for an "elevator pitch". This is what you say to someone when you have 30 seconds to explain your big idea, for instance if you find yourself in an elevator with them. I thought I'd try instantiating it for Haskell.
For software developers who need to produce highly reliable software at minimum cost, Haskell is a pure functional programming language that reduces line count by 75% through reusable higher order functions and detects latent defects with its powerful static type system. Unlike Ada and Java, Haskell allows reusable functions to be combined without the overhead of class definitions and inheritance, and its type system prevents the hidden side effects that cause many bugs in programs written in conventional languages.
Comments?
Paul.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Michael Vanier wrote:
Awesome!
I'm reminded of the IRC post that said that "Haskell is bad, it makes you hate other languages."
How true it is... I've often thought about a sort of "elevator pitch" for Haskell. However, every time I sit down to think about this, I come to the same conclusion: Haskell isn't "ready" yet. It's sad but it's true. Think about it; if you're a normal programmer trying to write real-world programs, the very first things you're likely to want to do include: * Create sophisticated GUIs. * Read and write standard binary file formats. (Images, compressed files, etc.) * Talk to a database. * Use various network protocols (possibly custom, possibly standardised). * Access the Windoze registry and play with COM stuff. * Get system-specific file information (protection bits, modification times, security information, etc.) * Query the OS. (How many CPUs? How much RAM? What is my IP address?) I don't know how to do any of that in Haskell. Some of it can be done, just not very easily. Other items are, AFAIK, impossible. And then there's just random stuff like the Prelude numeric classes being "broken", the fact that the array API is virtually skeletal compared to what you can do with lists, the lack of a clean, standardised character encoding system [that handles more than 2 encodings], etc. I'd like to think that Haskell will soon be "ready" for prime-time. But let's face it, the language is 20 years old already...

andrewcoppin:
Michael Vanier wrote:
Awesome!
I'm reminded of the IRC post that said that "Haskell is bad, it makes you hate other languages."
How true it is...
I've often thought about a sort of "elevator pitch" for Haskell. However, every time I sit down to think about this, I come to the same conclusion: Haskell isn't "ready" yet. It's sad but it's true. Think about it; if you're a normal programmer trying to write real-world programs, the very first things you're likely to want to do include:
* Create sophisticated GUIs.
gtk2hs
* Read and write standard binary file formats. (Images, compressed files, etc.)
Data.Binary, along with the host of *Codec* libs now on hackage.
* Talk to a database.
There's 10 or so database libraries
* Use various network protocols (possibly custom, possibly standardised).
See Data.Binary, and hackage.
* Access the Windoze registry and play with COM stuff.
Harder, though people do do this on occasion.
* Get system-specific file information (protection bits, modification times, security information, etc.)
System.*
* Query the OS. (How many CPUs? How much RAM? What is my IP address?)
System.*
I don't know how to do any of that in Haskell. Some of it can be done, just not very easily. Other items are, AFAIK, impossible.
All very doable, most trivially. Just not widely described in tutorials, perhaps? -- Don

Hi
* Create sophisticated GUIs.
Gtk2hs. Could do with a nice wrapper on that, but Conal is doing some interesting stuff, and I've got PropLang on the back burner. People are thinking the right thoughts, it just needs time.
* Read and write standard binary file formats. (Images, compressed files, etc.)
Data.Binary is the low level frameworks, now people can pick up the rest.
* Talk to a database.
Databases are dead, long live flat files :-) It's possible, but I don't have a clue how.
* Use various network protocols (possibly custom, possibly standardised).
The great thing about Data.Binary is that its for binary stuff, whether it be networks or files.
* Access the Windoze registry and play with COM stuff.
H/Direct, System.Win32. My only question is why you want to build non-portable software when Haskell is so beautifully portable.
* Get system-specific file information (protection bits, modification times, security information, etc.)
THe Unix stuff does all this, and the win32 stuff does it on Windows.
* Query the OS. (How many CPUs? How much RAM? What is my IP address?)
Easy enough, if anyone took the time to FFI to a library.
I don't know how to do any of that in Haskell. Some of it can be done, just not very easily. Other items are, AFAIK, impossible.
All of it can be done. The problem is that it hasn't been done, since Haskell libraries tend to be written lazily, usually after the need is present.
And then there's just random stuff like the Prelude numeric classes being "broken", the fact that the array API is virtually skeletal compared to what you can do with lists, the lack of a clean, standardised character encoding system [that handles more than 2 encodings], etc.
All these things are minor. The Prelude numeric classes aren't "broken" - they don't quite match what a mathematician might have picked, but its certainly easy enough to do numeric operations! The array API is a bit poor, but should never be used - lists are more functional.
I'd like to think that Haskell will soon be "ready" for prime-time. But let's face it, the language is 20 years old already...
Most of your problems are lack of libraries. We've had Cabal in mainstream for maybe a year, hackage is even newer. People know where the problems are, and they are being fixed. Haskell as a "language" is pretty much done, people just like tweaking the corners. Thanks Neil

On Sat, Sep 08, 2007 at 05:44:47PM +0100, Neil Mitchell wrote:
I'd like to think that Haskell will soon be "ready" for prime-time. But let's face it, the language is 20 years old already...
Most of your problems are lack of libraries. We've had Cabal in mainstream for maybe a year, hackage is even newer. People know where the problems are, and they are being fixed. Haskell as a "language" is pretty much done, people just like tweaking the corners.
I'd like to add that, until very recently, Haskell wasn't even *trying* to be "ready for prime time". It takes an athlete many years to get from the cradle to the finish line, but that's not how we score them! Stefan

Stefan O'Rear wrote:
I'd like to add that, until very recently, Haskell wasn't even *trying* to be "ready for prime time". It takes an athlete many years to get from the cradle to the finish line, but that's not how we score them!
Ah yes - "avoid success at all costs". Pitty... I really love the language, and I want to *do* stuff with it. Still, everybody keeps muttering that "functional is the next big thing", and Erlang is taking over the world, so many Haskell's day will come. (I somewhat fear however that what will *actually* happen is that some much more ugly language will come along and take all the glory, and Haskell will be forgetten forever. Much like the way C and Pascal are both structured languages, Pascal is infinitely superior to C, but Pascal is an obsolete relic and C refuses to die.)

Hi
Data.Binary is the low level frameworks, now people can pick up the rest. Last time I checked, there's about half a dozen "binary" packages. All incompatible. All with different design. Seriously not obvious which one to use...
Data.Binary is the answer, http://www.cse.unsw.edu.au/~dons/binary.html
The Unix stuff does all this, and the win32 stuff does it on Windows. Mmm... looks lovely. Any danger of documentation?
msdn.microsoft.com - if you know the C API, you can figure out the Haskell one. No one should ever have to learn the Win32 API though, its horrible.
Still, everybody keeps muttering that "functional is the next big thing", and Erlang is taking over the world, so many Haskell's day will come.
I quite like the fact that I'm massively more productive than most other programmers - at the end of the day that's what will make me worth more money and happier than everyone else. Haskell might never be popular, that's fine by me - I like elegance much more than cheerleading :-) * Thanks Neil * Of course, all the cheerleading leads to more libraries which makes me more productive and happier, so its all a win in the end.

Stefan O'Rear wrote:
I'd like to add that, until very recently, Haskell wasn't even *trying* to be "ready for prime time".
This is a subject that comes up in Ruby-land quite a bit. It piques my curiosity. Obviously, Haskell is not, on its own, sentient. (Nor is the Haskell community a hivemind.) *People* want Haskell to be "ready for prime time." Who (besides SPJ) are those people? Why? As for the latter, the reason I hear most often is "I want to be able to use the language at my job."* Yet, I have heard two presentations from people who studied the history of Smalltalk/Java/etc. and came to the (informal) conclusion that the very things that enable the language to cross the chasm are the very things that make people like us want to start looking for a new language. A second reason, that Neil mentioned, was "I want more libraries." I have no argument with that. :) Any others? * This is somewhat odd, as the strong majority of vocal Rubyists /are/ using it at their job. Perhaps they're preparing for the condition that they lose their job and have to take one up at a Fortune 500 or something. Devin

On Sun, 9 Sep 2007, Devin Mullins wrote:
As for the latter, the reason I hear most often is "I want to be able to use the language at my job."* Yet, I have heard two presentations from people who studied the history of Smalltalk/Java/etc. and came to the (informal) conclusion that the very things that enable the language to cross the chasm are the very things that make people like us want to start looking for a new language.
Any links to these presentations? I'm interested. Thanks. Brian

Brian Hurt wrote:
Any links to these presentations? I'm interested. Videos: http://rubyhoedown2007.confreaks.com/session04.html http://rubyhoedown2007.confreaks.com/session07.html
Unfortunately, I couldn't find any slides for download. Watch at your own peril! Devin

On Mon, 10 Sep 2007, Devin Mullins wrote:
Brian Hurt wrote:
Any links to these presentations? I'm interested. Videos: http://rubyhoedown2007.confreaks.com/session04.html
Actually, this video has an interesting bit, relevent to this discussion. He doesn't phrase it as an "elevator pitch", but that's what it is. When he's talking about his first Ruby job, he was approached by a company thinking of doing a web app in Java. His response: "Give me your best bid for doing in Java- take of 30% of the cost and cut the delivery time in half, and I'll do it in Ruby for that." Managers don't understand (or care about, generally) technology- but they understand time, and they understand money. So there's your elevator pitch- "You're looking at doing project X in language Y- I can do it in Haskell for 30% less money and in half the time." All you need to do is fill in the correct values for X and Y. Brian

Devin Mullins wrote:
As for the latter, the reason I hear most often is "I want to be able to use the language at my job."*
-- snip -- * This is somewhat odd, as the strong majority of vocal Rubyists /are/ using it at their job.
Not without risk though. Their necks get wrung if things break, an ordinary case of "No one got fired for using <insert name brand here/>." Price tags of "industry best practice" technologies have sizable, hidden insurance components. Devin Mullins wrote:
Perhaps they're preparing for the condition that they lose their job and have to take one up at a Fortune 500 or something.
-- View this message in context: http://www.nabble.com/Elevator-pitch-for-Haskell.-tf4380572.html#a12605053 Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

Neil Mitchell wrote:
* Read and write standard binary file formats. (Images, compressed files, etc.)
Data.Binary is the low level frameworks, now people can pick up the rest.
Last time I checked, there's about half a dozen "binary" packages. All incompatible. All with different design. Seriously not obvious which one to use...
Databases are dead, long live flat files :-)
LOL! That's cute...
* Use various network protocols (possibly custom, possibly standardised).
The great thing about Data.Binary is that its for binary stuff, whether it be networks or files.
Does it enable you to, say, send raw ICMP packets? AFAIK, Haskell supports TCP, and nothing else. (A while back I wanted to write an automated pinging program. But the only way I could figure out how to do it is to call the OS "ping" utility and attempt to parse what it writes to stdout. Oh, did I mention that's different on WinNT, WinXP and UNIX?)
* Access the Windoze registry and play with COM stuff.
H/Direct, System.Win32. My only question is why you want to build non-portable software when Haskell is so beautifully portable.
Portable is all good. But being unable to use something just to be "portable" isn't so good. If some guy wants to develop a Windoze app and you say "oh, sorry, Haskell can't do that, it would be non-portable", they're going to go somewhere else.
* Get system-specific file information (protection bits, modification times, security information, etc.)
The Unix stuff does all this, and the win32 stuff does it on Windows.
Mmm... looks lovely. Any danger of documentation? (I suppose I could try and guess what this stuff does. And arguably if you find yourself needing to know what access permissions there are on a file, you probably already need to be intimately familier with the ugly innards of Win32...)
* Query the OS. (How many CPUs? How much RAM? What is my IP address?)
Easy enough, if anyone took the time to FFI to a library.
IOW, it could be done, but it hasn't been. (I'd try it myself, but I don't know C and I don't know how you'd get at this information from C anyway.)
The array API is a bit poor, but should never be used - lists are more functional.
Yes, that's right - because nobody ever needs random access to a very large data structure, do they? ;-)
Most of your problems are lack of libraries.
I agree. This is what pains me so much. Haskell is yet another beautiful language that utterly lacks the necessary libraries to turn it into a real-world useful tool for world domaination. All that power and no way of getting it to the tires... :-(
We've had Cabal in mainstream for maybe a year, hackage is even newer. People know where the problems are, and they are being fixed.
Yeah, sure. It's easy to compain about other people's hard work. Unfortunately, I don't have anything useful to contribute in that direction. Which ends up making me just sound like some person who enjoys whining about everything. BTW, can somebody explain to me what the heck Cabal *is*. I really don't get this. What is it for, and what is it supposed to do?

On 2007-09-08, Neil Mitchell
All these things are minor. The Prelude numeric classes aren't "broken" - they don't quite match what a mathematician might have picked, but its certainly easy enough to do numeric operations!
They can be used, but they don't break down in nice ways to make extensions easier, precisely because they don't match what a mathematician would have picked. They are indeed broken. -- Aaron Denney -><-

Hello Andrew, Saturday, September 8, 2007, 8:36:06 PM, you wrote:
* Access the Windoze registry and play with COM stuff. * Get system-specific file information (protection bits, modification times, security information, etc.) * Query the OS. (How many CPUs? How much RAM? What is my IP address?)
getProcessorsCount = siNumberOfProcessors (unsafePerformIO getSystemInfo) you definitely should look into Win32 library. even if it not implements some things you need, you will get an idea how to do it -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

WARNING: Learning Haskell is dangerous to your health!
:-) I liked that so much I made a hazard image to go with it. http://malde.org/~ketil/Hazard_lambda.svg -k

Ketil Malde wrote:
WARNING: Learning Haskell is dangerous to your health!
:-) I liked that so much I made a hazard image to go with it.
Cool! Can we have a license to reuse that image? (I want it on a T-shirt) Cheers, Simon

On Wed, 2007-09-05 at 12:06 +0100, Simon Marlow wrote:
Ketil Malde wrote:
WARNING: Learning Haskell is dangerous to your health!
:-) I liked that so much I made a hazard image to go with it.
Cool! Can we have a license to reuse that image? (I want it on a T-shirt)
Hereby licensed free for any imaginable use including creation of derivative works. However, there is no warranty, neither express nor implied of ever understanding category theory. :-) -k

Simon Marlow writes:
Ketil Malde wrote:
WARNING: Learning Haskell is dangerous to your health!
:-) I liked that so much I made a hazard image to go with it. http://malde.org/~ketil/Hazard_lambda.svg
Cool! Can we have a license to reuse that image? (I want it on a T-shirt)
People, are you crazy, with my deepest respect and friendliness... You want to frighten newbies? it seems that they have already a good dose of allergy... Some of them may *really* believe in that IRC citation, that Haskell is bad since it makes people hate other languages. Actually, Haskell encouraged me to look more profoundly into other languages such as Parsertongue, and, well, you know better than myself that a good wizard is morally not allowed to hate Muggles. Unless they become a nuisance. And a good wizard is sweet as a lamb, and Unforgivable Spells like "Monado!" are to be used only when unavoidable. Please be kind and cheerful. Don't attept to say to innocent that what is on this picture http://www.mansfield.ohio-state.edu/~sabedon/images/lambda_twins.jpg are Dark Marks... Jerzy Karczmarczuk

I agree actually. That picture, while very cool, won't help Haskell marketing one bit. :) Lisp's "made with alien technology" is much more inviting: http://www.lisperati.com/logo.html . I wish we could use it!

On Wed, 2007-09-05 at 09:54 -0700, Simon Michael wrote:
I agree actually. That picture, while very cool, won't help Haskell marketing one bit. :)
Avoid success at all costs, remember?
Lisp's "made with alien technology" is much more inviting: http://www.lisperati.com/logo.html .
True. Perhaps we can take it, but change the text to advanced "Made with V alien technology" ? Albert Y.C. Lai wrote:
I have also looked at the culture of people 10-20 years younger than me.
To wit: I put the lambda-hazard skull on my door, and fifteen minutes later a (admittedly young) colleague was asking about the lambda symbol, and I was extolling the virtues of functional programming. :-) -k

Perhaps your (admittedly young) colleague had other reasons to inquire... It turns out that (in the US at least) the lambda symbol is one of the symbols of gay pride since the 1970's: http://en.wikipedia.org/wiki/LGBT_symbol#Lambda If you google "lambda gay" you will find many more references. There may be a crossover marketing opportunity there for functional programming: a rainbow T-shirt with a giant pink lambda symbol, and on the back: "Lambda: the sign of a functional lifestyle" As gays are much better organized than Haskellers, this could be a big win in exposure for Haskell, like wearing Maxwell's equations on a T-shirt at a Grateful Dead concert! :) Dan Weston Ketil Malde wrote:
On Wed, 2007-09-05 at 09:54 -0700, Simon Michael wrote:
I agree actually. That picture, while very cool, won't help Haskell marketing one bit. :)
Avoid success at all costs, remember?
Lisp's "made with alien technology" is much more inviting: http://www.lisperati.com/logo.html .
True. Perhaps we can take it, but change the text to advanced "Made with V alien technology" ?
Albert Y.C. Lai wrote:
I have also looked at the culture of people 10-20 years younger than me.
To wit: I put the lambda-hazard skull on my door, and fifteen minutes later a (admittedly young) colleague was asking about the lambda symbol, and I was extolling the virtues of functional programming. :-)
-k
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

jerzy.karczmarczuk@info.unicaen.fr wrote:
People, are you crazy, with my deepest respect and friendliness... You want to frighten newbies? it seems that they have already a good dose of allergy...
I am way over 30 years old, and my age would have me agree with you. But I have also looked at the culture of people 10-20 years younger than me. The present generations of programming beginners. They grew up with The Simpsons, Beavies And Butthead, Ren And Stimpy, South Park, SpongeBob SquarePants... In MTVs they watched (and still watch) incoherent scenes and periodic Gaussian noise. Those things disturbing to us don't frighten them. It's their daily bread. Most likely, our elegance frightens them more. Or at least disgusts them more. Show them a skull and a couple of dead body fragments, play some white noise at 100dB as background music, and they're more likely to tune in to you. That the cranium of that skull is bigger than average helps a long way, too.

Dan Weston wrote:
WARNING: Learning Haskell is dangerous to your health!
Though cut with syntactic sugar to be more palatable to newbies, each Haskell construct is in fact a contagious mix of higher-order functions, lambda expressions, and partial applications, a highly addictive gateway drug to category theory, initial algebras, and greco-morphisms.
I wonder if I even want to *know* what those are... o_O
Signs of addiction include prefixing co- to random words or needlessly replacing recursive functions with combinators and pointfree notation.
Hmm... well I haven't started doing *that* yet...
In some cases, hackage is irreversible and can lead to uncontrolled blogging.
OMG! I'm an addict! x_x -- http://blog.orphi.me.uk/

Paul Johnson wrote:
For software developers who need to produce highly reliable software at minimum cost, Haskell is a pure functional programming language that reduces line count by 75% through reusable higher order functions and detects latent defects with its powerful static type system. Unlike Ada and Java, Haskell allows reusable functions to be combined without the overhead of class definitions and inheritance, and its type system prevents the hidden side effects that cause many bugs in programs written in conventional languages.
If you blurt that one out to a typical IT manager, you will have a guaranteed *DUMMY MODE ON* response consisting mostly of grunts and other guttural noises. If delivered in 30 seconds, that particular passage is pretty heavy even for a Haskell programmer. Niko
participants (20)
-
Aaron Denney
-
Albert Y. C. Lai
-
Andrew Coppin
-
Brian Hurt
-
Bulat Ziganshin
-
Dan Weston
-
David Pollak
-
Devin Mullins
-
Don Stewart
-
Greg Fitzgerald
-
jerzy.karczmarczuk@info.unicaen.fr
-
Ketil Malde
-
Kim-Ee Yeoh
-
Michael Vanier
-
Neil Mitchell
-
Niko Korhonen
-
Paul Johnson
-
Simon Marlow
-
Simon Michael
-
Stefan O'Rear