paint-brush
Cavalheiros, escolham suas armas! Linguagens de programação que vocês deveriam (não?) aprenderpor@shcherbanich
244 leituras

Cavalheiros, escolham suas armas! Linguagens de programação que vocês deveriam (não?) aprender

por Filipp Shcherbanich7m2024/09/03
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

No mundo da programação em rápida evolução, os desenvolvedores devem decidir se adotam novas linguagens ou se mantêm com as comprovadas. O artigo discute os prós e contras de ambas as abordagens, enfatizando a importância da aplicação prática e dos objetivos de carreira ao fazer essa escolha.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Cavalheiros, escolham suas armas! Linguagens de programação que vocês deveriam (não?) aprender
Filipp Shcherbanich HackerNoon profile picture
0-item
1-item

Como diz o velho ditado, poucas coisas na vida são piores do que levar uma faca para um tiroteio. Como um desenvolvedor experiente, posso dizer que isso é 100% verdade para o mundo da programação também. Você tem que permanecer relevante em uma indústria que está mudando mais rápido do que eu estou escrevendo este artigo. Além disso, você tem muitas tarefas diferentes para fazer. Então, depois de anos sobrevivendo neste ambiente, sempre mantenho meus brinquedos favoritos por perto e carregados. Para um trabalho silencioso e preciso, há meu confiável C++ . Se eu quiser fazer um big data bang, escolho R, um tanto extravagante, mas convincentemente poderoso. Mas se as coisas ficarem realmente confusas, tiro meu JavaScript da parede: ele me manteve vivo no passado e ainda pode sofrer mais abusos. Nenhuma linguagem é boa ou ruim para todos. Depende de você e do trabalho que você tem que fazer. Então, vamos discutir se você deve sempre acompanhar a moda ou se ater às boas e velhas coisas. Esta questão é um pouco mais complicada do que parece...

Todo dia é um novo começo?

Dada a natureza inovadora da tecnologia, discutir se devemos aprender outra língua pode parecer completamente bobo. De fato, se o mundo parasse, ainda estaríamos usando tábuas de argila e ábacos. Felizmente, o desejo de inovar leva a avanços contínuos, necessitando de constantes atualizações de habilidades. Por exemplo, na década de 1960, a comunicação com computadores envolvia furar papel e colocá-lo em uma máquina. Hoje, os computadores cabem em nossos bolsos, e os únicos buracos que encontramos são em nossos orçamentos depois de comprá-los. Imagine o desenvolvedor mais avançado dos anos 60 tentando permanecer relevante sem desenvolver suas habilidades.


Linguagens de programação evoluem mais rápido que seus criadores. Novos requisitos, ideias e ferramentas que mudam radicalmente abordagens e práticas tradicionais surgem em um ritmo notável. Especialistas que ignoram esse fato se tornam tão desatualizados quanto as linguagens às quais se apegam. Um exemplo importante é o COBOL, que, apesar de ser popular nos anos 60 para aplicativos de negócios, tornou-se quase obsoleto com os avanços tecnológicos.


Outro motivo para aprender uma nova linguagem de programação são as perspectivas de carreira. Entendendo que um maior conhecimento das últimas tecnologias aumenta suas chances de conseguir empregos bem remunerados, alguns especialistas estudam novas linguagens com entusiasmo. Esse esforço é justificado: conhecer novas tecnologias sem dúvida amplia as oportunidades de emprego. Às vezes, novas tecnologias são necessárias mesmo que a linguagem em si continue relevante, mas a empresa mude sua pilha de tecnologia. Nesses casos, os funcionários devem se adaptar ou encontrar novos empregos. Normalmente, eles escolhem aprender a nova tecnologia.


Aprender novas linguagens é benéfico não apenas por razões práticas, mas também pela criatividade. Pode oferecer novas abordagens para tarefas familiares, expandindo perspectivas e potencial. Por exemplo, Symfony, um framework PHP popular, foi inspirado pelo framework Spring baseado em Java. Muitos desenvolvedores de bibliotecas de código aberto pegaram ideias de bibliotecas implementadas em outras linguagens, e você pode ser o próximo inovador.

…Ou o ouro velho é ouro verdadeiro?

Mas, para falar a verdade, vamos olhar para o outro lado em todas as coisas que discutimos no capítulo anterior. Você sabe quando os cartões perfurados foram usados pela última vez? Adivinhe... E, a menos que você tenha trapaceado pesquisando a resposta no Google agora mesmo, seu palpite provavelmente estaria errado. A resposta certa é 2014. Naquele ano, os últimos cartões perfurados foram usados por máquinas de votação no estado de Idaho durante as eleições gerais nos EUA. Ou pegue o COBOL, a linguagem que destruímos como obsoleta há apenas alguns parágrafos. Bem, a partir de 2017, de acordo com Reuters , 43% de todos os sistemas bancários eram baseados em COBOL; 80% das transações presenciais empregavam COBOL e havia 220 bilhões de linhas de código escritas em COBOL que ainda estavam em uso. Então, na verdade, há uma linha (não tão tênue) entre a irrelevância de uma linguagem para sistemas modernos e sua obsolescência em geral.


