Executando verificação de segurança...
1

Qual Linguagem Escolher Para Back End?

Olá, me chamo Carlos e atualmente sou desenvolvedor Front End, mas quero ser Full Stack. Gostaria de saber qual a opinião de vcs sobre qual linguagem aprender pro Back End, Java, Python, C?
Já sei o básico de Python e gosto porque é bem prático de usar, mas não sei se é uma linguagem muito usada no mercado de trabalho. Seria melhor me especializar nela mesmo ou aprender outra linguagem mais utilizada?

Carregando publicação patrocinada...
2

Toda vez que alguém faz essa pergunta ela está fortemente arriscada a receber propostas de linguagens que os proponentes gostam, não que seja o que você deve escolher. Raras as pessoas que conseguem ser isentos. Eu não sei se consigo também, mas tento.

Ninguém te conhece, não sabe o que precisa, o que faz em detalhes, a sua capacidade, seus objetivos, o que gosta, nada. E tudo isso é importante, até o que gosta e em que mercado está inserido.

Poderia ser C++. Claro, é raro ser uma boa ideia, mas poderia.

Todas as que são usadas popularmente para esta tarefa são candidatas, então não faz tanta diferença, sem maiores informações, escolher qualquer uma delas.

C dá, mas é altamente improvável, até C++ não é uma boa solução. E Rust que está na moda falar dela, mas não usar, também não, a não ser em raros casos, e que não é o que quase ninguém precisa, especialmente as pessoas que não sabem decidir bem o'que usar, os que não são absolutamente tarados por eficiência (tem vários casos que você consegue mais eficiência com C# do que com Rust tendo muito mais produtividade).

Java é uma das linguagens mais usadas. Eu não sou grande fã, se fosse para usar JVM eu preferiria Kotlin, mas ainda torço o nariz.

Python é uma das melhores opções se for fazer scripts. PHP é mais popular e mais simples. Eu sou bem crítico ao uso de linguagens de scripts para fazer aplicações complexas, e se for fazer assim é melhor usar uma linguagem mais enterprise. Assim como é um absurdo usar essas últimas para páginas simples.

Não falou em JS/TS, que pode ser uma opção para aproveitar o conhecimento e até o ́código do frontend. Um dos maiores argumentos para adotá-las, especialmente TS, é usar a mesma linguagem dos dois lados. Isso pode ser um problema também, mas não deveria descartar.

Algumas linguagens podem fazer o mesmo, e hoje várias linguagens rodam no browser, não é mais monopólio de JS. C# por exemplo é produtiva, eficiente e roda em todo lugar que importa, incluindo navegadores. Ela não serve para qualquer site, mas para muitos. É o que permite o Stack Overflow, um dos 50 sites mais acessados do mundo (dependendo da época) poder rodar com apenas 1 servidor, se quiser. Poder rodar com uma arquitetura simples e custar muito barato, além de ter melhor SEO e UX.

Nem falei de Go, que não sou dos maiores fãs, embora goste de boa parte dela, mas é estranha. Está crescendo também.

Python é cada vez mais usada, se gosta e te atende, pode tentar. A mais usada é JS, não tanto em backend, mas está crescendo muito também, e no total, é a mais popular. Popularidade não é tudo. Eu não gosto do ecossistema. Inclusive cito muito todo stack como exemplo de adoção errada que faz as pessoas terem que adotar várias outras coisas erradas para corrigir o primeiro erro, mas não deixa de oferecer solução, as pessoas usam e funcionam.

O bom é que hoje tudo funciona. Até fazer código mais ou menos funciona em grande parte do tempo. Não precisa tanto ser ótimo. Claro que se fizer o ótimo terá melhores chances nas melhores vagas, ter os melhores salários.

Faz sentido?

Espero ter ajudado.

Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

1
1

a resposta invariavelmente é "depende". qual seu objetivo sendo full stack? tem mercado nas empresas que esta buscando? que linguagens essas empresas utilizam?

1

Resposta simples e direta: literalmente qualquer uma. Apenas escolha e aprenda-a. Quando você perceber, linguagem será o de menos e você vai avançando para tópicos como paradigmas etc.
Só vai.
Acho que essa resposta também serve para qualquer tech que você escolher.

Deixo um vídeo de referência pra ti a respeito de estudos etc.

Aprendendo a aprender

1

Dessas 3 eu iria de Java. Aprenderia o básico de Java e depois partiria para o Spring Boot. Parte dos que hoje torcem o nariz para Java só tem conhecimento do velho Java, não o atual. Além disso, com Java você faz de forma bem mais elegante a maioria dos padrões de projetos que existem, além de também de forma elegante conseguir colocar sua aplicação em uma estrutura Hexagonal por exemplo.Poe elegante quero dizer beleza mesmo, algo totalmente bonito de ver e de fácil entendimento.

Sua segunda opção eu diria aprender Python com Flask. O Django é mais robusto, mas eu sempre via no Flask uma opção mais direto ao ponto e mais leve de ser utilizada.

Uma 3° possibilidade que sugiro é Go com Gin. A curva de aprendizado pode sugerir ser alta mas vai por mim.... nao é!! E a velocidade que a aplicação terá é surreal.

Abraço e espero ter colaborado xom minha opinião. Tmj.

1

Se você já atua com Front-End, suponho que tenha alguma experiência com javascript, talvez typescript. Então parta para usar isto no back end, trabalhando com node por exemplo. Isso vai ajudar a diminuir a barreira de entrada para entender a natureza de desenvolvimento para backend.

Mas linguagens são meio para um fim. Pode ser que você pegue um projeto que exige Java, ou que você resolva contribuir em algum projeto open source com Rust... Enfim, experimente e se arrisque que com um pouco de sorte você pode conseguir trabalhar com uma linguagem que goste.