Porque que não existe LINGUAGEM lenta

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024
  • 📚 Livro para entender estruturas de dados e algoritmos: amzn.to/4bYu4VE

Комментарии • 143

  • @GutoGalego
    @GutoGalego  5 месяцев назад +75

    Muita gente me criticou pq eu falei mal da tabela, que vêm de um estudo. Tem três pontos que eu quero levantar aqui:
    1) O estudo é extremamente controverso e existem várias críticas a ele em outros estudos
    2) O ponto central do vídeo é explicar que a linguagem não existe de forma isolada e sim num ecossistema. Muita gente conflita a definição formal de uma linguagem com a implementação dela. São coisas diferentes. Sim, atualmente não tem como escrever um código em Python e fazer ele ser tão rápido quanto Rust, esse ferramental não existe. Mas não tem como cravar a performance de Python em um número específico, dado que no meu exemplo eu mostrei uma variabilidade de mais de 10x na velocidade de execução só trocando de runtime.
    3) na tabela mostra Javascript como tendo 4 de eficiência e typescript 21. Ou seja, Javascript gastaria 20% da energia que typescript. Não tem como levar isso a sério, só esse número descredibiliza completamente a tabela como um todo.
    Pra quem nunca mexeu com Typescript, o negócio é: seu Typescript vira Javascript antes de vc botar no server pra rodar.

    • @gepetovovo2509
      @gepetovovo2509 5 месяцев назад +3

      e PERL é super rapido, muito estranho tá em ultimo, mas enfim. igual Java acima de Pascal e Fortran que é compilado e são super rapidos kkk.. totalmente sem noção mesmo.. e do Typescript nao pode ser esse abismo ai tb não.

    • @tiagomalaquiasdasilva2239
      @tiagomalaquiasdasilva2239 5 месяцев назад +2

      fanboy de Python? blz?
      1 - diferença de perfomance entre linguagens é um fato!
      2 - diferença de perfomance entre bibliotecas da mesma linguagem tbm é um fato!
      mais essa tabela ai tbm n diz muita coisa, pois n diz os problemas que tentaram ser resolvidos e nem a configuração do ambiente ultilizado.
      no geral oque acho:
      C é rapido e usa pouca memoria, mas é complicado de dar manutençao.
      Java tbm é rapida, mais haja memoria ram.
      Node vem sendo melhor que Java para problemas com I/O.(sim, chamei Node de linguagem!)
      Python rapido de programar, mais todo mundo fala que é muito lento!
      escolha qual dessas atende melhelhor o seu problema e seja feliz!

    • @vitorluis2010
      @vitorluis2010 Месяц назад +2

      Tiago, "mais" e "mas" tem diferença. Ok?

  • @eduardomedeirospereira1811
    @eduardomedeirospereira1811 5 месяцев назад +29

    Continue com a excelente qualidade dos seus videos e explicações. Parabéns Augusto!

  • @c0deonn
    @c0deonn 5 месяцев назад +17

    pqp, apareceu um vídeo seu por acaso, abri ele por curiosidade, e agora to maratonando os videos. Que cara técnico da poha, mt brabo

  • @01MeuCanal
    @01MeuCanal 5 месяцев назад +6

    Tem linguagem lenta sim. Quanto mais de alto nível a linguagem é mais vai ter overhead. O compilador faz um bom trabalho de otimização, mas mesmo assim ele não faz tudo. Uma linguagem mais próxima do hardware sempre tem menos overhead.

    • @savagemode2150
      @savagemode2150 5 месяцев назад +2

      Exato, por isso temos assembly e python nas duas extremidades no contexto de performance.. quanto mais controle sobre instruções do processador, mais eficiência você consegue ter

  • @yxngbigu
    @yxngbigu 5 месяцев назад +23

    Seu conteúdo é excelente!

  • @rodrigofonseca9066
    @rodrigofonseca9066 5 месяцев назад +2

    Explicação simples e direta, parabéns!

  • @PauloSantos-yu1tn
    @PauloSantos-yu1tn 5 месяцев назад +1

    Primeira vez que vejo um vídeo decente sobre isto. Há anos que tento explicar isto. Bom vídeo.

  • @kazzln
    @kazzln 5 месяцев назад +4

    um dos melhores canais sobre programação que eu já vi, mto foda

  • @luizfilipe7630
    @luizfilipe7630 5 месяцев назад +11

    boa. já tive um exercício na faculdade chamado "pq n usar python", aí a gente tinha q fazer um msm código simples O(n²) em c e em python, rodar os códigos e observar o abismo de tempo q tem de uma execução pra outra, ainda mais quando o C é compilado com -O3. a ideia por trás era discutir justamente o tema do vídeo.

    • @lucaseduardo2810
      @lucaseduardo2810 5 месяцев назад

      Esse O(n³) é a complexidade computacional ?

    • @luizfilipe7630
      @luizfilipe7630 5 месяцев назад +2

      @@lucaseduardo2810 isso. por exemplo:
      for i:
      for j:
      sum += i + j
      é O(n²)

    • @lucaseduardo2810
      @lucaseduardo2810 5 месяцев назад

      @@luizfilipe7630 Eu simplesmente não tive essa aula porque o professor só apareceu 3 vezes. Ele só passou a introdução.

    • @luizfilipe7630
      @luizfilipe7630 5 месяцев назад +1

      @@lucaseduardo2810 aí é foda kkkkkkk. mas ve umas vídeo aula q rapidinho vc entende a ideia, n é difícil n

    • @HanganoMan
      @HanganoMan 5 месяцев назад +1

      Parece-me errado uma aula de faculdade ter um exercício nomeado "Porque não usar python" e comparar um algorítimo de complexidade O² rodando em C e Python, principalmente considerando que nenhuma linguagem de script como JS, python, PHP, Ruby seriam realisticamente usadas para resolver problemas de performance / desempenho. O único compilador atualmente que gera código de execução tão rápida quanto C é o rustc do Rust e ninguém usa rust ou c para 'codar' carrousel de banners em e-commerces, assim como ninguém usa Python e JS para solucionar problemas de desempenho ou aprimorar complexidade algorítmica de insert / sort / search .

  • @fabiofaggian
    @fabiofaggian 5 месяцев назад

    Pô cara seus videos são excelentes, uma otima explicação, simple e objetiva! Parabéns

  • @chris.freire
    @chris.freire 5 месяцев назад +1

    Esse canal é ouro!

  • @rodrigobelani7044
    @rodrigobelani7044 5 месяцев назад +8

    Achei legal a explicação. Mas o tanto de gente que só pelos comentários sai com "ain, Python é rápido..", "ain mais a linguagem tem bibliotecas que....", as outras linguagens também tem. Existem aplicações e limitações, como toda linguagem, cada tampa com sua panela.

  • @nokkreload
    @nokkreload 5 месяцев назад

    Parabéns pelo ótimo vídeo e explicação. A grande maioria das pessoas resolve aprender uma linguagem por conta dessas tabelas quando na verdade talvez elas nunca vão usar os recursos que elas admiram.

  • @Lucaslima-gz9vk
    @Lucaslima-gz9vk 5 месяцев назад +1

    Cara, seu conteúdo é muito bom. Continue pra sempre.

  • @CarlWeiss32
    @CarlWeiss32 14 часов назад +2

    Depende do contexto, um exemplo do ponto de vista gráfico:
    C tem diversas libs gráficas, rust não tem, as que rust tem, rodam em cima da linguagem C, sendo assim, só poderíamos saber que Rust é tão performatica quanto C nesse campo, somente o dia em que Rust tivesse um lib gráfica toda em Rust...Vamos esperar então uma opengl nativa em Rust ou quem sabe um directX...
    Rust engatinha ainda para poder ser comparada a C ou até mesmo C++!
    Agora, Python é uma linguagem extremamente lenta, isso não resta dúvida, até php roda mais rápido que python!

  • @kevinalmeida1040
    @kevinalmeida1040 5 месяцев назад +2

    Finalmente eu encontrei alguem que levantou essa bola!!
    excelente

  • @deltahl
    @deltahl 5 месяцев назад +1

    As bibliotecas que realmente precisam de mais desempenho (de ciência de dados tensorflow, numpy, pytorch, scipy, ..) têm partes escritas em outras linguagens, C, C++, CUDA, .. para serem mais rápidas.

  • @MateusDuarttee
    @MateusDuarttee 5 месяцев назад +7

    Não entendi o ponto do vídeo na matéria de compiladores a gente entende que a descrição da linguagem e a compilação ou interpretação estão diretamente ligadas, uma descrição de comportamento é literalmente inútil se vc nao tem como executar, ou seja a transcrição da liguagem pra byte code é a liguagem, vc pode ter diferentes compiladores que vao favorecer diferentes aspectos mas isso continua fazendo parte de um todo, e hj nao temos nada q faca python chegar perto do c, acho q uma critica valida seria que o estudo nao forneceu em qual ambiente cada teste foi rodado.
    E quando se fala de gastar mais energia estamos falando diretamente da quantidade de instruções usadas para fazer uma mesma atividade, se o interpretador padrao de uma lingugem insere mais instrucoes ele naturalmente vai gastar mais energia.
    Não existe separação de linguagem como algo abstrato pelo meno nao da forma como eu entendi do video

  • @heldersilva5765
    @heldersilva5765 5 месяцев назад +1

    O RUclips me indicou seu vídeo "do neida", e caramba, que conteúdo bom!

  • @putsJO0J
    @putsJO0J 5 месяцев назад

    Parabéns seus conteúdos são muito muito bons, para ter noção já fiz alguns cursos de python e nunca tinha visto operador de XOR, até um de seus vídeos. Você tem conteúdo amigo tudo de bom

  •  5 месяцев назад +1

    Se for o mesmo código realizando a mesma tarefa em linguagens diferentes, a diferença de desempenho pode ser atribuída principalmente às características e eficiência da implementação da linguagem em si. Algumas linguagens são projetadas para otimizar certos tipos de operações ou têm características que facilitam a otimização do código, enquanto outras podem ter sobrecargas adicionais que afetam o desempenho.
    Por exemplo, linguagens de baixo nível, como C e C++, tendem a oferecer mais controle sobre o hardware e a alocação de recursos, o que pode resultar em código mais eficiente em termos de desempenho. Por outro lado, linguagens de alto nível, como Python ou Ruby, muitas vezes priorizam a legibilidade e a produtividade do desenvolvedor em detrimento do desempenho bruto.
    Além disso, diferentes linguagens podem ter diferentes implementações de compiladores ou interpretadores, o que pode afetar significativamente o desempenho do código. Por exemplo, uma linguagem como Python pode ser implementada por meio de diferentes interpretadores, como CPython, PyPy ou Jython, cada um com suas próprias características de desempenho.
    Portanto, mesmo que o código seja o mesmo em diferentes linguagens, ainda pode haver variações significativas de desempenho devido a diferenças nas características das linguagens e nas implementações de compiladores/interpretadores.

  • @claudinoanthony
    @claudinoanthony 5 месяцев назад +2

    Conheci o canal recentemente, seus vídeos são muito bons. Sucesso 🙏

  • @gilsonconceicao5201
    @gilsonconceicao5201 5 месяцев назад +1

    Seus vídeos são ótimos. Obrigado

  • @Rintauro314
    @Rintauro314 5 месяцев назад +25

    As pessoas precisam aceitar que suas linguagens são mais lentas que outras. Linguagens interpretadas essencialmente são mais lentas que as compiladas por uma questão de funcionamento, quer mais velocidade? Compile, quer mais ainda? anexe alguma lib otimizada feita em outra lang. Quer mais velocidade? Muito provavelmente vc ta usando a linguagem em propósito indevido ou alem do seu escopo.
    Alem disso, langs focadas em um propósito específico tendem a ser mais velozes, as de uso geral acabam tendo que lidar com mais features e acaba aumentando sua complexidade, afetando diretamente seu desempenho.
    N tratem linguagem como animal de estimação, cada uma é melhor em uma coisa que outra.
    N faz sentido usar C para inteligência artificial e analise de dados.
    Ou querer usar Python para codar drivers ou coisas que requerem uma atenção maior com o hardware.

    • @234trhbgfdert
      @234trhbgfdert 5 месяцев назад +5

      falou tudo, sem contar que na planilha de energia, não é só tempo de processamento, memoria ram utilizada tambem foi em conta, muda muito de LP para LP

    • @Rintauro314
      @Rintauro314 5 месяцев назад +1

      @@234trhbgfdert pois é man, e olha que nem sou mais da área a uns anos. Na minha opinião parece que tratam linguagem como comida favorita e para esse pessoal a lang se resume em "velocidade", parece que não lembram do propósito de uso e não consideram que tipo de problema tão precisando resolver, fora que parecem que nem pensam na questão de dar manutenção no código, parece que pensam em codar as coisas uma vez para nunca mais, por isso que os programadores que dão manutenção sofrem tendo que revisar código de terceiros e acha cada pérola.

    • @sharewareX
      @sharewareX 5 месяцев назад

      Da pra deixar Python mais rapida, mas eh tanta "cambiarra" que compensa mais usar outra linguagem mais apropriada

    • @Rintauro314
      @Rintauro314 5 месяцев назад

      @@sharewareX to falando de qualquer lang que forcem velocidade man, mas é comum msm fazerem isso no python justamente por ele ser lento. Quando forçam d+ é sinal que tem algo de errado, ou quer coisa demais ou tá usando a lang além do que dá.

    • @xshiftyeuw
      @xshiftyeuw 5 месяцев назад +1

      Assim como explicado nesse video, tambem acredito que linguagem nao define performance, ja que linguagem nao passa de um especificacao (eu posso usar llvm e criar um compilador para python que gere um binario tao rapido quanto os binarios compilados a partir de codigo C/C++). Antes mesmo de assistir esse video, eu ja entendia dessa forma. Assim como tambem nao concordo, que usar C pra IA nao faz sentido. Veja bem, toda lib python para IA usa C/C++. A diferenca que o pessoal esta mais acostumado a usar python para essas coisas. O problema que hoje em dias as pessoas tem medo de implementar coisas do zero, e testarem solucoes diferentes para problemas existentes que ja foram resolvidos (talvez nao da melhor forma). Dito isso, continua achando python uma linguagem ruim. Mas ai e questao de gosto, e mesmo nao curtindo python, ainda ha casos de uso (pra mim, prototipagem rapida).

  • @sergioaugusto8374
    @sergioaugusto8374 5 месяцев назад

    Meu xará, estou amando acompanhar seu canal e a forma como vc entrega o conteúdo

  • @abicru
    @abicru 5 месяцев назад +2

    Bom saber que o walter white jr aprendeu programação dps do final de breaking bad 🙏

  • @jefferson-763
    @jefferson-763 5 месяцев назад

    Excelente a sua análise.
    Nunca tinha me dado conta desse óbvio.
    É claro que a rumtime influenciará na performance.

  • @felipealves3000
    @felipealves3000 5 месяцев назад +1

    Muito boa a explicação, realmente se considerarmos apenas a execução, a linguagem não impactaria na performance.
    Mas a forma que cada linguagem compila/interpreta não impactaria? porque mesmo sem a otimização de código, vamos ter mudanças.
    E ainda podemos descer mais e pensarmos em coisas como GC para linguagens gerenciadas que impactam na performance e VMs tipo Java e Erlang que mudariam a forma como o sistema operacional trata a execução.

  • @carlacp8230
    @carlacp8230 14 часов назад +1

    Sai dessa linguagem "LOGO" pra bebes e estuda linguagens reais... mesmo no teu computador muito forte, tu vai notar a diferença

  • @MrArkeid
    @MrArkeid 5 месяцев назад +2

    Assembly em baremetal é a melhor performace.

  • @MathGoOli
    @MathGoOli 5 месяцев назад +1

    legal essa dica do numba. vou dar uma olhada.

  • @playcode9750
    @playcode9750 5 месяцев назад

    Muito bom, esclarecedor

  • @savagemode2150
    @savagemode2150 5 месяцев назад

    Acho que o mais importante a saber é isto:
    A eficiência (ou “velocidade”) de uma linguagem/runtime/fodase está diretamente relacionada ao nível de controle que o usuário tem sobre operações do processador. Por isso temos assembly e python nas duas extremidades no contexto de performance.
    Saber o básico de como um processador funciona (e um pouco de assembly) te permite visualizar mentalmente o que seu código está fazendo por baixo dos panos, principalmente em linguagens baixo nível

  • @diogomiranda7235
    @diogomiranda7235 5 месяцев назад +3

    Acredito que tenha sido feito com o runtime default, de resto concordo com você

  • @rnzim_backend_das_trevas
    @rnzim_backend_das_trevas 5 месяцев назад

    Primeira vez que o algoritmo do yt me recomenda algo de qualidade 😊

  • @user-plgmgrs326
    @user-plgmgrs326 5 месяцев назад

    Kkk isto mesmo garoto

  • @seijurouhiko
    @seijurouhiko 5 месяцев назад +38

    Nossa! Já cansei de discutir sobre isso na internet. Tem muita gente que não entende nada de benchmarks, só compara uns loops em Python com outras linguagens e depois sai propagando por aí que Python é lento. Eu cansei de tentar colocar uma razão na cabeça dessa gente...

    • @arturmg2068
      @arturmg2068 5 месяцев назад +28

      O interpretador do Python é lento msm

    • @LucasMateus-hk9zf
      @LucasMateus-hk9zf 5 месяцев назад +1

      @@arturmg2068 kkkkkkkkkkkk

    • @TheGabriel0705
      @TheGabriel0705 5 месяцев назад +4

      Mas se eu fizer um código em python com as melhores otimizações, ele sempre vai rodar muito mais lento que C, Rust, C++ e etc otimizados, dito isso python é mais lento msm...

    • @arturmg2068
      @arturmg2068 5 месяцев назад +5

      Para de chorar e aceita a verdade kkkkk

    • @seijurouhiko
      @seijurouhiko 5 месяцев назад +1

      @@TheGabriel0705 Não é verdade isso q vc disse. Ele vai rodar *um pouco* mais lento, só isso. Fazendo as otimizações corretas, as diferenças não são grandes.

  • @micaelsaninlen8758
    @micaelsaninlen8758 5 месяцев назад

    Conteúdo Fenomenal!!

  • @guiruindade
    @guiruindade 5 месяцев назад +3

    É por isso que gráficos e tabelas, sem contexto e informações intrínseca do modelo de ánalise, não servem para nada.
    Por exemplo, em Python, existem bibliotecas para computação intensiva que otimizam a complexidade assintótica (Big O), tornando-o consideravelmente mais eficiente. No entanto, se você implementar as mesmas otimizações em C, o desempenho será ainda melhor.

  • @kevingood10
    @kevingood10 5 месяцев назад

    exatamente amigo

  • @rafaYouTabnecarollyn
    @rafaYouTabnecarollyn 5 месяцев назад +7

    assim mano eu entendo seu ponto, porem ficou confuso o inicio, ainda mais quando as linguagens estavam sendo tratas como isoladas e não usando outras coisas, naquele twitte ele tava claramente tratando suas formas puras da linguagem, e sim no mundo real do trabalho raramente usaremos linguagme de alto nivel em sua forma padrão porem n invalida oque ele ta tentando passar

    • @koiyae
      @koiyae 5 месяцев назад

      mas aí que tá: é uma comparação capciosa. se vc tá fazendo essa comparação, colocando numa tabela, pelo menos coloca os cenários de cada linguagem...

  • @thag0_br
    @thag0_br 5 месяцев назад

    que ótima explicação

  • @FakeLewis
    @FakeLewis 5 месяцев назад

    Que canal incrível, véi. Não querendo desmerecer ele, mas oq a galera exalta do conteúdo do Rodrigo Branas devia exaltar de ti tbm

  • @kyo7429
    @kyo7429 5 месяцев назад

    Conteúdo muito foda mano, parabéns, estou aprendendo muito continua assim
    obs: parece que voce é dublado ou traduzido por IA kkkk

  • @matheuscastelo5076
    @matheuscastelo5076 5 месяцев назад +3

    Cara, qual programa você faz as suas anotações nos vídeos ?

  • @projetok1061
    @projetok1061 5 месяцев назад

    Otimo video

  • @Davisinhogameplay
    @Davisinhogameplay 5 месяцев назад

    Que aula de backend pqp 🤝

  • @edgardmacfadden2372
    @edgardmacfadden2372 5 месяцев назад +1

    Só o fato do python ter OOP e recursos genéricos já adiciona alguns custos (característicos de se usar OOP ou tipagem dinâmica). Isso se soma ao fato de ser uma linguagem interpretada (Embora seja a característica principal, python tmb é compilado pra .exe se usar o pyinstaller que é a minha recomendação). Apesar quaisquer considerações, Python tem o seu valor enquanto uma linguagem bem geral e de uso simples. Entretanto, há de se reconhecer que áreas específicas (Computação Gráfica, Jogos) podem depender de um processamento bem rápido (onde o menor atraso pode prejudicar), demandando alternativas mais rápidas (como C, C++ ou Java, entre outras).

    • @CarlWeiss32
      @CarlWeiss32 14 часов назад +1

      Tira java disso, rapidez é só Assembly, C e C++

  • @arnaldocarpi6064
    @arnaldocarpi6064 5 месяцев назад

    Muito bom!!

  • @victorreis1132
    @victorreis1132 5 месяцев назад

    Eu vi esse post no linkedin, deu uma treta...

  • @eldadario7339
    @eldadario7339 5 месяцев назад

    Conteudo foda mano, bom demaisss parabens

  • @LeonardoLuzx
    @LeonardoLuzx 2 месяца назад

    legal q teve q subir 10x o numero de elementos na array pro node ter a mesma performance de python com numba. Na real, python é uma decepção em performance. Js td mundo reclama, mas pra uma linguagem (runtime) q faz boxing unboxing TODA HORA, ela é absurdamente rápida. Se c# fizesse td com boxing unboxing perdia de lavada até do v8.

  • @manjaroUser
    @manjaroUser 5 месяцев назад

    silêncio, augusto galego está canetando

  • @d3v_alves
    @d3v_alves 5 месяцев назад

    qual foi o app usado pra fazer a apresentação man ? alguem conhece ? nativo do mac ?

  • @radiogamerBR
    @radiogamerBR 5 месяцев назад

    A dúvida que fica, você leu a pesquisa ?

    • @GutoGalego
      @GutoGalego  5 месяцев назад

      Sim, em nenhum momento existe qualquer justificativa de porque typescript é 5x pior que javascript. Tem que debuggar o CLGB e descobrir que é porque tem um erro de config no Typescript que fez o algoritmo de fannkuch-redux falhar. O estudo também é de antes de Bun 1.0.
      Não faz sentido cravar a performance de uma linguagem em um número específico

  • @KorhalKk
    @KorhalKk 5 месяцев назад +2

    A tabela é estranha de fato, mas acho que é mais esclarecedor criar um programa que realiza um cálculo extenso (um bubble sort com milhares de valores vai) e fazer o teste em todas as linguagens. C vai ganhar sempre e Python vai sempre perder na maioria das comparações. Suas soluções podem ajudar o runtime, mas você não vai alcançar os patamares de C ou Java. Você precisa analisar a finalidade do seu projeto, a capacidade da equipe se tiver e como se pretende fazer a manutenção. O resto é alcançável ou descartável.

  • @leogcavalli
    @leogcavalli 5 месяцев назад

    Video foda

  • @feliperesende4505
    @feliperesende4505 5 месяцев назад +3

    Por que choras Samuca (gente, é zueira)

  • @cleomenezesjr
    @cleomenezesjr 5 месяцев назад

    Tem gente que julga algo pesado ou não poeruso de RAM.

  • @rochaaraujo9320
    @rochaaraujo9320 5 месяцев назад +1

    A partir do momento que vc convertou pra C, não é mais Python, é C.

  • @itslevictor
    @itslevictor 22 дня назад +2

    Cara okay, mas esse malabarismo aí todinho?

  • @gustavorodrigues2903
    @gustavorodrigues2903 5 месяцев назад

    Mas o Runtime é diretamente correlacionado com a energia gasta pela máquina para executar o script? Pois o tempo de execução é apenas uma das variáveis utilizadas por ele pra gerar a tabela.

    • @matheusaraujo6445
      @matheusaraujo6445 5 месяцев назад

      A principio imagino que sim, porque na teoria se demora mais significa que precisou fazer mais operações. Mas imagino que o buraco é mais embaixo se colocamos outras variáveis em jogo como o chipset. Ou por exemplo, dependendo do código pode ser mais rápido executar diretamente em uma placa de vídeo

  • @caioperes764
    @caioperes764 5 месяцев назад +3

    Varios dos seus argumentos não são bem verdade.
    Por exemplo, no video vc não conseguiu desacoplar o python do interpretador. Vc compilou uma biblioteca com clang, mas carregou ela usando o interpretador nativo do python. Ou seja, o argumento de que python não é lento e sim o runtime não é bem verdade, pq o python depende exclusivamente do runtime. Logo dizer que o python é lento é uma forma indireta de falar sobre o interpretador. E eu nem vou comentar daquele código nojento em C que foi gerado sabe lá deus como; não tem como saber se ele tá bom de verdade, otimizado como deve, etc.
    Mesmo se aquela biblioteca for rápida, ela ainda tá com gargalo do interpretador do python. Lembrando também que nem sempre conversões dão certo e carregamento de bibliotecas nativas pro python tb.
    O seu segundo método, usando o JIT Numba, também faz uso do interpretador para funcionar. E JIT é muito mais lento do que compilação (visto Java e C# vs C/C++), até pq no próprio site do Numba ele diz que converte PARTES do código de python e numpy para código de maquina ( com compilação para código intermediario no processo, provavelmente).
    Existe uma outra questão q eu quase tava me esquecendo: python pressupõe gerenciamento automatico de memória. Isso categoriza a linguagem como mais lenta em relação a C/C++. Sim, a linguagem! Pq o interpretador sempre vai ter que dar suporte à essa feature da linguagem.
    O esforço pra defender python e não aprender a usar uma linguagem de verdade é grande hoje em dia.

    • @CarlWeiss32
      @CarlWeiss32 14 часов назад +2

      PQP, mandou a Pill !

  • @ChatoMor
    @ChatoMor 5 месяцев назад

    Olhe FORTH....

  • @mikaelzera
    @mikaelzera 5 месяцев назад

    boa

  • @RuanHigor
    @RuanHigor 5 месяцев назад

    mt foda

  • @thalesedu1372
    @thalesedu1372 5 месяцев назад +2

    Vc podia ir até além e fazer um compilador bem simples, sem protocolo http etc. E ele seria até mais rápido

  • @davidd355
    @davidd355 5 месяцев назад +1

    Acho que poucas pessoas realmente se referem a linguagem pela definição formal de linguagem, geralmente falamos do ecossistema e mais quando tem algum interpretador diferente do padrão geralmente especificamos também.
    Quero acreditar que quando alguém fala que Python é lento ele sabe tudo isso e tá se referindo certo 😅

  • @MathGoOli
    @MathGoOli 5 месяцев назад

    Mesmo que Python demore pra executar as coisas isso não dita o consumo de energia. Depende muito mais do hardware do que qualquer outra coisa. Mesmo que fosse o caso não é viavel vc usar linguagens de baixo nivel pra tudo. Vc pode estar sujeito a perdas mais vitais tipo sofrer um ataque de buffer overflow.

  • @guibrazzz
    @guibrazzz 5 месяцев назад

    sabio

  • @edueu4769
    @edueu4769 5 месяцев назад +1

    Mas e o c?

  • @Kl4us13
    @Kl4us13 5 месяцев назад

    moço como que eu saio do printf 😭

  • @jorge.barcelos
    @jorge.barcelos 3 месяца назад

    @GutoGalego Guto, é possível aplicar o mesmo pensamento em frameworks? Ex: No Python temos o Django, teria como deixar aplicações Django mais performáticas?

  • @DarkLink606
    @DarkLink606 5 месяцев назад

    Parabéns por esclarecer este velho mito. Muita gente usa binários pré-compilados do Python sem saber: os módulos numpy e o scipy, por exemplo, contém código escrito em C, que é chamado para execução ao rodar o script. Por isso é tão usado em estatística e outras aplicações envolvendo cálculos complexos, com uma performance excelente.

  • @CANAL2-pr2yo
    @CANAL2-pr2yo 5 месяцев назад

    sim, isso é oq eu sempre falo para algumas pessoas que dizem que python é lento, a maioria dessas pessoas, não compreendem sobre POO, etc, ou seja, o entendimento sobre as linguagens é superficial.
    isso em tese na maioria das vezes é culpa do aprendizado de apenas uma linguagem, no caso JS.
    até mesmo as pessoas que aprendam C, acabam não sabendo a utilização de 'despejo de memória'.

  • @bolzanni
    @bolzanni 5 месяцев назад +1

    No contexto atual, as linguagens interpretadas serão sempre sensivelmente mais lentas.
    Entretanto, essa diferença tende a diminuir no futuro porque (1) as máquinas ficarão mais rápidas e a diferença nominal tenderá a diminuir; e (2) os runtimes se tornarão cada vez melhores (esperamos).
    Além disso, temos que ver que performance é apenas uma variável. O peso dela na equação vai depender da necessidade de performance. Pra sistemas que vivem mais de IO do que CPU, a performance isolada tem peso menor.
    Nas primeiras aulas de qualquer curso de Engenharia de Software a primeira coisa dita é que a Engenharia de Software surgiu pra resolver problemas de qualidade do software. Pois bem, linguagens de alto nível surgiram para abstrair o hardware e facilitar a manutenção do software. Essa deveria ser a primeira variável observada e não a performance. Não que a performance não seja importante, mas ela é vazia se não tiver contexto e necessidades bem definidas.
    Também tem o fato de que "A ser lento" tem nada a ver com "A ser mais lento que B". Se A atende a sua demanda de perfomance, que se dane B.
    A propósito, excelente vídeo. E você poderia até ter sido mais rápido ainda...bastava ver que JRuby é mais rápido que Ruby mesmo sendo a mesma linguagem. A tabela em si já mostra que não se trata de linguagens, mas de runtime, mesmo as pessoas não vendo isso.

  • @ariondeno
    @ariondeno 5 месяцев назад +3

    Pq eu tenho certeza que vc está errado

    • @GutoGalego
      @GutoGalego  5 месяцев назад +1

      Boa pergunta. Onde especificamente você acha que eu to errado?

    • @ariondeno
      @ariondeno 5 месяцев назад +2

      ​@@GutoGalegopq vc se contra diz. Uma vez que o Runtime muitas vezes está ligado a linguagem.
      É fundamental estudar estrutura de dados e arquitetura.

    • @ariondeno
      @ariondeno 5 месяцев назад +1

      Se não. Tente fazer num arduíno ou raspeberry py. Também acho que ajuda

    • @ariondeno
      @ariondeno 5 месяцев назад +1

      A performance que a turminha a buscar, está numa combinação de fatores.

  • @LuizHenrique-qr3lt
    @LuizHenrique-qr3lt 5 месяцев назад

    Hm entendi, mas uma dúvida de leigo mesmo. Se com o numba fica tão rápido pq já n é implementado com ele como runtime?

  • @juanlemos4742
    @juanlemos4742 5 месяцев назад

    Algumas abstrações que Python faz tem um preço, porém ser mais rápida n significa que é a melhor pro projeto

  • @xshiftyeuw
    @xshiftyeuw 5 месяцев назад

    Finalmente um video que alguem explica isso direito, linguagem de programacao e apenas uma especificacao.

  • @wesleyXis7
    @wesleyXis7 5 месяцев назад

    Python é muito boa!!! Uso muito pra fazer algumas automações e alguns sistrmas de consulta em banco de dados para minhas aplicações devido sua infinidades de bibliotecas. E sim, é muito boa, vai atender 99% dos casos! Mass, dependendo da aplicação e sua complexidade, não vai ser tão "vantajosa".

  • @lacrador_idiota
    @lacrador_idiota Месяц назад

    queria q tivessem botado zig

  • @dosergiobr
    @dosergiobr Месяц назад

    Eu creio que foi uma falha de quem fez aquele ranking, considerar a maneira mais "comum" de executar cada linguagem e 99% das pessoas rodam python interpretado. Mas parabéns pelos esclarecimentos.

  • @joseroberto8418
    @joseroberto8418 5 месяцев назад +1

    Pessoal fala muita besteira, não aceita o obvio, você citou Python com uns runtimes, seja real, ninguém usa isso em produção não, django, fastapi, numpy, pandas; bibliotecas e frameworks de mercado não usa esses runtimes, são falhos, betas, não testado, não confiáveis, pra quem é leigo, leva isso como verdade fácil.
    mas a linguagem ser mais lenta, não quer dizer que ela é ruim, a perda de velocidade foi agregada a ganho em diversos outros fatores.
    pessoal tem de entender que nenhuma linguagem serve pra tudo, é bom em tudo, Python não tem performance, igual C ser extremamente improdutivo para desenvolvimento web.
    Qual a dificuldade de entender isso?

  • @MarcosVMSoares
    @MarcosVMSoares 5 месяцев назад

    Super discordo até pq no fim quando falando da linguagem falando da escrita até rodar ne. Alias tem linguagem com runtime diferentes e por isso são classificadas por eles mas daqui a pouco vem o Mojo e salva a Python. Então n precisa disso tudo ^^ e acho q hj Zig passo C já ne

  • @nandoztx_rq
    @nandoztx_rq 5 месяцев назад

    depende do que for fazer, usa a fucki%% ferramenta certa

  •  5 месяцев назад

    Linguagem boa é a que resolve o problema de forma satisfatória perante às restrições... seja lá quais forem. O resto é conversa mile, papo de militante em favor de linguagem A ou B.

  • @mdivs
    @mdivs 5 месяцев назад

    O vídeo em si é excelente mas o título é clickbait kkk no fim do video ele fala que não tem como um código Python ser mais rápido que Rust por mais que você otimize o runtime.

    • @GutoGalego
      @GutoGalego  5 месяцев назад

      Hoje em dia. MOJO (se entregar o que promete) diz conseguir rodar Python mais rápido que Rust. Que é o ponto inteiro do vídeo, a linguagem é uma definição formal, a implementação que vai rodar é outra coisa. Sem fazer a distinção do que é lang e o que é runtime, a comparação fica rasa e sem sentido.
      A tabela por exemplo foi feita antes do Bun 1.0. Se a gente usar Bun os números de JS vão ser diferentes. A tabela também tem um erro em Typescript (por isso deu 5x pior que JS).

  • @234trhbgfdert
    @234trhbgfdert 5 месяцев назад +10

    Quanta besteira, é igual falar não existe carro lento. O Python é lento mesmo, fazer o que, nao pode ter tudo, nem C tem tudo

    • @Davisinhogameplay
      @Davisinhogameplay 5 месяцев назад

      Po man acho q vc n entendeu contexto do vid

    • @lucaseduardo2810
      @lucaseduardo2810 5 месяцев назад +1

      Você assistiu o vídeo todo ?

    • @234trhbgfdert
      @234trhbgfdert 5 месяцев назад

      @@lucaseduardo2810 eu assisti e voce? pode responder nem ser falando meia verdade? Diferentes linguagens processam diferentemente e consomem diferentes quantidade de memoria, onde isso está errado?

    • @marverickbin
      @marverickbin 5 месяцев назад +1

      Talvez um melhor comparativo é dizer que nao existe linguagem lenta, nem português, inglês, mandarim...

  • @jesusfuckingchrist7159
    @jesusfuckingchrist7159 5 месяцев назад +1

    Primeiro, concordo! Tem sim fatores diferentes a se levar em consideração, e no final o que mais importa é escrever um código bem otimizado.
    Contudo, acho que tem muito cruzadismo por cima do python. A linguagem existe porque ela fácil e conveniente, não precisa ser a melhor em performance também! Código o mais rápido o possível sempre vai ser nas linguagens compiladas de baixo nível, como C ou Rust