Resumo : C, C++ e C# ocupam a segunda, terceira e quarta posição, seguidas por Java, SQL, JavaScript, R, HTML e TypeScript. Entre os destaques deste ano está a crescente popularidade do SQL, que obteve o primeiro lugar no ranking de empregos da mesma pesquisa – muitas vagas estão listando SQL como segunda linguagem requerida. As informações são do site IEEE Spectrum.
Bem-vindo ao nono ranking anual das principais linguagens de programação do IEEE Spectrum ! Este ano, reformulamos e simplificamos nossa ferramenta de classificação interativa e fizemos outras alterações nos bastidores, mas o objetivo permanece o mesmo: combinar várias métricas de diferentes fontes para estimar a popularidade relativa de diferentes idiomas.
Você pode entrar nos detalhes de nossas mudanças metodológicas abaixo (o TL;DR é que eliminamos a necessidade de as pessoas executarem uma bola gigante de matemática de ponto flutuante em seu navegador), mas primeiro vamos ver o que os rankings nos dizem isso ano.
Principais linguagens de programação do IEEE Spectrum 2022
Python permanece no topo, mas é seguido de perto por C . De fato, a popularidade combinada de C e das grandes linguagens semelhantes a C – C++ e C# – superaria o Python por alguma margem. Java também continua popular, assim como Javascript, este último impulsionado pela complexidade cada vez maior de sites e ferramentas no navegador (embora valha a pena notar que em alguns lugares, o legal agora é deliberadamente simplificar sites estáticos construídos apenas com HTML e CSS simples ).
Mas entre esses fortes está a crescente popularidade do SQL. Na verdade, está em primeiro lugar em nosso ranking de empregos, que analisa apenas as métricas do IEEE Job Site e do CareerBuilder.
Tendo examinado literalmente centenas e centenas de listas de empregos durante a compilação desses rankings para você, caro leitor, posso dizer que a força do sinal SQL não é porque há muitos empregadores procurando apenas codificadores SQL, no maneira que eles anunciam para especialistas em Java ou desenvolvedores de C++. Eles querem uma determinada linguagem mais SQL. E muitos deles querem aquele “mais SQL”.
Pode não ser a linguagem mais glamorosa… mas alguma experiência com SQL é uma flecha valiosa para se ter em seu quiver.
Isso ocorre provavelmente porque muitos aplicativos hoje envolvem uma camada de front-end ou middleware conversando com um banco de dados de back-end, geralmente em uma rede para eliminar restrições de recursos locais.
Por que reinventar a roda e tentar hackear seu próprio banco de dados e o protocolo de interface de rede que o acompanha quando tantas implementações de SQL estão disponíveis? Provavelmente, já existe um que se encaixa no seu caso de uso.
E mesmo quando um back-end em rede não é prático, computadores embarcados e de placa única podem ser encontrados com força suficiente para executar um banco de dados SQL localmente.
Portanto, pode não ser a linguagem mais glamourosa ou a que você usará para implementar o próximo Grande Algoritmo, mas alguma experiência com SQL é uma flecha valiosa para se ter em sua aljava.
Observar as listas de empregos completas também mostra que, se você estiver interessado em guerra cibernética (ofensiva e defensiva), é muito bom usar o código assembly. Anteriormente, eu geralmente associava código assembly a coisas como drivers de dispositivo, ajustando o entranhas de sistemas operacionais, ou retrocomputação.
Mas muitas das listas de empregos que exigiam experiência em montagem foram publicadas pelos tipos de contratados de segurança cibernética de baixo perfil que orbitam Washington, DC, e até mesmo uma agência governamental – a NSA.
É claro que as listas de empregos não são as únicas métricas que analisamos no Spectrum . Uma lista completa de nossas fontes está aqui , mas em poucas palavras analisamos nove métricas que consideramos boas proxies para medir em quais linguagens as pessoas estão programando.
As fontes incluem GitHub, Google, Stack Overflow, Twitter e IEEE Xplore . Os dados brutos são normalizados e ponderados de acordo com as diferentes classificações oferecidas – por exemplo, a classificação padrão do Spectrum é fortemente ponderada para os interesses dos membros do IEEE, enquanto a Trending dá mais peso aos fóruns e métricas de mídia social.
Nos anos anteriores, permitimos que os leitores ignorassem essas classificações predefinidas e criassem uma classificação personalizada ajustando os pesos da maneira que quisessem.
No entanto, descobriu-se que muito poucas pessoas estavam aproveitando esse recurso. A remoção nos permite pré-computar as classificações predefinidas em vez de servir um aplicativo que continha os dados de todas as métricas e, em seguida, calculava as classificações no navegador em tempo real.
Além de tornar o aplicativo grande e, portanto, mais lento para carregar, também encontramos o problema de que navegadores diferentes podem produzir resultados ligeiramente diferentes, graças a variações nas implementações de ponto flutuante! (Este problema de diferentes implementações dando resultados diferentes foi amplamente resolvido pelo padrão IEEE-754para números de ponto flutuante, então seria interessante voltar e descobrir quais versões do navegador não são compatíveis. Mas, por enquanto, vamos todos concordar em não operar nenhum, digamos, reator nuclear com um aplicativo da Web, ok?)
Criar os rankings também nos leva aos dilemas típicos enfrentados por qualquer taxonomista – você pode pensar que tem uma maneira direta e inequívoca de classificar as coisas, mas então casos extremos e híbridos estranhos invariavelmente aparecem.
Além disso, há a eterna luta entre “agregar” e “dividir” – é melhor focar nas semelhanças e, assim, colocar várias coisas sob menos rótulos no geral, ou focar nas diferenças e dividir as coisas o máximo possível e ter rótulos mais refinados ?
Para nós, esta questão começa considerando apenas o que é uma linguagem de programação. Isso faz com que muitas pessoas gritem conosco, especialmente no que diz respeito ao HTML/CSS.
Embora não seja Turing-completo, exceto sob condições altamente artificiais, consideramos HTML/CSS uma linguagem de programação porque as tags em seu código-fonte são destinadas principalmente como imperativos para fazer coisas como “apresentar este texto em um formato de tabela” ou “fazer isso cabeçalho maior que o corpo do texto.” Outra questão que surge é quando você decide que um superconjunto ou subconjunto de uma linguagem se tornou distinto o suficiente para ser considerado separadamente?
Geralmente, deixamos o pragmatismo ser nosso guia . Você pode argumentar que os microcontroladores Arduino são programados em um subconjunto de Java (ou C++), mas se alguém pedisse ajuda para escrever um projeto Arduino, dar a eles um livro sobre Java seria de uso limitado.
Por outro lado, existem muitos livros com títulos na linha de Writing Arduino Programs Made EZ, então a linguagem Arduino é listada separadamente. Por outro lado, não parece fazer muito sentido colocar, digamos, MicroPython e CircuitPython em qualquer lugar que não seja firmemente na caixa do Python, pelo menos por enquanto. As categorizações evoluem. Por exemplo, anteriormente agrupamos Typescript com JavaScript, mas a adoção cresceu o suficiente para que faça mais sentido quebrá-lo.
Essas são todas decisões essencialmente subjetivas, assim como os pesos que atribuímos a diferentes métricas, portanto, sua milhagem pode variar. Nós simplesmente oferecemos isso como nossa abordagem para um problema complicado – afinal, ninguém pode medir diretamente em quais linguagens as pessoas estão programando.
Esperamos que você os ache úteis e, se achar que precisamos fazer julgamentos diferentes, deixe-nos um comentário dizendo o porquê!
Fonte : IEEE Spectrum
Luz P’ra Nós!
luz pra nós
Luz p’ra nós.
Luz p´ra nós!!
Post bacana.
Sei programar Python.
Luz p’ra nós!
Luz p’ra nós!
Luz p’ra nós
#LuzPraNos
Manjo um pouco de python. Lpn 🍎
Luz p’ra nós!
Luz p’ra nós!
Luz p’ra nós!
Hahah daora!