@@danieltietz4146 quando o programador é ruim ele defende uma linguagem ruim e detona as outras. Motivo: tem dificuldade em usar outras linguagens. Ai fazem video.
Sobre os venvs, já experimentou o uv? Saiu recentemente mas eu acho que tem um potencial muito grande de se tornar o método padrão de gerenciar projetos em python.
Sobre a questão da performance e GIL, muito esforço tem sido investido nas últimas versões (desde a 3.11) pra melhorar a situação. Na 3.13 além de já ter um compilador JIT, tem um teste experimental para quem quiser retirar o GIL e fazer seus próprios testes. É bem possível que as próximas versões inclusive já venham sem o GIL
Amo Python, mas também não sou fã de linguagens dinâmicas. Porém Python não é tão problemático igual as pessoas pensam. Meu serviço depende de uma CLI feita em Python que precisa interagir com PDFs. Por conta da tipagem e performance, tive a ideia de refazer essa CLI em outra linguagem. A princípio a intenção era usar Go, mas desisti porque Go não tem um package bom pra ler pdfs. A segunda opção era Rust, mas Rust é uma linguagem mais complexa e eu tava em busca de algo mais simples e de preferência orientado a objetos. Sem Go e Rust, resolvi dar uma olhada no C# e gostei muito da linguagem, mas pra feature mais importante da CLI (ler pdfs grandes) é simplesmente pior do que o Python. Utilizando a mesma lib nos dois (mupdf), o Python lê um arquivo grande e extrai todos os emails em 27 segundos. Em contrapartida, o C# demora 36 segundos rodando em release. Testei outras libs em C#, mas nenhuma extraiu o texto da forma que eu queria. Também fiz alguns testes pensando em concurrência. O teste era simples: pegar todos os arquivos pdf de um diretório e processá-los. E, por incrível que pareça, o Python superou o C# nisso também. Utilizando o multiprocessing do Python, ele processou todos os 12 arquivos em 5s, porque processava todos de uma vez só (tenho 12 cores). Enquanto isso, não descobri como utilizar vários cores no C#, apenas vários threads, o que fez com que o programa demorasse 18s nos mesmos 12 arquivos. Achei isso bizarro, porque mesmo utilizando o multithreading no Python ele rodava mais rápido (12s). Ainda não discartei a possibilidade de, ao não conhecer C#, eu não notar alguma otimização que possa ser feita em relação ao multithreading. Isso me fez perceber que independente da linguagem ser dinâmica ou estática, lenta ou rápida, você precisa fazer alguns benchmarks pro seu caso de uso pra ver se é viável. Se tratando apenas do processamento de PDFs, não seria necessário abandonar o Python no momento. Inclusive, também testei com Java utilizando o PDFBox e foi melhor do que o C# em vários threads (10s), porém pior lendo apenas um arquivo grande (50s). Só que achei a DX bem melhor em C#. Enfim, agora o que me resta é testar algumas outras linguagens. Mas é bem possível que eu continue com C# mesmo. Perder alguns segundos na execução não importa tanto levando em consideração todos os outros benefícios que a linguagem pode trazer.
Python, pra não sofrer com o ambiente, o melhor é baixar a versão zip do Python, extrair dentro do projeto, e configurar as variáveis de ambiente todas pra dentro do projeto.
Só digo essas coisas para os que não gostam de Python usem Zig, Rust, C já que querem performance pois as empresas que criam e usam IA tem no seu core o uso de Python e estam comendo os empregos dos devs. kkkk
Python é que nem o Brasil. É ruim mas é bom, mas é ruim, mas a gente gosta. Mojo lang (em dev) resolveu essa questão dos tipos estáticos e tem uns features bem modernos. O brother que projetou a lang (Chris Latner) parece realmente entender o que esta fazendo.
Desnecessário esses vídeos que fazem críticas as linguagens, para quem está começando isso é horrível. Querendo ou não, vcs "influencers" do youtube realmente influencia o pensamento de maioria. Conselho meu: Python é uma língua boa, principalmente de início, ajuda em vários aspectos para vc ter uma boa base prática de programação. Os mais experientes podem criticar porque para certos trampos ela não pode ser eficiente mas o que vcs devem se perguntar é se vcs estão fazendo a mesma coisa que eles. Você só pensa em performance quando vc já está em um nível elevado e esse é seu único objetivo, no momento vc só está procurando desenvolver e resolver problemas.
Finalmente não to mais me sentindo sozinho achando python péssimo pra back-end kkkk dificil criticar algo tão superestimado, mas ótimo ver alguém com experiência e propriedade opinando sobre, e dizendo a verdade nua e crua hehe
@@mineninjabrothers Po, C# eu vou ficar devendo, nunca nem encostei na linguagem. O que eu consigo fazer que provavelmente vai surgir é sobre Golang, Java e PHP. Depois de repente trazer uns frameworks
Impressionante como eu concordo 100% com o vídeo, python em back-end exige muito esforço para fazer certo, performático e padronizado. Inegável que da pra otimizar muita coisa, mas só o fato de ser burocrático é um problema da linguagem e ecossistema. - Vem me falar de async, mas migração de um codigo legado todo síncrono para assincrono é um puta trampo. - A tipagem é facilmente ignorada por um dev que usa ambiente diferente. -Me fala de UV mas é uma ferramenta muito recente, desconsiderando que 95% dos backend em python não usa UV, fora que tem que migrar e exige cuidado e testes. - Muitos devs codam de maneira completamente diferentes com a mesma linguagem... Pra um dev no seu contexto individual no backend pode ser mágico, mas pra quem gerencia times e tenta criar uma aplicação escalável e padronizada é uma luta constante.
Nesse último mês estava estudando Python/FastAPI para desenvolvimento de backend. Antes trabalhava somente com Javascript/Node, mas já estava cansando. Agora, depois desse vídeo, desanimei 🤣. Vou mudar meu foco para Go que era minha ideia inicial.
Acho muito interessante esse tipo de análise e acredito que o youtube BR carece muito de devs que analisem o "fazer" do desenvolvedor da forma que vc faz. Acredito que para aplicações complexas o Python realmente não se encaixe, mas ele é perfeito para o mundo "business intelligence", onde scripts servem mais para mesclar planilhas e analisar dados. Pode ser que a pessoa aprenda python e, por diversos motivos, queira utilizar a mesma linguagem para tudo. Evidentemente que não vai dar certo.
Eu programava em Perl antes do Python, e a filosofia dos monges (quem programa em perl) é: "você tem mais de uma forma de fazer a mesma coisa". Então gosto de ter formas diferentes pra fazer algo. Agora JS pra backend não dá. Até entendo você falaz de uma linguagem transpilada como TS, mas não rola mesmo. Dito isso, tbm não curto Python, mas é o que paga minhas contas ne. PS: Nem todo cientista de dados é ruim de programação.
MInha opinião quanto profissional que trabalha há uns bons anos com Python é que a linguagem é muito eficiente para algumas coisas bem específicas como: teste de algoritmo, MVPs, Scripts (sério, pra isso nada melhor), automatização de algumas rotinas e afins. Mas não deve ser usada para nada computacionalmente intensivo e nem deveria ser tão utilizada para projetos web. A nível de DX, Python deixa a desejar ao longo do caminho para projetos gandes. No final, PHP, Python, Ruby, C# e TS oferecem DX bem similares e performance não deveria ser a primeira coisa quando se pensa nessas linguagens. Mas dentre essas, eu colocaria Python no final da fila por conta de todos os fatores listados. A "tipagem" do Python as vezes da mais dor de cabeça que resultados e trabalhar com generics então... nem se fala.
Trabalho em um banco, fazemos processamento de dados do mundo inteiro em python e algumas libraries em c, mas 95% é python, c é nos bootlenecks. Se fosem escrever tudo em C, o banco estaria falido
@mcafalchio eu vejo python aí mais como um orquestrador, correto? Provavelmente o processamento de dados também é feito com bibliotecas próprias pra isso que são um wrapper de libs C. Falo mais que como uma linguagem para projetos maiores - em volume de código mesmo -, as vezes é meio penoso (como em monolitos).
Desculpa a minha ignorância pois sou mega novato, mas pessoas como eu que estão no início percebe isso? Só pra saber mesmo, obrigado, mais um inscrito no canal 😊
É um vídeo que vai fazer mais sentido pra quem tem mais experiência. Pra quem ta entrando na area agora não faz muita diferença não. E é uma série de vídeos que eu falo mal de todas as linguagens do meu ponto de vista. Não to dizendo pra não estudar python
Python é para nao progrmaadores... É pros analistas de dados e cientistas de dados como eu.. e outras tarefas de automação e etc... E ta tudo bem kkkkkkk
Pra programadores não tem medo de linguagem diferente da sua linguagem programação de estimação. Melhor se não o juninho entrar em desespero quando falarem que os módulos são feitos em C ou rust...kkkkkk
Não existe linguagem boa pra programador ruim
Não existe programação boa pra linguagem ruim
Me mostra um programador sem críticas à uma linguagem que eu te mostro um programador sem experiência nenhuma
@@danieltietz4146 quando o programador é ruim ele defende uma linguagem ruim e detona as outras. Motivo: tem dificuldade em usar outras linguagens. Ai fazem video.
Exatamente
Nunca um video fez tanto sentido haha, entretanto ainda vou continuar com Python no backend
Corajoso eu diria, ja falou mal do js e agora de python, some people are just here for the CHAOS! hahahahaha
Sou programador e uso Python faz uns 7 anos e concordo com 90% do vídeo. O pessoal acha que Python é bala de prata, nenhuma linguagem é.
sugestão de video fazer analise de linguagens, mostrando seus pros e contras
Sobre os venvs, já experimentou o uv? Saiu recentemente mas eu acho que tem um potencial muito grande de se tornar o método padrão de gerenciar projetos em python.
Sobre a questão da performance e GIL, muito esforço tem sido investido nas últimas versões (desde a 3.11) pra melhorar a situação. Na 3.13 além de já ter um compilador JIT, tem um teste experimental para quem quiser retirar o GIL e fazer seus próprios testes. É bem possível que as próximas versões inclusive já venham sem o GIL
Amo Python, mas também não sou fã de linguagens dinâmicas. Porém Python não é tão problemático igual as pessoas pensam. Meu serviço depende de uma CLI feita em Python que precisa interagir com PDFs. Por conta da tipagem e performance, tive a ideia de refazer essa CLI em outra linguagem. A princípio a intenção era usar Go, mas desisti porque Go não tem um package bom pra ler pdfs. A segunda opção era Rust, mas Rust é uma linguagem mais complexa e eu tava em busca de algo mais simples e de preferência orientado a objetos.
Sem Go e Rust, resolvi dar uma olhada no C# e gostei muito da linguagem, mas pra feature mais importante da CLI (ler pdfs grandes) é simplesmente pior do que o Python. Utilizando a mesma lib nos dois (mupdf), o Python lê um arquivo grande e extrai todos os emails em 27 segundos. Em contrapartida, o C# demora 36 segundos rodando em release. Testei outras libs em C#, mas nenhuma extraiu o texto da forma que eu queria.
Também fiz alguns testes pensando em concurrência. O teste era simples: pegar todos os arquivos pdf de um diretório e processá-los. E, por incrível que pareça, o Python superou o C# nisso também. Utilizando o multiprocessing do Python, ele processou todos os 12 arquivos em 5s, porque processava todos de uma vez só (tenho 12 cores). Enquanto isso, não descobri como utilizar vários cores no C#, apenas vários threads, o que fez com que o programa demorasse 18s nos mesmos 12 arquivos. Achei isso bizarro, porque mesmo utilizando o multithreading no Python ele rodava mais rápido (12s). Ainda não discartei a possibilidade de, ao não conhecer C#, eu não notar alguma otimização que possa ser feita em relação ao multithreading.
Isso me fez perceber que independente da linguagem ser dinâmica ou estática, lenta ou rápida, você precisa fazer alguns benchmarks pro seu caso de uso pra ver se é viável. Se tratando apenas do processamento de PDFs, não seria necessário abandonar o Python no momento.
Inclusive, também testei com Java utilizando o PDFBox e foi melhor do que o C# em vários threads (10s), porém pior lendo apenas um arquivo grande (50s). Só que achei a DX bem melhor em C#.
Enfim, agora o que me resta é testar algumas outras linguagens. Mas é bem possível que eu continue com C# mesmo. Perder alguns segundos na execução não importa tanto levando em consideração todos os outros benefícios que a linguagem pode trazer.
Python, pra não sofrer com o ambiente, o melhor é baixar a versão zip do Python, extrair dentro do projeto, e configurar as variáveis de ambiente todas pra dentro do projeto.
Augusto, você recomenda algum livro sobre boas praticas de programação em Python?
Só digo essas coisas para os que não gostam de Python usem Zig, Rust, C já que querem performance pois as empresas que criam e usam IA tem no seu core o uso de Python e estam comendo os empregos dos devs. kkkk
Python é que nem o Brasil. É ruim mas é bom, mas é ruim, mas a gente gosta. Mojo lang (em dev) resolveu essa questão dos tipos estáticos e tem uns features bem modernos. O brother que projetou a lang (Chris Latner) parece realmente entender o que esta fazendo.
Melhor programar em C. 😊
Python é um portugol de gringo que deu certo
Desnecessário esses vídeos que fazem críticas as linguagens, para quem está começando isso é horrível. Querendo ou não, vcs "influencers" do youtube realmente influencia o pensamento de maioria. Conselho meu: Python é uma língua boa, principalmente de início, ajuda em vários aspectos para vc ter uma boa base prática de programação. Os mais experientes podem criticar porque para certos trampos ela não pode ser eficiente mas o que vcs devem se perguntar é se vcs estão fazendo a mesma coisa que eles.
Você só pensa em performance quando vc já está em um nível elevado e esse é seu único objetivo, no momento vc só está procurando desenvolver e resolver problemas.
Finalmente não to mais me sentindo sozinho achando python péssimo pra back-end kkkk dificil criticar algo tão superestimado, mas ótimo ver alguém com experiência e propriedade opinando sobre, e dizendo a verdade nua e crua hehe
Btw, gostaria muito de um video falando sobre C# (minha opinião é q é excelente. Tem a robustez do Java, mas é muito mais limpa)
@@mineninjabrothers Po, C# eu vou ficar devendo, nunca nem encostei na linguagem. O que eu consigo fazer que provavelmente vai surgir é sobre Golang, Java e PHP. Depois de repente trazer uns frameworks
Qual o problema com environment variables? Importante ter para segurança, não?
em que parte do vídeo ele criticou environment variables?
@@avila-r veja o vídeo e verá na parte 5
Impressionante como eu concordo 100% com o vídeo, python em back-end exige muito esforço para fazer certo, performático e padronizado.
Inegável que da pra otimizar muita coisa, mas só o fato de ser burocrático é um problema da linguagem e ecossistema.
- Vem me falar de async, mas migração de um codigo legado todo síncrono para assincrono é um puta trampo.
- A tipagem é facilmente ignorada por um dev que usa ambiente diferente.
-Me fala de UV mas é uma ferramenta muito recente, desconsiderando que 95% dos backend em python não usa UV, fora que tem que migrar e exige cuidado e testes.
- Muitos devs codam de maneira completamente diferentes com a mesma linguagem... Pra um dev no seu contexto individual no backend pode ser mágico, mas pra quem gerencia times e tenta criar uma aplicação escalável e padronizada é uma luta constante.
Trabalho com Python e realmente ele tem um gargalo para api
Nesse último mês estava estudando Python/FastAPI para desenvolvimento de backend. Antes trabalhava somente com Javascript/Node, mas já estava cansando. Agora, depois desse vídeo, desanimei 🤣. Vou mudar meu foco para Go que era minha ideia inicial.
Acho muito interessante esse tipo de análise e acredito que o youtube BR carece muito de devs que analisem o "fazer" do desenvolvedor da forma que vc faz. Acredito que para aplicações complexas o Python realmente não se encaixe, mas ele é perfeito para o mundo "business intelligence", onde scripts servem mais para mesclar planilhas e analisar dados. Pode ser que a pessoa aprenda python e, por diversos motivos, queira utilizar a mesma linguagem para tudo. Evidentemente que não vai dar certo.
gente to começando a programar, alguém tem uma dica de linguagem boa pra começar
( não entendo absolutamente nada de programação )
Python ou javascript
C#. Não se arrependerá.
se o nome é PATO e faz QUACK, então é um pato
duck typing
Eu programava em Perl antes do Python, e a filosofia dos monges (quem programa em perl) é: "você tem mais de uma forma de fazer a mesma coisa". Então gosto de ter formas diferentes pra fazer algo.
Agora JS pra backend não dá. Até entendo você falaz de uma linguagem transpilada como TS, mas não rola mesmo.
Dito isso, tbm não curto Python, mas é o que paga minhas contas ne.
PS: Nem todo cientista de dados é ruim de programação.
Python é otimo, rapido de desevolver e quando quero velocidade, escrevo funcoes em rust e importo pra python
Cara faco tudo em python, nunca tive problemas.
Isso foi uma crítica?
Futuramente vai pra Mojo.
MInha opinião quanto profissional que trabalha há uns bons anos com Python é que a linguagem é muito eficiente para algumas coisas bem específicas como: teste de algoritmo, MVPs, Scripts (sério, pra isso nada melhor), automatização de algumas rotinas e afins. Mas não deve ser usada para nada computacionalmente intensivo e nem deveria ser tão utilizada para projetos web. A nível de DX, Python deixa a desejar ao longo do caminho para projetos gandes. No final, PHP, Python, Ruby, C# e TS oferecem DX bem similares e performance não deveria ser a primeira coisa quando se pensa nessas linguagens. Mas dentre essas, eu colocaria Python no final da fila por conta de todos os fatores listados. A "tipagem" do Python as vezes da mais dor de cabeça que resultados e trabalhar com generics então... nem se fala.
Trabalho em um banco, fazemos processamento de dados do mundo inteiro em python e algumas libraries em c, mas 95% é python, c é nos bootlenecks. Se fosem escrever tudo em C, o banco estaria falido
@@mcafalchioe isso que o juninhos dos comentários nao conseguem entender
@mcafalchio eu vejo python aí mais como um orquestrador, correto? Provavelmente o processamento de dados também é feito com bibliotecas próprias pra isso que são um wrapper de libs C. Falo mais que como uma linguagem para projetos maiores - em volume de código mesmo -, as vezes é meio penoso (como em monolitos).
faz um vídeo explicando porque Django é um web framework ruim
Tem que instalar o CONDA pra dar conta de trabalhar em Python é uma tristeza
Desculpa a minha ignorância pois sou mega novato, mas pessoas como eu que estão no início percebe isso? Só pra saber mesmo, obrigado, mais um inscrito no canal 😊
É um vídeo que vai fazer mais sentido pra quem tem mais experiência. Pra quem ta entrando na area agora não faz muita diferença não. E é uma série de vídeos que eu falo mal de todas as linguagens do meu ponto de vista. Não to dizendo pra não estudar python
Eu não gosto de python por conta dos escopos com tab
python ja tem jit
Por que django é uma merda?
Python é para nao progrmaadores... É pros analistas de dados e cientistas de dados como eu.. e outras tarefas de automação e etc... E ta tudo bem kkkkkkk
Pra programadores não tem medo de linguagem diferente da sua linguagem programação de estimação. Melhor se não o juninho entrar em desespero quando falarem que os módulos são feitos em C ou rust...kkkkkk
0:52 kkkkkk