While I understand the benefits of the more configurable futures approach, in most cases I'd just use the Clojure convention and send my task off to an agent. It's good to be able to fall back to something configurable when that approach isn't good enough though.
Convention over configuration, but allow configuration as an option.
Yeah. As someone who gets paid to do something with them I have an opinion of the tools I use. I indeed hate using a tool that is poorly designed no matter the field. I have used cheap screwdrivers that did not use hard enough metal in the tip to keep the shape of the screwdriver and will strip the screw and cause frustration. Not to mention the poor ergonomics of the handle on cheap screwdrivers. Give me a well made Klein(or snap-on) screwdriver and I am a happy man(happy in the case of utilizing a screwdriver at least.)
The same type of critical opinion holds true with software tools and languages.
I see what you are saying, but I once had to use Fortran for an extensive, difficult project. Fortran IV i think it was. There were, I thought, absolutely unreasonable restrictions where you could put expressions, like they were not allowed in parts of DO loops.
I was sufficiently angry that my next career move was into the compiler field where I wrote code generators for a couple of compilers. Had a blast.
So yes, we probably shouldn't hate our tools. Because if we do, there are consequences.
http://romanroe.blogspot.com/2010/02/why-i-hate-everything-y...