Is functional programming really worth it?
kalid: I think Clojure may be your answer; functional programming with access to Java's enormous libraries.Regarding "betterness", it's a philosophical shift -- some problems are better suited to one domain or another. My favorite metaphor for functional programming is Unix pipes:cat file | grep XYZ | sort -r -n | ...There's no explicit state but you can track the flow... output a file, search for something, sort that result, pipe it somewhere else, etc.Imperative/state-based programming forces you to give names to all those intermediate results, just so you can pass them along. Sometimes variables are just a place to hold data until you can pass them to the next function; functional programming makes that so easy you don't need the variable. And think about how much easier it is to debug; once you get a part of the pipeline working, you can move to the next part (without worrying about global variables and other hidden interactions that can happen with imperative programming).