🏅Três linguagens de programação para impulsionar sua carreira
JavaScript, Python e… enganou-se se chutou Java. Mais: alternativa open-source ao Figma, es-toolkit, GitHub Copilot Autofix no giro da IA e um buzinaço de robotáxis.
Na edição de 1º de junho, abordamos o ranking das linguagens de programação mais utilizadas globalmente. Os seguidores da BeTalent Academy estão familiarizados com nossa ênfase em JavaScript, linguagem onipresente em nosso cotidiano.
Recentemente, novos dados reforçaram nossas observações e tendências atuais. Se você busca a linguagem mais promissora para aprender, deseja dominar uma linguagem útil em um novo domínio ou simplesmente gosta de explorar novas linguagens por hobby, aqui está nossa lista das três mais recomendadas.
As duas primeiras são amplamente reconhecidas em diversos rankings. A terceira pode surpreender, mas explicaremos o motivo.
JavaScript
JavaScript não lidera todos os rankings de uso global de linguagens. O Índice Tiobe posiciona JavaScript como a 6ª linguagem mais usada mundialmente. Já o índice PYPL a coloca em 3º lugar.
Por que, então, a BeTalent prioriza JavaScript? Porque o desenvolvimento web atual é dominado por JS.
JavaScript é a linguagem por excelência do frontend e, desde o surgimento do Node.js em 2009, seguido pelo Deno e agora o Bun (ambientes de execução que permitem rodar JS fora do navegador) tornou-se também uma das escolhas preferidas para backend. Isso facilita a sincronização entre devs. Não por acaso, também é a linguagem mais presente em repositórios no GitHub.
Assim, aprender e dominar JavaScript nos parece uma das primeiras escolhas. Faz o que outras linguagens fazem, mas com o diferencial de ser unanimidade no frontend. Além disso, possibilita iniciar rapidamente, experimentar resultados de forma ágil e conta com um ecossistema rico em recursos.
Python
Aqui, não somos nós que estamos dizendo, mas o mercado. Python atingiu sua maior classificação de todos os tempos no Índice Tiobe em agosto de 2024: 18,04% de popularidade. Isso supera os 18% que Java alcançou em 2016, embora Java ainda mantenha um recorde histórico (26,49% em 2001).
Por que considerar Python? Além de sua sintaxe simples e amigável, ideal para iniciantes, é a linguagem por excelência das aplicações de análise e ciência de dados, bem como para desenvolvimento de IA.
Python pode ser comparado a um volante versátil, adaptável a diversos tipos de veículos. Mesmo que sob o capô do carro operem linguagens de baixo nível mais complexas, Python atua como uma interface que se acopla a qualquer uma delas, facilitando a comunicação via código para diversas finalidades. É amplamente utilizada, por exemplo, em aplicações científicas, de biotecnologia, engenharia, cálculos e afins.
Por ser relativamente fácil de aprender e pelo domínio na área de dados, Python é uma opção recomendada para quem busca oportunidades nesse campo ou deseja expandir seu conjunto de habilidades.
Rust
Rust pode ser uma surpresa, mas sua inclusão se justifica por várias razões:
está crescendo em ritmo acelerado em termos de adoção;
possui recursos atraentes para programadores de diversos paradigmas;
está em alta em aplicações como blockchain e criptografia;
é a única linguagem entre as três apresentadas capaz de lidar efetivamente com programação de baixo nível, desde microcontroladores até sistemas operacionais como o Linux.
Um fato interessante é que, após declarações da Casa Branca sobre os riscos de linguagens como C e C++ devido ao gerenciamento manual de memória, Rust ganhou destaque por oferecer robustez similar, mas com segurança de memória aprimorada. Tal robustez, por outro lado, a tornou preferida entre criminosos cibernéticos para construção de ransomwares e malwares, devido à dificuldade de engenharia reversa.
Rust é uma boa opção para acompanhar e manter em seu radar. Embora apresente uma curva de aprendizado mais íngreme que JavaScript e Python, permite compreender fundamentos da computação e explorar domínios onde as outras duas não seriam a melhor escolha, como programação de dispositivos ou sistemas que exigem eficiência e desempenho extremos.
Conclusão
Com essas três linguagens — JavaScript, Python e Rust — você estará bem equipado para enfrentar desafios expandir domínios. Cada linguagem tem um foco: JavaScript domina desenvolvimento web, Python lidera em ciência de dados e IA, Rust se destaca em performance e segurança.
Você não conseguirá ser bom em tudo. Mas foque em ser bom em uma dessas linguagens e tenha as outras como cartas na manga ou mesmo como objeto de estudo. Essa combinação não só ampliará oportunidades profissionais, mas também fornecerá uma compreensão mais profunda e rica da própria programação.
❓ O que diferencia arquitetura modular de microsserviços?
Pode parecer que ambas são a mesma coisa ou muito parecidas — ou grego, se você não é familiarizado com padrões de projetos em software. Explicaremos ao fim da edição.
🤔 Tchau Figma? Alternativa open-source para colaboração entre designers e devs
Essa é principalmente para designers, mas também útil para devs, principalmente frontends, que precisam de uma colaboração melhor ao lidar com protótipos. Penpot é uma alternativa promissora, gratuita e de código aberto, para colaboração em design e código. É bem parecido com o Figma, o líder do setor. Funciona via web e também auto-hospedado. Trabalha com padrões abertos como SVG, CSS e HTML e permite protótipos interativos. Mas o mais legal é que já possibilita design responsivo (Flex e Grid) integrado e gera código a partir dos elementos visuais. Mais sobre no site da ferramenta e no repo do projeto.
🧰 Uma caixa de ferramentas moderna para JS
Você deve conhecer ou usar Lodash ou até mesmo jQuery para ganhar poderes extras em JavaScript, não? es-toolkit é uma biblioteca de utilitários alternativa e mais atual, que vale olhar de perto. Ela oferece um conjunto de funções com implementações modernas, como debounce, delay, chunk, sum e pick. Com foco em eficiência e segurança, reduz o código JS em até 97%, ao permitir uma abordagem modular que elimina código não utilizado, e é testada com 100% de cobertura em testes. Também é compatível com TypeScript, uma necessidade nos dias atuais. Mais no repo oficial da ferramenta caixa de ferramentas.
🤖 Giro da IA: GitHub Copilot Autofix, anúncios do Google, sacada da Anthropic e Grok-2
GitHub segue firme em lançamentos e IA para devs. O mais recente é o Copilot Autofix. É como um assistente de cibersegurança, capaz de detectar e corrigir vulnerabilidades como injeção SQL e cross-site scripting. Útil na segurança de PRs e em reduzir débito técnico no quesito. Ainda no mundo da IA, Google anunciou recursos para transformar smartphones Pixel, e Androids em geral, em aparelhos inteligentes, capazes de se comunicarem por voz e imagens — como a OpenAI fez com o GPT tempos atrás. Anthropic trouxe Prompt caching na API do Claude 3.5 Sonnet e Claude 3 Haiku, que permite que o contexto usado com frequência pela IA seja armazenado em cache, o que reduz custos em até 90%. Além disso, xAI, de Elon Musk, lançou Grok 2, pretendendo concorrer com o GPT-4, mas de novo atrás dos concorrentes.
🏈 Dois engenheiros seniores ou oito devs novatos?
O que é melhor? Talvez você chute, sem pensar muito: dois engenheiros seniores. Por quê? Sim, dois seniores trazem experiência em tomada de decisões de negócios e garantia de qualidade, mas podem ser mais caros e às vezes mais lentos para iniciar projetos. Já oito juniores oferecem mais mão de obra, energia e velocidade inicial, mas podem carecer de habilidades estratégicas e produzir trabalho que requer revisões futuras. Raviraj Achar, que escreve a newsletter Techlead Mentor, defende que o melhor mesmo está no meio termo, como quase tudo na vida. Um time ideal combina ambos: experiência e visão estratégica de alguns engenheiros seniores com a energia e vontade de uma turma de juniores. A leitura completa é rápida e com bons insights.
🚕 Buzinaço de robotáxis: bug no mundo real
Está aí um problema que envolve software, IA e robótica no complexo mundo real. Waymo é uma startup que fabrica robotáxis (táxis autônomos). Carros da empresa já circulam por São Francisco, EUA. Só que estão causando um fenômeno barulhento. Como são programados para buzinar ao se aproximar de obstáculos, o estacionamento onde os carros ficam virou um buzinaço, principalmente na madrugada. Como há vários veículos circulando e tentando estacionar muito próximos, um fica buzinando para outro com frequência. Pior para quem mora (e dorme) na vizinhança. A Waymo disse que estuda uma correção. Vídeo sério aqui e tirando sarro aqui. Um bom teste de solução: como você programaria os carros e corrigiria este bug?
✅ Resposta: O que diferencia arquitetura modular de microsserviços?
Arquitetura modular e de microsserviços diferem principalmente em granularidade, autonomia e implantação. A modular divide um sistema em módulos dentro de uma única aplicação, compartilhando recursos e banco de dados centralizado. Já microsserviços são unidades independentes, cada um com código, banco de dados e implantação próprios, comunicando-se via APIs. Microsserviços oferecem maior flexibilidade e escalabilidade individualizada, ideal para grandes organizações. A arquitetura modular proporciona desenvolvimento mais simples, menor latência e gerenciamento de estado mais fácil, adequando-se a aplicações que priorizam consistência de dados e estabilidade. Escolher entre uma e outra, como quase tudo em software, é um grande "depende" (do projeto). Mais sobre arquitetura modular aqui e sobre microsserviços aqui e aqui. Uma comparação mais ampla aqui.
Obrigado por ler!
Voltaremos com mais fatos, tendências e dicas na próxima semana. Curta, compartilhe, comente e vote na enquete. Obrigado por ler e por estar com a BeTalent!"