Qual será a linguagem de backend do futuro?
Olá! Trabalho com desenvolvimento há 17 anos e já programei em PHP, Java, Kotlin, C# e JavaScript/TypeScript (frontend).
Recentemente tenho observado relatórios como o Stack Overflow Developer Survey (https://survey.stackoverflow.co/2022), The State of Developer Ecosystem 2021 (https://www.jetbrains.com/lp/devecosystem-2021/) e o TIOBE Index (https://www.tiobe.com/tiobe-index/) e tenho tido a percepção de que está decaindo o uso de diversas linguagens que tradicionalmente eram usadas no backend, em especial o Java e o PHP.
Me parece que as únicas que tem crescido em adoção são o JavaScript/TypeScript e o Python (em função de AI e BigData).
Hoje, quando penso em iniciar um novo projeto em backend, e estou em busca de escolher a linguagem a ser usada, faço a seguinte análise (opinião pessoal):
- PHP parece estar em declínio, além de ser dinâmica e interpretada, o que a princípio torna a execução mais lenta.
- Java eu me sinto em casa, mas também tem caído o seu uso, e é verboso demais quando comparado com Kotlin.
- Kotlin tenho gostado bastante, mas não tem crescido muito o seu uso, e tenho medo que no futuro acabe sendo descontinuada.
- C# é da Microsoft (preconceito que talvez eu deva perder?).
- JavaScript/TypeScript, limitada em recursos e não tão performática.
Enfim, me sinto um pouco perdido. Há alguns anos atrás, se eu quizesse uma linguagem Orientada a Objetos, fortemente tipada, robusta e rápida a resposta provavelmente seria Java. Mas e hoje? E no futuro?
Sei que muitas vezes temos de escolher a melhor ferramenta para o trabalho, e que cada linguagem tem seus pontos positivos e negativos.
Sei também que hoje temos muito mais opções de tecnologias e frameworks do que a 10 anos atrás, e que é natural vermos uma distribuição do uso.
Mas o que vocês acham? JavaScript e Python vão dominar o mundo? Java ainda será a nossa linguagem de confiança para grandes projetos robustos? Kotlin é boa demais mas o pessoal ainda não se deu por conta disso?
Espero poder compartilhar boas ideias e ouvir a opinião de vocês sobre o assunto.
Me baseio nesse artigo: https://octoverse.github.com/2022/top-programming-languages
Acredito sim que o futuro é JavaScript/TypeScript e Python, pois a comunidade é muito forte, e com crescimento contínuo.
Mas estou começando a ouvir muito sobre Rust e Go, duas linguagens que nunca ouvi falar antes, e de duas semanas pra cá tem sido bastante falado.
Considerando a aprovação do tempo imagino que algumas linguagens vão sobreviver ainda por muitos anos. O java por exemplo é ensinado basicamente que em todas universidades brasileiras e é usado em larga escala no mercado, por tanto acredito que seja uma das que vão sobreviver ainda por muitos anos.
Trabalho há 7 anos no mercado de desenvolvimento de software com Java, C#, Python e um pouco de front-end com Angular e ReactJS. Há 2 anos venho trabalhado profissionalmente com Clojure e a linguagem me surpreendeu pela simplicidade e velocidade de produtividade com o desenvolvimento interativo com o REPL.
É muito difícil prever a "linguagem do futuro", porém eu não me vejo programando em uma linguagem que não tenha um REPL para testar em tempo real cada pedaço de código que eu escrevo antes mesmo de rodar a switch de testes, além de ser enxuta e focada em manipular coleções com poucas linhas de código.
Se tiver interesse, segue o principal livro de referência (em inglês) gratuito para leitura online em https://www.braveclojure.com/clojure-for-the-brave-and-true/
Abraços!