The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
4.4 KiB

+++
title = "Python Perde a Segunda Posição Nas Linguagens Mais Amadas: Uma Reflexão"
date = 2020-06-09
[taxonomies]
tags = ["python", "typescript", "tipos", "stackoverflow", "pesquisa"]
+++
Na pesquisa desse ano do StackOverflow, Python perdeu a segunda posição no
ranking de "Linguagens Mais Amadas" para TypeScript. No nosso grupo de Python,
as pessoas começaram a se perguntar o porque. E eu achei que seria
interessante postar minhas reflexões sobre a situação.
<!-- more -->
Antes de mais nada, eu preciso fazer um aviso de que eu adoro Python, e eu
acredito que é uma grande linguagem por ser concisa mais ainda assim bem
expressiva. Eu não acredito que tenha algum outra linguagem que chegue perto
de Python nesses quesitos.
Aviso dado, me deixem explicar porque eu acho que Python perdeu o segundo
lugar no coração dos desenvolvedores.
## Tipos
Um dos primeiros pontos que as pessoas pensam quando falamos de "perdeu uma
posição" em qualquer ranking é porque "ficou pior". Mas eu não acho que seja o
que aconteceu aqui, e o que realmente aconteceu é que TypeScript mostrou algo
melhor para desenvolvedores.
TypeScript foi projetada para desenvolvimento JavaScript, uma zona onde
qualquer coisa vale, tipos são bem flexíveis e mágicos -- ao ponto de que a
maior parte das coisas produz um
[Wat](https://www.destroyallsoftware.com/talks/wat). Usando tipos,
certificando que você não está adicionando uma string a um array, um monte de
problemas desaparecem. Não que seja uma bala de prata, mas previne uma classe
inteira de problemas que iriam aparecer em produção.
Assim, em um ambiente onde coisas caóticas acontecem, de repente você tem algo
que coloca ordem de volta e você vai adorá-lo por isso. Não que os tipos sejam
a única coisa que faz com que TypeScript seja mais amado que JavaScript, mas
pode explicar parcialmente o porque.
(Apenas para adicionar nesse ponto: Rust ainda é a linguagem mais amada, agora
por 5 anos consecutivos, e tem uma tipagem bem forte, semelhante a Haskell,
com uma sintaxe mais próxima das linguagens mais usadas.)
Eu ainda acredito que, a longo prazo, type hinting pode preencher essa falha
do Python para voltar a sua posição original. Eu gostaria que se eu
adicionasse hints em todas as funções e ter algo que permitisse definir o
nível de validação em ambientes distintos: Fazer a aplicação gerar um erro se
a função fosse chamada com os tipos incorretos em desenvolvimento; gerar um
warning (no logging ou no stderr) em staging; e fazer absolutamente nada em
produção. Isso permitiria que eu tivesse o melhor de dois mundos: Dinâmico
quando desenvolvendo mas estático em testes.
## Python 2 Morreu
Uma das coisas que aconteceu com o Python no começo desse ano, quando a
pesquisa foi feita, foi que Python 2 ficou sem suporte oficial. Obviamente
isso não significa que as instalações de Python 2 simplesmente pararam de
funcionar, mas deu um empurrão a mais para portar código para Python 3.
E, mesmo com todas as melhorias no Python 3 para ajudar a portar aplicações,
ainda assim não foi algo completamente suave. Essa mudança, essa mudança
forçada, pode ter deixado alguns desenvolvedores Python com um gosto ruim. E
ninguém quer simplesmente corrigir problemas com a linguagem, deixando as
coisas funcionarem do jeito que estavam antes, coisas estranhas e tudo mais.
## Hype
Python não é mais uma linguagem "hypada".
Ainda é a referência para machine learnign e campos relacionados, mas o antigo
ambiente de desenvolvimento web foi capturado pelo hype de outras linguagens.
Python não é mais a "legalzisse" de desenvolvimento web. E porque não é mais a
legalzisse, pessoas não _querem_ a coisa antiga; a coisa antiga não é mais
legal, então o pessoal não gosta mais dela.
Relacionado: Só porque alguma coisa tem hype, não quer dizer que seja
_melhor_; apenas faz com que as coisas sem hype se tornem "não melhores",
mesmo que não tenha havido qualquer alteração nesses últimos.
## Relacionado
Um ponto que não foi levantado no grupo: Mesmo que Python tenha perdido o
segundo lugar no ranking de "Mais Amadas", Python ainda é a linguagem mais
procurada -- o que significa que ainda é a linguagem que os desenvolvedores
mais querem _aprender_. Se o sentimento geral fosse de "Python é ruim!", eu
duvido que a procuram ainda seria representativa -- e Python ainda tem uma
liderança considerável com relação a JavaScript.
<!--
vim:spelllang=pt:
-->