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

Qual melhor linguagem backend para se começar?

Olá galera! Tudo show?

Atualmente me encontro fazendo um curso de full-stack, mas desde o primordio da minha caminhada tentando aprender na area da programação, me apaixonei pelo backend, sincerão mesmo...
A primeira linguagem que tive contato foi Python, e até comecei a ver Ruby, mas ainda me sinto um pouco desnorteado, sem rumo, e de certa forma estagnado!


Qual ou quais linguagens backend indicam, e o porque.

Fico lisongeado com a resposta, e espero que isso ajude mais pessoas.

Att: Henrique Ribeiro <3

Carregando publicação patrocinada...
7

Vou listar os pontos fortes de cada linguagem, segundo as suas aplicações:

  • C / C++ = Aplicações a nível de sistemas operacionais, como kernels, construção de aplicações robustas como: Bancos de Dados. Construções de aplicações Desktop e a nível de terminais.

  • C# = Fortemente aplicada em Jogos (GameDev), Aplicações Desktop, como sistemas de ERP, PDV, sistemas web (forte em construções de API's).

  • Java = Fortemente aplicada em sistemas empresariais, tais como: Sistemas de Big Data, BI, E-commerces mais robustos, seu ponto forte também são em sistemas de ERP, PDV's, Sistemas web backend.

  • Lua = Fortemente aplicada em jogos 2D ou 3D, RPG, Moba, FPS etc.

  • JavaScript / TypeScript = Fortemente aplicada no desenvolvimento de aplicações WEB, tais como: Extensões para navegadores, sistemas de backend, front-end, forte integração com sistemas mobile.

  • Python = Fortemente aplicada em aplicações de Machinne Learning, inteligência Artificial, Big Data, Análise de Dados, Ciência de Dados, robótica, IOT, Sistemas de integração residencial, Raspberry Pi, automação de tarefas como criação de bots, web scraping etc. Também é uma linguagem FORTEMENTE usada no mundo Hacker, pois, pela sua facilidade de aprendizado, os hackers adotam linguagens como o Python para criar suas ferramentas de pentester, hacking etc.

  • Kotlin = Fortemente aplicada em desenvolvimento web backend e Mobile para Android nativo.

  • Swift = Fortemente aplicada para desenvolvimento mobile para aplicações Apple (iOS).

  • Ruby = Fortemente aplicada em aplicações backend, com frameworks poderosos. Excelente para criação de script e automação de tarefas.

  • Golang = Fortemente aplicada em aplicações Backend e de Larga Escala. Performática e pode-se criar sistemas dinâmicos no lado do servidor, além de possuir uma exelente documentação.

  • Rust = Similar ao C / C++, fortemente aplicado em aplicações de sistemas em kernel (novo Kernel do linux e windows terão um mash-up de C/ C++ && Rust). Linguagem de Alta performance e um EXCELENTÍSSIMO gerenciamento de memória. Além de ter uma sintaxe amigável.

  • PHP = Fortemente aplicado em aplicações WEB backend. Sistemas E-commerce, Lojas virtuais, Blogs, Landing Pages, tudo o que há na web o PHP vai te atender perfeitamente. Além de dar suporte a construção de plugins em sistemas de CRM, como Wordpress (PHP Roda por debaixo dos panos nessa tecnologia).

  • COBOL = Fortemente aplicado em aplicações legadas(sistemas mais velhos rsrs), tais como em sistema de bancos, sistemas governamentais. COBOL é uma ótima linguagem para trabalhar em empresas como IBM.

  • Assembly = Fortemente aplicado em aplicações de baixo nível. Kernel de sistemas operacionais, todo ecossistema de um SO, integrações que conversam diretamente com processador, memória, hardware em geral. Ótima para debugging, análise de malware(bit a bit), e criação de firmware.

