|
|
|
|
|
by locci
5439 days ago
|
|
The same argument could be made about structured programming: "Why should I restrict my programs to have one entry point, one exit point and a single flow?" The answer is "Because it helps you to manage complexity in the long run". To continue the "just add a simple global" analogy: after a while you add another, then you peek from a completely different function inside the global variable, modify it if the day is odd and soon you have made a mess of your program.
In this case globals are simply a patch to an outdated design. "It [all the restrictions] says a lot about what functional programming isn’t (it has no assignment, no side effects, no flow of control) but not much about what it is. The functional programmer sounds rather like a mediæval monk, denying himself the pleasures of life in the hope that it will make him virtuous. To those more interested in material benefits, these “advantages” are totally unconvincing."[1] But the new kinds of glue functional programming brings about are usually worth the squeeze (for some kind of programs in some kind of situations, maybe). [1] http://www.cse.chalmers.se/~rjmh/Papers/whyfp.pdf |
|