Como anda o mercado/ecossistema Python?
Trabalho com Java e gosto do Java, mas ando buscando aprender uma nova linguagem multiplataforma que não seja tão do hype, que fuja da JVM que eu conheço e seja leve
Comecei a estudar Go pelo hype, mas não curti. Parece C, achei uma lang muito poderosa, mas não sei se o cenário para web como é difundido realmente é a melhor aplicação pra linguagem.
Fiz POC em Kotlin, é um Java mais enxuto, tem as vantagens do ecossistema (JVM), não curti o null safety, no geral achei uma lang boa, mas quero algo fora da JVM
PHP já usei na faculdade, gostava muito, mas roda apenas na web e todo ano o pessoal diz que vai morrer
Curto muito a sintaxe typescript, mas aquele modelo assíncrino do eventLoop do NodeJS não me agrada
Voltaram a falar mais do Ruby esses tempos, falam bem da sintaxe, multiplataforma, tem o rails, mas não sei se vale
Python é bem mais versártil, sintaxe simples, é usada na academia em área de pesquisa, é usado na web (Django, Flask, etc), pode ser usado pra script. O que vejo reclamarem é somente da lentidão, comparada à outras linguagens em benchmarks
Tô nessa dúvida aí de qual escolher pra me aprofundar, caso eu estude Pythonzão da massa. Como anda o ecossistema/mercado dessa linguagem atualmente? No que ela tá sendo usada principalmente?
Sobre como anda a linguagem, eu tenho um amigo que trabalhava com blockchain, mais precisamente Ethereum, e eu perguntei pra ele o que o bitcoin tinha de melhor em relação ao Ether pra ser tão mais caro, e a resposta dele resume muito bem o mercado tech: "nada, o bitcoin só é mais popular". O mesmo vale pro Python em muitos casos onde ele não é tão utilizado. Por exemplo, uma das maiores varejistas online do Brasil usa sua stack de backend em Python (usando o FastAPI, que em alguns benchmarks chega a se equiparar em velocidade com framework web em Go). É uma linguagem muito boa pra web sim, JS é melhor? Não sei, só posso afirmar que JS é mais popular.
Eu trabalho com Dados e na área de dados Python é realmente soberano (mais uma vez: é o melhor? Não sei, mas é o mais popular). Sobre ser lento, é claro que se você rodar um "for" que printa "hello world" na tela 100 mil vezes, a implementação em C ou Java vai rodar mais rápido, mas ninguém é contratado pra ficar printando texto na tela 100 mil vezes. A velocidade depende muito mais de como você faz do que a linguagem, fazer bem feito numa linguagem "lenta" vai ter mais performance do que mal feito numa linguagem rápida (já consei de ver isso acontecer).
Também vejo muito python na área acadêmica por ser algo amigável e ter um bom ecossistema pra fazer contas (graças a comunidade de dados), mas não raro também vejo gente rodando Julia (que tem muito mais performance e consome menos recurso, mas não é popular) e alguns dinossauros dando dinheiro pro Matlab.
E como não poderia faltar, o que não falta é gente metendo pau na linguagem (em sua maioria, javeiros) falando que a linguagem é ruim, porque é simples (já ouvi muito isso), ou que não é performatica e o código que ele demorou 2 semanas a mais do que eu pra fazer rodou 0.4 segundos mais rápido. Então você não vai fugir dos "bairristas", mas programador de verdade não costuma perder tempo falando mal de linguagem.
Claro que ela não é a melhor opção pra tudo, nada nunca vai ser, mas eu gosto e resolve bem os problemas que eu preciso resolver no meu dia a dia (academicamente e no trabalho).
Mas o ecossistema e a comunidade são muito boas e você encontra lib pra tudo (até pras coisas que o python não é muito bom como mobile e jogos).
Em suma, é uma linguagem boa, não é perfeita. Apesar de ser versátil e resolver bem muitos problemas (como web, principalmente com o FastAPI) 90% das vagas são pra área de dados. E a simplicidade é uma mão na roda para explorar bases de dados e prototipagem.
p.s. tenho visto uma crescente do python na área de finanças (mesmo com a hegemonia do Excel) e também na área da engenharia (provavelmente herdado do pessoal que vem da academia)
E como não poderia faltar, o que não falta é gente metendo pau na linguagem (em sua maioria, javeiros) falando que a linguagem é ruim, porque é simples (já ouvi muito isso), ou que não é performatica e o código que ele demorou 2 semanas a mais do que eu pra fazer rodou 0.4 segundos mais rápido. Então você não vai fugir dos "bairristas", mas programador de verdade não costuma perder tempo falando mal de linguagem.
Pura verdade. O pior é ver gente experiente falando mal achando que sabe tudo sobre todos os assuntos e não sabe nada a fundo, muito menos sobre a grandiosidade da comunidade, ecossistema e qualidade das bibliotecas Python. Nem se dão o trabalho de pesquisarem o que tá rolando de novidade. Parecem papagaio repetindo as mesmas frases "ah o GIL, o GIL, o GIL" hahah
Na maioria das áreas em que é usado, em 99,99% dos casos, Python dá conta muito bem em performance. Quando chegar ao ponto próximo de não dar conta, a infraestrutura é que escala, não a linguagem. Ainda assim, quando precisar melhorar a linguagem, dá para fazer melhorias (como o Facebook(PHP) e Instagram(Python) fizeram, mas até chegar nesse ponto vc está milionário para pagar engenheiros fazerem o que precisar) ou colocar outras linguagens em pontos críticos.
Venho vendo várias bibliotecas Python usando Rust na parte pesada dando a liberdade de codar em Python bem mais rápido no que precisar em todo o resto, como sempre aconteceu, só que antes era mais com Python usando C/C++.
Só para citar algumas com performances fantásticas: ConnectorX (trazer dados do BD para Dataframes), Polars (Dataframes como da Pandas), Granian / Robyn / socketify (web apps HTTP, WSGI, ASGI, Websockets), msgspec (serialização e validação JSON, MessagePack, YAML e TOML), ruff (análise e formatação de código), asyncpg (cliente PostgreSQL).
Botar uma ideia em prática rápido e ter manutenção mais fácil, como Python faz, tem um porquê e se vc não fizer isso tem um preço. Se fosse só performance, todos estariam fazendo tudo em Rust ou até Assembly.