Clojure (or any Lisp dialect). Because there are few simple powerful abstractions (so it puts less cognitive load in terms of language so you focus on problem) and of course you can change the language to suit your problem (whereas with other language you have to change your problem to suit the language)