M. Edward (Ed) Borasky wrote:
James Britt wrote:
A strict functional style still may reduce bugs and make the code easier to reason about though.
I don't think that's ever been tested, mostly because every time someone makes a serious proposal in favor of "strict functional" programming, the naysayers jump on it and stomp it to death.
Not sure what you mean by that, given the existence, and flourishing, of Haskell.
However, my best argument would end up being anecdotal, and largely defendant on assertions by, for lack of a better term, the "LtU Crowd".
Case in point: Read John Backus' Turing lecture on functional languages, and contrast attempting to read his code with reading the Rails code. I think you'll find it's easier to reason about the Rails code than it is to reason about the examples in the Backus paper, or a long string of combinators in the SKK calculus, or maybe even Scheme code.
I don't see that ad hoc empirical comparisons are going to make a case either way. Again, I don't have a formal proof of my claim; it's more of an evolving intuition about code, state, and side effects.
I'd be happier looking at Ruby code that minimized passing around state and used isolated metaprogramming.
It all boils down to this: if somebody will pay me to write in a functional language, I'll do it. But I'm not holding my breath, nor am I seeing great numbers of "Help Wanted" ads looking for Haskell, OCaml or Erlang programmers.
I recall when people used that same argument for knocking Ruby. No job listings, so how [good|important|useful] could it be?

···
--
James Britt
www.happycamperstudios.com - Wicked Cool Coding
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff