Executando verificação de segurança...
Em resposta a Rust ? Go ? Java ?
2

Fala Pedro!

Vou dar meus 20 centavos aqui, porque como você ainda sou bem cru no universo da programação (estudo há uns 6-7 anos e atuo profissionalmente há 4-5), mas também já me fiz perguntas parecidas várias vezes nesse tempo e dado a complexidade e varidade de usos acho que são perguntas meio eternas.

Inclusive tem uma thread recente aqui que faz uma pergunta parecida sobre Java e JS (https://www.tabnews.com.br/Novakoski/qual-a-sua-opiniao-sobre-as-linguagens-de-programacao-atuais-principalmente-o-java)


Meus 20 centavos

Isso que a gente convencionou chamar de backend é uma coisa bem vasta e não tem relação necessariamente com a linguagem que você escolher (tu pode desenvolver o backend de um banco de dados ou um api pra web, ambos são backends mas são "criaturas" bem diferentes em termos de algorítimos, complexidade, protocolos, gerenciamento de recursos, etc.

No meu entendimento ainda muito raso Go e Rust são linguagens mais de "baixo nível" do que Java, e também enquanto Java é meio que o exemplo mais famoso de orientação a objetos, Go e Rust não impõe um paradigma e dão mais liberdade pra forma de desenvolver.

Uma curiosidade que me chamou atenção é que o Rust é a primeira linguagem a ser aceita no desenvolvimento do kernel do Linux desde o C por conta da flexibilidade, segurança no gerenciamento de memória e velocidade em run-time.

Já o Go tem sido promovido por sua menor curva de aprendizado e facilidade de desenvolvimento (comparado ao Rust que tem mais complexidade e linguagens mais estabelecidas como C e C++).


Como não tenho experiência profissional em nenhuma dessas linguagens to dando minha opinião de curioso.

Mas diria que mais importante do que a linguagem que vc for estudar, é entender o que você quer aprender com esse estudo de backend. Vc ta buscando aprender algo para atuar em um mercado ou campo? Tá estudando pelo interesse teórico? Tá querendo aprender mais sobre baixo nível ou sobre arquitetura de software?


Quanto as outras perguntas que tu fez ali, sobre futuro, mercado, conhecimento..

Mercado

Em termos de mercado não tem dúvida, Java tá em tudo que tu pode imaginar e aprender bem Java pode te abrir portas das mais variadas. No fim do dia mercado tem pra tudo se você realmente sabe o que tá fazendo, por exemplo tem um monte de sistema legado (pense bancos, aviação, governos) que ainda usam linguagens como COBOL e FORTRAN e tem escassez de profissionais que realmente dão conta desses sistemas.

Futuro

Essa é muito difícil de dizer, Java se provou no tempo, C tem quase 60 anos e tá aí sustentando o mundo que é baseado em servidores linux, C++ é de 1979 e é a base pros jogos mais modernos que existem hoje.

Por outro lado linguagens que ninguém botava muita fé como python e javascript que tiveram origens bem humildes se reinventaram de tal modo que 20 anos atrás ninguém diria que seriam usadas como são hoje (vide JS no backend com Node e Python como a linguagem mais usada pra dados), python era coisa de sysadmin e hobista, JS era uma linguagem de script bem doida que rodava no browser.

Conhecimento

Esse ponto eu acho que é o mais abstrato, o quanto e como vc vai aprender depende muito mais de você do que da linguagem que você vai estudar. O mundo da computação é vasto e virtualmente infinito, por isso o mais importante é você entender o que te cativa ou que você tem necessidade.

Nesse outro post (https://www.tabnews.com.br/RobsonSchneider/fortemente-tipada-ou-nao-duvidas-de-um-iniciante) o maniero fala sobre "aprender direito com C", acho que é um pouco por aí.

Se tu quer se expor aos fundamentos da computação vai lá pra trás e estuda no C (que talvez seria o Rust ali na sua lista).

Se tu quer entender melhor orientação a objetos e os fundamentos de arquitetura de software como promovidos pelo Gang of Four e Uncle Bob, talvez valha uma mergulhada no Java ou C++.

Carregando publicação patrocinada...
1

Vou ser bem simplista:

JAVA - Virtual Machine, ou seja uma pouco mais lento, mas depende da aplicação.

GO - Safe Memory e Compilado, e uma linguagem simples.

RUST - Safe Memory e Compilado, porém cheio regras complexas para evitar que o programador cometa algum erro.