São muitas opções, veja qual caminho faz mais sentido pra você e vá fundo. Tentei puxar de cabeça os pontos fortes de cada linguagem, e onde elas mais se destacam. Com isto vc já tem um norte. Sendo assim, escolha com sabedoria qual tipo de programação você deseja seguir.

3

Você não foi o primeiro a perguntar isso nas últimas 24 horas: https://www.tabnews.com.br/maniero/75640bfd-8f39-4c1e-85f0-8b631f75b46a

Isso é muito pessoal. Qualquer uma pode dar certo ou não. Depende mais da pessoa. O que mais dará certo é o que a pessoa conseguir se dar bem. Pena que ninguém sabe qual é, mas existe uma única pessoa no mundo que poderá perceber isso mais rápido quando estiver fazendo. Sabe quem é?

Eu costumo indicar algo que quase todo mundo ignora. Em vez de fazer um curso ilusório para aprender receita de bolo de tecnologia, que frequentemente não ajuda a pessoa conseguir a tão desejada vaga na área, deveria se formar profissional completo, assim aprende a computação como um todo, e toma os fundamentos como sua maior expertise. Então ali saberá que linguagem deve aprender para entrar no mercado sem depender de pessoas aleatórias na internet para decidir sobre a vida dela. Eu sei que é mais chato, mas é o certo.

Tome cuidado porque em geral perguntas assim tendem a receber respostas com percepções das pessoas. E percepções podem ser bem fora da realidade em alguns casos. A minha percepção não é boa, mesmo eu tendo contato com uma amplitude bem grande do mercado, sabendo o que acontece em regiões diferentes e setores variados, e faço isso há 30 anos na área. Aliás, outra questão é que salário e quantidade de vagas é outra questão que todo mundo ignora e erra feio por isso. Mais um ponto é que ter muita vaga costuma ter muita concorrência também. Ter vagas anunciadas não significa quantas vagas tem. Tem anúncios completamente ou parcialmente falsos, e tem vagas que nunca são anunciadas, e isso acontece mais com certas tecnologias do que outras. As pessoas tendem a ver mais na bolha que ela pertence.

Eu já dei várias dicas para quem quer começar bem, não só sobre linguagem backend, dá uma procurado que eu acho que te dará um norte.

Faz sentido para você?

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

Cara, achei sua resposta sensacional.
Acabei lendo alguns artigos recentemente, e até um dos ultimos videos do Felipe, e realmente é necessario ter uma base solida, de conhecimentos reais...
Muito obrigado pelas palavras

2
1

Obrigado pela citação. Nem lembrava mais dessa postagem :) Mais legal estar citado junto com o Akita, muita gente fala que sosmos parecidos em alguns pontos :)

1

Para começar eu recomendo o PHP, menor curva de aprendizado/entrega de funcionalidades... ai se seu projeto escalar, ter equipe de trabalho... ai vc pensa em outra stack...
Eu comecei com PHP e depois continuei com PHP, rs!

1

Acho PHP interessante para iniciante pela facilidade de inicial, é de longe mais fácil do que qualquer outra colocar um arquivo pra rodar. Mas PHP da muita liberdade e isso acaba virando uma bagunça para iniciantes, então eu digo que C# uma ótima linguagem para aprender com conceitos importantes já fixados como POO, tipagem, etc.
E pelo amor de Deus, não estou dizendo que outras linguagens, até mesmo o PHP não tem como não programar usando POO e tipagem, mas você não é obrigado a usar, e o C# te força a isso.

1
1

