Andy Hunt já dizia que nós deveríamos aprender uma nova linguagem a cada ano. É claro que sempre tem uns merdas que citam Malcolm Gladwell (e sua teoria de que se leva 10 anos de prática pra que alguém desenvolva um grande talento (link, link)) para desqualificar a sugestão de Hunt, afirmando que um ano “é muito pouco”. Puro jogo de palavras! Pois não se espera de ninguém ser um fodão na linguagem em que se aventurou. É suficiente apenas um mínimo de entendimento nos princípios e na filosofia da nova linguagem, além da cultura dos principais evangelistas. Um ano é suficiente para ter, sei lá, um quinto de conhecimento que o guru-criador da linguagem tem.
Outros usam também a conhecida citação “programar é difícil” para demonstrar que aprender novas linguagens não vale a pena, já que é contra-senso encarar coisas difíceis todo ano. Discordo, uma coisa é aprender a programar, outra é aprender uma nova linguagem. Programar é um conceito abstrato: transformar uma idéia em solução computacional. Linguagem é concreto: a ferramenta utilizada para por a solução computacional em prática. Confundir programação com linguagem é típico de quem nunca aprendeu mais de uma linguagem.
Aprender uma nova linguagem é útil. Principalmente quando você sai de uma “visão de mundo”, que é apregoada pela comunidade da linguagem, e entra numa outra, completamente diferente. Isso é tão libertador quanto aqueles sortudos viajantes, que andam de país em país; onde, em cada uma, percebe como as pessoas são diferentes e que existe um mundo muito maior do que eles próprios supunham imaginar.
Tudo isso para sugerir duas linguagens da cauda longa: uma é Haskell, linguagem funcional que gera código nativo (com desempenho comparável a C), a outra é Erlang, linguagem também funcional com foco em concorrência e que roda em uma máquina virtual especial para sistemas que não podem cair.
Eu estou aprendendo Haskell e comecei pelo ótimo tutorial Learn You a Haskell for Great Good, escrito pelo esloveno Miran Lipovača. Já Erlang (que eu havia começado a aprender há dois anos atrás, mas parei no meio), pretendo comecar no ano que vem, e irei seguir um tutorial que ainda não li, mas é cria do anterior: Learn You Some Erlang for Great Good, escrito pelo franco-canadense Frederic Trottier-Hebert.
Se você já está de saco cheio da mediocriade dos usuários de Java, vale a tentativa.