Depois de ler http://clojure.org/rationale e outras comparações de desempenho entre o Clojure e muitas linguagens, comecei a pensar que, além da facilidade de uso, não deveria mais codificar no Python, mas no Clojure. Na verdade, comecei a me sentir irresponsável por não aprender Clojure, vendo seus benefícios.
Isso faz sentido? Não posso fazer um uso realmente eficiente de todos os núcleos usando uma linguagem mais imperativa como Python do que um dialeto Lisp ou outra linguagem funcional? Parece que todos os benefícios advêm do uso de dados imutáveis. Não posso fazer exatamente isso em Python e ter todos os benefícios?
Uma vez comecei a aprender um pouco de Common Lisp, li e fiz quase todos os exercícios de um livro emprestado da minha biblioteca da universidade (achei muito bom, apesar da baixa popularidade na Amazon). Mas, depois de um tempo, me vi lutando demais para fazer algumas coisas simples. Eu acho que há coisas que são mais imperativas em sua natureza, que dificultam modelar essas coisas de maneira funcional.
Então, o Python é tão poderoso quanto o Clojure para criar aplicativos que tiram vantagem desse novo futuro multinúcleo?
Observe que não acho que o uso de semáforos, mecanismos de bloqueio ou outro mecanismo de concorrência semelhante seja uma boa alternativa à paralelização "automática" de Clojure.