Sincera opinião aqui, creio que hoje em dia tanto faz. Algumas linguagens tem mais vantagens que outras em questão de trabalho, salario, facilidade por aprender, QoL (qualidade de vida, tipo, você pode sentir um imenso prazer codando em X mas em Y você quer morrer). Mas você pode se dedicar em aprender COBOL ou Assembly (que são linguagens, digamos, "defasadas", mas que tem demanda e pagam altíssimos salarios hoje em dia) ou até mesmo largar o back e focar em front end (hoje o mercado de front end é muito competitivo na minha concepção, é difícil conseguir vaga sendo júnior), se você não tiver fortes bases, entender boas práticas, saber como escrever bons testes, entender algorítmos a fundo, enfim, o extremo essencial, não importa a linguagem que você escolha, infelizmente vai ser só mais um na multidão. Não digo isso pra desmotivar ninguém, é a dura realidade da nossa tão amada profissão.
Dito isso, e também deixando claro que é uma escolha pessoal, eu tenho família e preciso pagar minhas contas, então escolhi Java para aprender. Demorei 6 meses pra ficar minimamente produtivo e conseguir minha primeira vaga de emprego. Eu indicaria o mesmo se seu objetivo é entrar no mercado de trabalho de certa forma "rápido" (não entenda como fácil, vai ser extremamente dificil conseguir uma vaga sem XP, ainda mais hoje em dia, pós pandemia). Além disso, Java tem um excelente ecossistema, uma comunidade ativa, muitas ferramentas interessantes, atualizações constantes, muito conteúdo em livros...
Não posso falar o mesmo de outras linguagens, pois não tenho conhecimento, então não leve o que direi como exata verdade. Dizem que C# não é mais tão usado hoje em dia, apenas em sistemas legados (tem muito sistema governamental que usa .NET). Python é mais voltado para dados e IA, até onde entendo. Existe o Django, mas de acordo com o que escuto, não é tão performático quanto seus pares. Python também é muito usado para pequenas rotinas, scripts... por exemplo, tenho que tirar um relatório todo dia de manhã, basta um script .py, rodo ele no terminal e blz, sem muitos processos. O Node é excelente para pequenos sistemas que precisam responder rapidamente, como um BFF, mas não é tão interessante para sistemas maiores, que lidam com uma massa de dados gigante. PHP é ótimo para freelas e projetos rápidos, pois te entrega um sistema funcional e facilmente personalizável, com back e front (é ideal para marketplaces e blogs). GO, Rust, Elixir, essas linguagens mais "hypadas", aqui no BR ainda não vi muita coisa, mas são extremamente interessantes. C++ e C são ótimas para baixo nível, desktop, games, afins... não vi muita coisa de C para web que facilite algo que as anteriores não façam.
Independente da escolha, estude as bases! Boa sorte!

1

Ultimamente tenho me interessado bastante por Java, e tenho começado alguns estudos, de certa forma se torna menos dificil (não mais facil kk), tendo em vista que as linguagens tem muitas caracteristicas semelhantes, porem com suas peculiaridades.
Em termos de ide? Material para consumir? qual você indicaria?

1

Mano IDE é aquelas, também é muito pessoal. Trabalhando com java vc vai em 90% dos casos estar em um ambiente unix, então o que roda é IntelliJ, STS, NetBeans e VSCode (fora os editores direto pelo terminal, mas falando de IDE é isso msm. Se tiver alguma outra que desconheço, perdão). Eu uso o IntelliJ por conta da facilidade em lidar com o maven, integração interessante com Docker, é uma IDE mais robusta, tem muitos trics pra rodar testes... Mas tenho colegas que preferem o NetBeans por conta do debug, UI mais clean, organização de pastas... tem que testar mesmo.
De material você acha desde cursos gratuítos muito bons a mega cursos de 2k de reais. A dica é universal: começa com o canal do Guanabara, Curso em Vídeo. Lá vc pega a base do Java. Depois se quiser uma boa introdução ao Spring da uma olhada no canal DevDojo, tem muito conteúdo lá. Se quiser algo pago, tem os cusos do Nélio Alves na Udemy. Por fim, tanto o próprio Nélio quanto a escola AlgaWorks disponibilizam de tempos em tempos a famosa semana de imersão. É interessante participar algumas vezes acompanhando o ritmo dos vídeos pra vc ver um pouco de como desenvolver um webapp de ponta a ponta, se não me engano rola até deploy. Não é nada parecido com um dia de trabalho, pra quem já está na área é até lento, mas vai acelerar um pouco seu aprendizado, você vai sentir um pouco mais de agilidade no ritmo de aprendizado. É como um empurrão pra entrar na picina com água gelada, dá um pouco de medo no começo mas logo seu corpo acostuma.
É um bocado de coisa, mas não pule etapas. Demora ir do zero à produtividade mínima em uma linguagem, é interessante prestar atenção nos passos pra não comer bola no futuro.

