cxzuk wrote:There is no reason all code could not be organized in a functional manner. No objects, immutable values, pure fun.
Applications have long since developed passed the feasibility of being made in a purely functional manner. Programmers mental scope is just too small to see a project as a whole.
Apparently berkus should've placed a </sarcasm> tag there.
Yes, "pure" functional programming doesn't cut it anymore.
Hint #1: "Pure" object-oriented programming isn't that much better.
Hint #2: It
very much depends on the skill level of the programmer(s) doing the work. I prefer well-done C over haphazard Java anytime. I prefer well-done C# over haphazard C++, I prefer well-done Perl over haphazard C, I prefer well-done Java over haphazard Python. I prefer any well-done X over any haphazard Y, with the possible exception of Brainfuck and Assembler (the former being haphazard by definition, the latter appearing haphazard either to the programmer or the CPU - and, sometimes, both

).
In the end, it is about how much the language
enables the programmer to "do the right thing". "Pure" paradigm languages usually require the programmer to jump through a couple of hoops to satisfy the paradigm, which doesn't benefit coding style.
I admit that, on the other end of the scale, powerfully
enabling languages can make it very hard to
find the right thing to do. (Point in case: C++.)