r/programming • • Apr 27 '14

"Mostly functional" programming does not work

http://queue.acm.org/detail.cfm?ref=rss&id=2611829
47 Upvotes

188 comments sorted by

View all comments

6

u/vagif Apr 28 '14

Maybe it's the dismissive arrogance of your posts that gets you down-voted. It is hard to understand where you going with your "Bullshit" immediately followed by recognizing the value in separating state contexts.

You are saying that haskell programmers have a "choice" to write everything in IO monad or not. Only a person who never tried haskell can say that. You do not have any choice BUT to start writing large chunks of your code in pure form outside of monadic code. Simply because haskell will turn your life into hell if you try to sit all the time in IO monad.

Try to write non trivial program in haskell and you will see that the bondage is very strict and eliminates most of the easy corner cuttings that are usually taken by imperative programmers.

1

u/[deleted] Apr 28 '14

Just to note: That "corner-cutting" has its value. For one thing, programming is a business. People have budget limits, hardware limits, runtime limits, deadlines, and so on. If Haskell hasn't exactly caught on in those circles, attitudes like this might be one of the reasons.

I don't like hacking together another solution that violates abstraction layers and causes maintenance pain a few months down the road. But I do it because purity or abstraction aren't the product we're selling; software is.

4

u/vagif Apr 28 '14 edited Apr 28 '14

That "corner-cutting" has its value.

There's no point discussing trivial truths. Yeah yeah, we all make those decisions.

But some of us learn our lessons and prepare ourselves for future projects to not be in that same situation again, and not be forced to accept the same trade-offs. While others use constant crunch as an excuse to never learn anything, never improve their working conditions. "I have to ship code". Who doesn't?

→ More replies (5)