1

Hoje trabalho como FullStack, crio back-ends inteiros em Javascript usando NodeJS junto do Express ou NestJS como Framework.

Sendo sincero, recomendaria seguir com a que lhe agrada visualmente, se Python lhe deixa avontade, pode seguir perfeitamente. Acredito que não importa muito a linguagem que use, mas sim o que faz com ela.

Mas para recomendar de fato. Teria três opções que me chamam atenção quando falam de BackEnd.

  • TypeScript -> Para ter certeza de tipações e limpeza de código, qualidade e certeza de retornos, usando NodeJS ou NestJS que já usa o Typescript nativamente, também tendo a opção de se aventurar usando o Deno, o concorrente do Node.
  • C# -> Para os mesmos casos acima, porem com uma flexibilidade alta do modelo OOP(Orientação a Objetos), que por algum motivo, é a linguagem que mais amo no momento, também foi minha primeira linguagem.
  • Rust -> Qualidade de Código, leitura em alto nível, funções a nível da linguagem C e C++ ou seja, consegue mexer com o hardware.

Qualquer uma funcionaria muito bem para ambos os casos, desde Python a Ruby, ou até C#. Vai diretamente do quanto quer usar ela para tais fins.

1

Também sou iniciante

Eu também estou começando e comprei um curso full-stack mas logo depois que eu estudei html e css cheguei ao modulo de JS e tava SUPER boiando sem entender nada. To hoje boiando em lógica de programação, estrutura de dados e algoritmos, mas to seguindo pois, o backend deu um powerUP na minha vontade de aprender. (Larguei o curso e to me arrependendo de não ter pesquisado um conteúdo gratuito antes.)

Sinceramente, acredito que Python dá uma ajuda boa no começo pelas simplificação e tudo mais que já sabemos. Porem nosso objetivo final é resolver problemas então penso que masterizar, conceitos como lógica, POO, algoritmo e estrutura de dados nós ajuda a ser capaz de chegar em uma tecnologia um dia e decidir por conta própria estudá-la ou não.

1

Cara, eu sempre respondi que javascript ou python são as melhores. Hoje em dia acho que a melhor é que vc tem maior facilidade, o que reforça python e js no topo, mas qualquer linguagem que vc tenha usado em qualquer momento da sua vida tb vai servir.

Respondendo de forma diferente: se eu fosse começar hoje escolheria js por causa da versatilidade, da facilidade e do fato de js ter espaço em front, back, mobile e machine learning.

1

Dizem que se conselho fosse bom a gente não dava, vendia, mas aí vai o meu: Java ou C#.

São linguagens que além de ter muitas oportunidades, você foge um pouco do hype do JavaScript (sou desenvolvedor Node.js e gosto, by the way), você também será forçado a aprender conceitos que outras linguagens como JavaScript e Python dão uma passada de pano. E se algum dia você for desenvolver com Node.js, Elixir, ou qualquer outra coisa, acredito que terá uma bagagem teórica mais avançada do que se tivese começado por JavaScript, Python, Elixir etc...

1

Se sente que está patinando na vida ->

Cara, se você é do tipo de pessoa que não consegue se manter meses direto em uma única tecnologia, alternando e ficando com cada vez mais duvidas a medida que entende o B-a-bá de cada linguagem e seu mercado, sugiro se voltar a enchergar seu EU interior.