Quais são as chances de uma linguagem de programação que você conhece ou vai aprender se tornar obsoleta e inútil em breve? Não há uma resposta real para isso, apenas palpites. Alguns autores estimam que o ciclo de vida médio de uma linguagem de programação esteja em qualquer lugar entre 14 e 18,5 anos . Outros dizer é mais próximo de 25 anos para línguas dominantes e 5-6 para ferramentas mais específicas e exóticas. Mas também há mais um ponto de vista vale a pena mencionar porque parece bastante comprovado pela história. É baseado no efeito Lindy, melhor descrito por Nassim Nicholas Taleb em seu livro 'Antifrágil: Coisas que lucram com a desordem' : “Se um livro foi impresso por quarenta anos, posso esperar que ele seja impresso por mais quarenta anos. Mas, e essa é a principal diferença, se ele sobreviver mais uma década, então será esperado que ele seja impresso por mais cinquenta anos. Isso, simplesmente, como regra, diz a você por que coisas que existem há muito tempo não estão "envelhecendo" como pessoas, mas "envelhecendo" ao contrário. Cada ano que passa sem extinção dobra a expectativa de vida adicional. Este é um indicador de alguma robustez. A robustez de um item é proporcional à sua vida!”


Em outras palavras, línguas que já existem há tempo suficiente provavelmente permanecerão conosco por mais algumas décadas. Pelo contrário, há uma chance de que coisas novas e sofisticadas se tornem obsoletas muito em breve – mas isso ainda está para ser visto. Cada ano de uma língua em serviço ativo aumenta suas chances de sobreviver por mais tempo.

Pense em carreiras em vez de idiomas

Então o que devemos fazer? Aprender uma linguagem? Uma nova ou uma antiga? Bem, aprender em si é sempre bom. Pesquisas mostram que quase metade de todos os desenvolvedores consideram aprender uma nova linguagem. De acordo com o JetBrains' " O estado do ecossistema de desenvolvedores 2023 " pesquisa, mais de 40% dos entrevistados expressaram esse desejo. Desenvolvedores trabalhando com JavaScript (49%), PHP e Python (45%) e desenvolvedores C++ (44%) mostram mais interesse em aprender algo novo. A escolha da linguagem que você quer aprender depende, na verdade, do seu plano de carreira. Se você está pensando em um emprego estável que pode durar bastante tempo (mas não para sempre), você pode optar por algo antigo e comprovado. Essas oportunidades podem surgir em ciência, manufatura e bancos tradicionais, ou seja, instituições com maquinário caro de longa duração e/ou infraestrutura fortemente dependente de código legado.


Por exemplo, a maioria dos programadores COBOL eram entre 45 e 55 anos em 2017. Adicione sete anos que se passaram desde que a pesquisa foi publicada e você verá que muitos desenvolvedores COBOL estão entrando na idade de aposentadoria. Se o COBOL durar tanto quanto o esperado, esta pode ser sua chance de se tornar um especialista raro de alto valor. Mas tenha em mente que tal escolha exigiria conhecimento muito profundo e habilidade imaculada. Além disso, se algo der errado, sua futura escolha de emprego pode ser muito limitada, a menos que você decida mudar seu perfil.


Se você prefere a vida vibrante das startups ou o poder dos gigantes da tecnologia, você deve escolher algo mais moderno e promissor. Ver o que os outros estão fazendo pode lhe dar uma pista: por exemplo, verifique as classificações atualizadas de linguagens de programação por Monge Vermelho ou TIOBE . Não os leve muito a sério, pois qualquer classificação imaginável é baseada em algum grau de simplificação, mas eles ainda podem lhe dar uma visão geral do que está acontecendo. Além disso, a pesquisa mencionada pela JetBrains revela quais idiomas estão sendo aprendidas com mais frequência. Dessa forma, você certamente aprenderá uma língua com futuro.

Seja sempre prático

O conhecimento adquirido sem aplicação prática rapidamente se torna obsoleto. Portanto, aprender um novo idioma apenas para marcar uma caixa é inútil. Em vez disso, considere como você pode usá-lo em seu trabalho atual. Se sua empresa já usa a tecnologia, pode ser um grande incentivo para aprender. Simplesmente peça ao seu gerente ou líder de equipe para atribuir a você tarefas relacionadas a ela, permitindo que você solidifique seu conhecimento por meio da prática. Se seu trabalho usa uma pilha de tecnologia fixa e não há oportunidade de aprender algo novo, você sempre pode criar seu próprio projeto paralelo para explorar novos limites de forma independente. Apenas certifique-se de não violar seu contrato de trabalho ao fazer isso.


Mesmo que você esteja apenas começando seu caminho no desenvolvimento, a estratégia continua a mesma: escolha uma tecnologia que você possa usar na vida real (no trabalho ou em um projeto paralelo). Escolha uma linguagem com um futuro brilhante, não uma que a comunidade de desenvolvedores rejeita. Como você está apenas começando sua jornada e não está sobrecarregado por altos salários e expectativas como especialista, você pode mudar sua pilha de tecnologia de forma fácil e rápida se a segunda linguagem que você aprender lhe agradar mais do que a primeira. Você tem maior flexibilidade em sua escolha, e vale a pena aproveitar esse benefício. Só não exagere: mudanças muito frequentes em sua pilha de tecnologia e um fluxo avassalador de conhecimento podem ser prejudiciais. Encontre um equilíbrio entre o que você quer e o que você pode gerenciar, e você certamente alcançará o sucesso.


Para alguns desenvolvedores, especialmente aqueles com muitos anos de experiência, meu conselho pode parecer óbvio. Mas como diz o ditado, "A repetição é a mãe do aprendizado", e ninguém jamais refutou a verdade dessas sábias palavras. Espero que meu artigo encoraje aqueles que há muito queriam, mas eram preguiçosos demais para agir e motivar novatos ansiosos. Espero que meu conselho seja útil e talvez até inspire mais crescimento profissional.