Dev (Back & Front)ARTIGO

Sua linguagem de programação favorita não é boa o suficiente

Por que tantos desenvolvedores ficam tão emotivos quando se trata de sua linguagem de programação favorita? Considerando que nenhuma linguagem pode (ainda) magicamente traduzir a ideia perfeita na sua cabeça em código de máquina, todas elas existem em uma escala de “ruindade” – e elas limitam você mais do que seus próprios pensamentos ou do que o hardware.

Acredito que a principal razão pela qual as pessoas sentem a necessidade de defender com veemência uma determinada linguagem é que elas são preguiçosas. Claro que bons programadores são sempre preguiçosos (por que outra razão automatizar?), mas essa é uma preguiça específica e muito ruim – estar com preguiça de aprender. Se minha linguagem favorita é melhor do que qualquer outra coisa, ou talvez pelo menos tão boa quanto qualquer outra coisa, eu não tenho que gastar tempo e esforço para aprender novas linguagens.

O problema principal com isso não é só porque você não vai achar a linguagem perfeita, mas é que quando você está confortável com uma ou duas linguagens, a forma como resolve problemas se torna limitada pelo que é possível fazer nelas – e se as linguagens que você conhece são similares e do mesmo paradigma, os problemas pioram.

Quando você escolher uma linguagem para resolver um problema, por todos os meios, utilize a que você acha que vai resolvê-lo melhor – a mais poderosa, mais produtiva, mais confortável, aquela com o maior número de bibliotecas… mas se você quiser ser um programador ou desenvolvedor sério, em vez de alguém que brinca um pouco na programação, você precisa aprender novas linguagens, e precisa parar de acreditar que acha que uma é melhor do que o resto.

Todas as linguagens de programação fizeram trade-offs, e nenhuma é perfeita. Eu diria que algumas linguagens são melhores que outras, mas nenhuma é a melhor em tudo, e nenhuma tem tudo certo. Python tem seus próprios problemas (não é que ele seja dinamicamente tipado), por isso tem os diferentes dialetos Lisp (não é que ele tenha muitos parênteses), e por isso tem Haskell (seu indiscutível fato de que ele é estranho*).

Aprenda novas linguagens. Aprenda a não ser partidário e a defender a “sua” linguagem contra qualquer crítica. Se você ainda não tiver lido, leia Structure and Interpretation of Computer Programs, e aprenda alguma forma de Lisp – ele vai fazer você ver e sentir as limitações de outras linguagens, e a dor vai fazer de você um programador melhor, independentemente da linguagem utilizada.

*Não, eu não estou sendo sério. Haskell é a próxima na minha lista de linguagens para aprender.

?

Texto original disponível em http://blaag.haard.se/Your-favourite-programming-language-is-not-good-enough/

É programador, desenvolvedor, consultor e, ocasionalmente, professor e palestrante.

Ver perfil