Ver a questão psicologica, se auto entender o que quer, mas também, o que sente.

Talvez seja apenas um foco não formalizado, precisando de um caminho a seguir.
Todavia, pode ser algo ligado a mente, tal como um TDAH ou autismo não diagnosticado, que te faz ter atitudes que enquanto não entende bem, te freiam e você não sabe as controlar.

Eu por exemplo, comecei a buscar isso, vendo todas as minhas atitudes nos ultimos 20 anos, e percebendo que o que achava ser atitudes e sensações comuns, não eram. Há algo me freiando, algo que estou buscando entender para saber controlar.

É o que te sugiro. Uma mente plena é tudo neste mundo onde o raciocínio é a motor de realizações.

1

Não que eu indique para qualquer situação, mas aprender uma linguagem back-end que é utilizada em um ERP pode te colocar dentro de um ambiente cheio de oportunidades. Eu trabalho com o ADVPL que é uma linguagem prioritária da Totvs, e o uso dela dentro do framework do ERP Protheus serve para atender uma infinidade de necessidades de empresas que fazem a gestão das rotinas de trabalho. Trabalho com o módulo de folha de pagamento, mas o ERP atua em diversas áreas, como o financeiro, contabil, fiscal, jurídico, e-Social e etc... A vantagem de aprender isso é que junto já vem todo o legado de regras de negócio e aplicação já sendo utilizada. Por outro lado, a linguagem é presa ao ERP (nem tanto o webservice tira essas amarras de certa forma). Mas pra não estender muito, entrar no mundo dos ERP's é um caminho de carreira muito promissor, pois vai te expor a necessidade de conhecer bancos de dados, back-end, front-end, sustentação de sistemas, servidores web e muito mais que eu mesmo ainda nem vi e sei kkkk.

1

Caríssimo, qualquer uma, e se já começaste com Py e Rb podes continuar nelas, cada uma já têm uma ampla gama de ferramentas para back (e.g. Django e Rails). Se estiveres no início da carreira ficar tentando aprender várias linguagens vai mais complicar os conceitos na tua cabeça que abrir novas oportunidades

1

Aprenda golang pois é uma linguagem muito incrível e vai te viciar, vc so vai querer codar nela. É muito prazeroso de usar. Além dos seus recursos. Não vou explicar quais pois tem melhores explicações por aí.

Abraço e boa sorte

1

Faça uma boa graduação.
Se você quer mesmo entrar na área, um tecnólogo em Análise e Desenvolvimento de Sistemas serve, e vai fazer sua cabeça explodir.
Auto didatismo é importante, essencial, mas nesse cenário onde tem informação sobre tudo em qualquer esquina, a graduação vai te mostrar as coisas de forma organizada e ajudar a sanar suas principais dúvidas.
Por muito tempo fui avesso a cursos superiores.
Comecei estudando Python. Após 3 meses de estudos migrei meu foco pro Java. Continuo estudando a linguagem, gosto muito e pretendo trabalhar com ela. Mas decidi procurar uma boa graduação pra entender o "todo".
Agradeço por ter percebido cedo que, conhecimento em uma linguagem sem o conhecimento de base, não seria suficiente.
Espero ter contribuido.

0

Abaixo vai a minha percepção de mundo:
Se discordar comenta aí, gosto de ver a percepção alheia.

Java = Mais emprego.
C# = Mais legal que Java, porém paga menos que Java.
Node = Todo mundo sabe. Tem trocentas pessoas se candidatando a vagas todos os dias e reclamando que não conseguem emprego.
Go = Ganhar em doletas $$ (Se vc achar a vaga).
Swifit = Dá dinheiro, tem vaga, mas vc tem Mac ?
Ruby = Pouca vaga, pouco dinheiro (Até onde sei, posso tá bem errado).
Python = Modinha pra ciencia de dados. Não vejo tanta vaga assim.