
No future for functional programming in 2008 - drm237
http://stephan.reposita.org/archives/2008/01/21/no-future-for-functional-programming-in-2008-scala-f-and-nu/
======
pmjordan
Wow. So, from what I can tell, his argument that functional languages have no
future, is that they're not imperative, inherently object-oriented languages,
and that they're not strictly typed. Well, that may be so. So really what's
going on here is that he's not willing to learn and understand how functional
languages really work. (and how they are put to best use)

"The jury is still out, but I wouldn't bet on scalability. As a project
manager during the 90s two of my projects didn't scale and had to be
rewritten, one in Python and one in Perl. But it could just be me."

Yes, I have a feeling it might indeed just be you.

~phil

~~~
icky
He can't scale because he doesn't grok state: a direct consequence of his not
understanding functional programming.

------
binarykeats
The clarity, or lack thereof, of the way various languages define classes has
nothing whatsoever to do with the utility of functional programming. I don't
think these examples could have missed the point more.

~~~
Tichy
Still, it would be nice to have some examples of pretty functional code for
real world applications (like a blog).

I've started learning Scheme again recently, and some things are pure bliss,
but others are horrible. Maybe I am spoiled by Java, but for some things I
really can't imagine how to properly code them without objects. As an example
for something ugly, look at the hashtables in MzScheme.

~~~
boredguy8
Something like (Implementing a blog in Common
Lisp)[<http://dirtyhack.org/vetler/docs/cl-webapp-intro/part-1/>]?

~~~
binarykeats
I just noticed that that's where the guy pulled his example from! I also
noticed how badly it supports his argument. That definition of the blog-post
class also gives you accessors and a constructor, which would be more verbose
to define in Java or C++.

*Edited for clarity

------
gills
I get the feeling that by "in the enterprise" he means "in a cover-your-ass
environment". Pointy-haired people and their followers seem to single out
things they don't understand as the sources of problems. In that context,
using Java or some other safe/soul-killing/curly-brace language might be
better than putting your neck on the block promoting a functional solution,
regardless of the increased productivity.

Shame, really...

------
Hexstream
Premise: If you don't even understand the simplest pieces of syntax of a
language, you don't even grasp the basics.

Premise: You shouldn't criticize that which you don't even understand the
basics of.

Premise: This guy gets lost with only a simple piece of defclass.

Conclusion: He should talk less and learn more about Lisp.

------
eVizitei
I think the author of this article may have missed the boat on functional
programming languages. After all, a functional paradigm is not the same as an
object-oriented paradigm, so if a functional language is a little verbose when
dealing with objects I don't think that disqualifies it as a useful language.

~~~
binarykeats
The joke is that he implies the languages' FP orentation causes them to have
clunky ways to define classes. Ruby is a good counter to that argument. It has
one of the cleanest class-defining syntaxes out there. And you can actually
write your own functions that behave like "attr_accessor", making your class
definitions even more readable.

Guess how you do it? A combination of metaprogramming and closures.

------
bayareaguy
_What happend to Haskell and Erlang, the functional hypes of 2006 and 2007?
The Blogosphere has mainly lost interest in those lately._

I see. So "no future" == "you won't get as many digs blogging functional
languages" in 2008. That may be a good thing if it lowers the S/N ratio.

------
hassy
Bah, whatever. I'm busy getting stuff done with Erlang.

~~~
davidw
Erlang took the right approach by making something that has some real
advantages in the real world. Don't just tell us it's a "better language" -
show us by building something real that's not easily replicated.

~~~
hassy
I'm not trying to tell anyone it's a "better language". I have neither time,
nor desire to do that. As I said, I'm busy getting things done. :)

As for building something, how about a non-trivial application with no
analogues out there, 6 months, 3 people, 15KLOC of nice tight code, and public
beta planned for spring? <http://hypernumbers.com>

~~~
davidw
I was actually saying that Erlang has 'shown' - if nothing else, at Ericsson.
It's the other guys - Haskell and company - that need to do more building and
less talking about monads and things of that ilk.

~~~
hassy
The thought that I might've misunderstood what you were trying to say did
cross my mind while I was writing that second comment. :)

I agree with what you are saying. Erlang has some ugly corners, but all-in-all
it's awesome, and it turned out awesome because its designers had practicality
as the major design goal, and have used the language themselves extensively to
solve real problems. Erlang's not even functional merely because Joe Armstrong
liked FP; he made it functional because it made the language better suited to
solve the problems it was meant to solve.

------
henning
This is so fucking retarded and ignorant I'm not going to dignify it with a
point by point rebuttal.

