How do people still not understand what FP is about? What are we doing wrong?

Saw this float by in twitter, and it made me a bit sad. Obviously this is still a large misunderstanding of FP in the larger programming community and it make me wonder what we FP enthusiasts are doing wrong to not get the message out to people. "Programming languages that require random senseless voodoo to get an effect are awesome. Let's make programming hard through poor design." [1] The sad thing about this is that the inverse of this has more truth to it; that "languages that allow people to intersperse side effects anywhere in their computation without thought are flawed by design and allow programmers to do stupid things that hinder the composability, thread safety and ability to reason of/about their code". Has anyone had any experience / success with convincing people that the "senseless voodoo" is actually a boon rather than a bane? Is it even worth trying to convince people so set in their ways? ( Sorry if this is even too off-topic for the cafe. Just needed a place to vent my frustration at this. ) Cheers, Ben [1] https://twitter.com/cwestin63/status/214793627170390018

Ben Kolera
"Programming languages that require random senseless voodoo to get an effect are awesome. Let's make programming hard through poor design." [1]
[...]
Is it even worth trying to convince people so set in their ways?
Someone saying something as stupid as this probably won't be convinced anyway. The statement shows that he didn't even take the time to actually learn what FP is about before judging, so chances are you're just wasting your time. Such people are stubborn enough not to be convinced even by actual code. Don't worry, though. This is really the exceptional case. In my experience most people actually get the point of FP and appreciate its better productivity, but simply don't feel like spending the time to learn it along with the associated complexity of unlearning what they previously knew. The other people are largely neutral or say that they personally can't imagine how that can make you productive (which is honest and objective and provides a base for further discussion). You just have to live with the fact that there will always be a small percentage of retarded people. It's best to just ignore them. Greets, Ertugrul -- Not to be or to be and (not to be or to be and (not to be or to be and (not to be or to be and ... that is the list monad.

On 18 June 2012 22:28, Ertugrul Söylemez
You just have to live with the fact that there will always be a small percentage of retarded people. It's best to just ignore them.
Well, they're not stupid. Just very stubborn. Like most programmers. Stupid people can be taught to be smarter, stubborn people don't want to be taught.

Christopher Done
You just have to live with the fact that there will always be a small percentage of retarded people. It's best to just ignore them.
Well, they're not stupid. Just very stubborn. Like most programmers. Stupid people can be taught to be smarter, stubborn people don't want to be taught.
Indeed there is a line to be drawn here. However, I think I can fit
both kinds of people under the adjective "retarded".
Greets,
Ertugrul
--
Key-ID: E5DD8D11 "Ertugrul Soeylemez

On Mon, Jun 18, 2012 at 10:51 PM, Ertugrul Söylemez
Indeed there is a line to be drawn here. However, I think I can fit both kinds of people under the adjective "retarded".
Off-topic: it would be even better to avoid using this ugly adjective to
describe anyone, as it is deeply offensive to many and unfairly
marginalizes the differently-abled.
G
--
Gregory Collins

On Mon, Jun 18, 2012 at 5:21 PM, Gregory Collins
On Mon, Jun 18, 2012 at 10:51 PM, Ertugrul Söylemez
wrote: Indeed there is a line to be drawn here. However, I think I can fit both kinds of people under the adjective "retarded".
Off-topic: it would be even better to avoid using this ugly adjective to describe anyone, as it is deeply offensive to many and unfairly marginalizes the differently-abled.
This. Please. -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

just to add to the ridiculousness quotient of this conversation http://web.archive.org/web/20080406183542/http://www.lisperati.com/landoflis... (i don't know where to find this other than in the web archive.) ben On Jun 18, 2012, at 1:44 PM, Christopher Done wrote:
On 18 June 2012 22:28, Ertugrul Söylemez
wrote: You just have to live with the fact that there will always be a small percentage of retarded people. It's best to just ignore them.
Well, they're not stupid. Just very stubborn. Like most programmers. Stupid people can be taught to be smarter, stubborn people don't want to be taught.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I believe you are observing and commiserating over what Paul Graham
famously refers to as "the blub paradox"[0].
Here is the problem from my perspective. It is a bootstrapping problem: you
have to think FP is good to invest the time to learn it, but you have to
invest a lot of time to learn it before you think it's good. This may be
why FP has found a place in academia--loads of smart people who want to
learn for the shear joy of learning.
In my experience, it is often useful to provide a person with another
motive to learn FP. If you can get them to learn anything at all, you can
hope to get the bootstrapping process going. For example, one friend of
mine really enjoys a good debate, but he really couldn't argue with me when
it came to FP and so he went off to learn it. Now we argue about Haskell vs
Scala for much more time than is productive, but he is sold on FP. In
another case a junior programmer asked me how he could be more productive
and I told him to learn FP.
Anyway, I don't think things are not as bleak as you might think. See, for
example [1]'s headline for the month of June. While not exactly
scientific, it is encouraging.
[0] - http://www.paulgraham.com/avg.html
[1] - http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
-J Arthur
On Mon, Jun 18, 2012 at 1:59 PM, Ben Kolera
Saw this float by in twitter, and it made me a bit sad. Obviously this is still a large misunderstanding of FP in the larger programming community and it make me wonder what we FP enthusiasts are doing wrong to not get the message out to people.
"Programming languages that require random senseless voodoo to get an effect are awesome. Let's make programming hard through poor design." [1]
The sad thing about this is that the inverse of this has more truth to it; that "languages that allow people to intersperse side effects anywhere in their computation without thought are flawed by design and allow programmers to do stupid things that hinder the composability, thread safety and ability to reason of/about their code".
Has anyone had any experience / success with convincing people that the "senseless voodoo" is actually a boon rather than a bane?
Is it even worth trying to convince people so set in their ways?
( Sorry if this is even too off-topic for the cafe. Just needed a place to vent my frustration at this. )
Cheers, Ben
[1] https://twitter.com/cwestin63/status/214793627170390018
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Mon, Jun 18, 2012 at 1:39 PM, Jonathan Geddes
I believe you are observing and commiserating over what Paul Graham famously refers to as "the blub paradox"[0].
Here is the problem from my perspective. It is a bootstrapping problem: you have to think FP is good to invest the time to learn it, but you have to invest a lot of time to learn it before you think it's good. This may be why FP has found a place in academia--loads of smart people who want to learn for the shear joy of learning.
I might be an "exceptional" case. I learned Perl of all things first. But I studied mathematics as an undergraduate, and found myself using "abstract" mathematical reasoning in order express and refactor computation all the time. A strongly typed, truly functional language makes it so that my insights are in fact static guarantees instead of relatively fragile reasoning that somebody else might break with a badly placed side effect -- and also relieved me of the burden of making sure there /weren't/ any badly placed side effects in a long computation. A lot of my procedural, OO peers really hated it when I did some of these transformations. Until they saw, by example, that the "complexity" I introduced was simplification. I stopped them from thinking about boxes, the things they contain, and moving things around in "space and time" and into thinking about the problem they were trying to solve. It also meant less typing, an easier time adding features, and easier maintenance. The code was harder to "read", but easier to make sense of. But I think the OP is just an invitation to philosophize about our superiority.

On Tue, Jun 19, 2012 at 05:59:57AM +1000, Ben Kolera wrote:
Saw this float by in twitter, and it made me a bit sad. Obviously this is still a large misunderstanding of FP in the larger programming community and it make me wonder what we FP enthusiasts are doing wrong to not get the message out to people.
"Programming languages that require random senseless voodoo to get an effect are awesome. Let's make programming hard through poor design." [1]
If you click through and look at his later tweets, it's clear he's talking about Objective-C. Unless you're suggesting Objective-C is the language of FP enthusiasts, i think it's safe to say you heard him out of context. :) -john

Agreed, definitely out of context now that he has inadvertently cleared that up since this post. That thing that they say about jumping to assumptions … definitely well proven and in force today. Shouldn't be posting to mailing lists so early in the morning. :-/ To be clear though, this post wasn't about calling anyone stupid. Chris most certainly isn't. Calling people stupid just because they disagree with you is a pretty awful thing and doesn't convince anyone anything. Maybe it was poorly worded, but I was more after ways to educate people why things are the way they are in haskell land and what powers that brings. The person is still able to disagree with that and prefer the old ways, but at least their decision wasn't fuelled by ignorance; which is the most important thing. But yeah; this is all out of context so all of the above is fairly moot, anyhow. Apologies for the wild early-morning assumptions, everyone! Cheers, Ben On Tuesday, 19 June 2012 at 6:43 AM, john melesky wrote:
On Tue, Jun 19, 2012 at 05:59:57AM +1000, Ben Kolera wrote:
Saw this float by in twitter, and it made me a bit sad. Obviously this is still a large misunderstanding of FP in the larger programming community and it make me wonder what we FP enthusiasts are doing wrong to not get the message out to people.
"Programming languages that require random senseless voodoo to get an effect are awesome. Let's make programming hard through poor design." [1]
If you click through and look at his later tweets, it's clear he's talking about Objective-C.
Unless you're suggesting Objective-C is the language of FP enthusiasts, i think it's safe to say you heard him out of context. :)
-john
participants (9)
-
Alexander Solla
-
Ben
-
Ben Kolera
-
Brandon Allbery
-
Christopher Done
-
Ertugrul Söylemez
-
Gregory Collins
-
john melesky
-
Jonathan Geddes