O seu código GO é SEGURO?
9:30
5 ай бұрын
GLEAM 1.0 FOI LANÇADO! Fim de Go?
11:50
APRENDA a PROGRAMAR em ASSEMBLY!
14:26
Por que eu ABANDONEI o VSCode?
8:15
Criando um ALGORITMO de UTF-8!
27:43
PARE de ESCREVER TESTES!
12:35
11 ай бұрын
Essa NOVA VERSÃO de Go muda TUDO!
6:52
PORQUE ESTUDAR GO EM 2024?
8:06
Жыл бұрын
Пікірлер
@matelsalvesdesousa3573
@matelsalvesdesousa3573 11 сағат бұрын
Confio em pessoas que: quando vão citar linguagens de programação começam por go 🥸
@victoraraujo1255
@victoraraujo1255 Күн бұрын
Obrigado Pedro, agora não vou conseguir dormir até saber o porque que uma divisão é tão custosa a nível de assembly... Brincadeiras a parte, mais um ótimo vídeo como sempre
@vinimooraess
@vinimooraess Күн бұрын
Acho que seria pelo mesmo motivo que pra gente é mais fácil multiplicar algo por 3 do que dividir por 3: Pra multiplicar vc só precisar somar x + x + x. Ja pra dividir é um processo mais iterativo, tem que multiplicar o 3 pelo maior numero divisivel por x, anotar qual numero foi, pegar o restante, colocar um 0 do lado, e repetir o processo n vezes até chegar na precisão desejada ou no resultado.
@homerobaroni1655
@homerobaroni1655 Күн бұрын
Luajit é brabo, já superou C em alguns casos
@erosserver8142
@erosserver8142 Күн бұрын
Acho que você deveria fazer a mesma mudança no Rust e veja a diferença.
@phenpessoa
@phenpessoa 17 сағат бұрын
Não tem diferença. O código de máquina (assembly) é o mesmo. O compilador de rust faz a otimização automaticamente.
@thejman4466
@thejman4466 Күн бұрын
Fala, Pedro. Você já fez um vídeo sobre profilling em aplicações Go? Seria bacana esse conteúdo vindo com sua didática.
@TheRobsantos777
@TheRobsantos777 2 күн бұрын
Eu nem acredito mais nesses benchmarks, se fazer loops em C usando a biblioteca stdio.h ela vai ficar mais lenta, e sabemos que uma aplicação complexa em C++ com um bom time de programadores vai ser mais performática que zig por diversos fatores, BENCHMARKS só são numeros.
@CapiEtheriel
@CapiEtheriel 2 күн бұрын
to chocado que `tmp = a[i]; tmp = 0` altera o valor de `a[i]`. eu esperava que alterasse o valor de `tmp`, mas não de `a[i]`.
@phenpessoa
@phenpessoa 2 күн бұрын
tmp = 0 não altera o valor de a[i] não.
@fudencio
@fudencio 2 күн бұрын
caras e bocas nessa thumbnail e conteudo meio DÉVI EXCUTA SÓ
@rodrigochaves204
@rodrigochaves204 2 күн бұрын
Pessoal estou precisando de um freelance em go ou rust, contratei um cara para fazer um bot de arbitragem para mim no 99 frellas, ta com problema em conectar o websocket em 1 corretora, ta complicado resolver, so gastei dinheiro.
@jcbritobr
@jcbritobr 2 күн бұрын
não tem mensagem de erros de compilação também.
@douglas5009
@douglas5009 2 күн бұрын
3:54 tentei reproduzir o benchmark do código Go, com e sem a modificação que mostrou no vídeo, porém não chegou nem perto do 614.9ms. O que consegui foi: antes: 2.329 s depois: 2.105 s Usando a versão go1.23.4 linux/amd64.
@NetinhoTeixeira
@NetinhoTeixeira Күн бұрын
Acho que a máquina utilizada também influencia.
@manoelnt0
@manoelnt0 21 сағат бұрын
​@@NetinhoTeixeira sem dúvidas influencia! Com certeza!
@ruanpetterson2072
@ruanpetterson2072 2 күн бұрын
Uma correção: Rust tem bastante potencial em ser mais performático sim em relação a C. Isso acontece muitas vezes por causa das otimizações do LLVM com pointer aliasing. Enquanto em Rust essa marcação é feita automaticamente com ajuda do borrowck, em C isso é manual e muitas vezes negligenciada.
@gabrielmendes5993
@gabrielmendes5993 2 күн бұрын
@phenpessoa estava aprendendo GO com seu curso na rocketseat , estava gostando e aprendendo muito ! vai ter mais ???
@luisfernandomoraes9778
@luisfernandomoraes9778 2 күн бұрын
Mostra como tu aplicou o profiling pra descobrir a otimização mano! Show de bola o conteudo, parabéns!
@segredosdefamilia9685
@segredosdefamilia9685 2 күн бұрын
Se fizer isso com apenas 1000 iteracoes no loop, melhor com ou sem a otimização?
@phifnmg
@phifnmg 2 күн бұрын
Cada conteúdo que o Pedrão posta e fantástico !
@hououink
@hououink 2 күн бұрын
"O compilador de Go é escrito em Go"... eu não sei se eu fico feliz ou fico com medo
@filipedias6707
@filipedias6707 2 күн бұрын
Nossa, tu matou uma dúvida que tava a muito tempo na minha cabeça. Esse vídeo tá bom demais 🤌
@WendelBrito-s8s
@WendelBrito-s8s 3 күн бұрын
Sobre o comentario final, Zig, Rust e C estão praticamente empatados po, ou 0,518 é muita diferença para 0,515 ou 0,510 ? rsrs
@MarceloSantosSCS
@MarceloSantosSCS 3 күн бұрын
Parabéns pela didática, o vídeo inteiro é show de bola. Apenas uma curiosidade: Que editor de código tu usa? Me parece VSCode. Achei maneiro a forma como ele destaca as nuances das linguagens.
@sandhilt
@sandhilt 3 күн бұрын
Por padrão, se eu vejo Promise, já sei que pode dar erro.
@RegianeCabrall
@RegianeCabrall 3 күн бұрын
Caraca, muito louco! Minha curiosidade me fez chegar até aqui , gosteii do video.
@_samuelcamilo
@_samuelcamilo 3 күн бұрын
Parabéns mano, que conteúdo topppp!
@leandrocavalcante769
@leandrocavalcante769 3 күн бұрын
topssimo! massaaaaaaa
@jcbritobr
@jcbritobr 3 күн бұрын
Rust faz muitas otimizações. Muitas mesmo. Eu não vejo esses bench porque é tudo meio inútil. No final, o que conta mesmo é a capacidade do compilador gerar assembly.
@avilyre
@avilyre 3 күн бұрын
Pedro brabo demais! Virei fã so com esse vídeo
@leandrocavalcante769
@leandrocavalcante769 3 күн бұрын
massa!
@ViniciusCosta-bi9bq
@ViniciusCosta-bi9bq 3 күн бұрын
Porque gostam de zoar python de graça?
@feliperesende4505
@feliperesende4505 3 күн бұрын
O que muita gente não entende é que algumas linguagens PRECISAM ser mais lentas para conseguir oferecer certas features, favorecer certos designs ou conseguir rodar em ecossistemas muito específicos. Você troca performance por praticidade.
@tiagobecker8617
@tiagobecker8617 3 күн бұрын
Parabéns, conhecimento tacito, fluido e sem enrolação. Muito bom!
@casadogaspar
@casadogaspar 3 күн бұрын
Se algu\em tiver paciencia de testar printando de formas diferentes provavelmente vai conseguir tempos diferentes e ate melhores. PS (nao sei onde esse teclado tem os acentos haha)
@SrAzion
@SrAzion 3 күн бұрын
Muito bom. Ficou boa explicação 5:56 todo mundo esquece do AsM
@ethi8128
@ethi8128 3 күн бұрын
tua didática é fenomenal. ultimamente tá difícil eu ficar focado em um vídeo de 10min sem perceber kkkk mas acabei vendo teu vídeo completo sem pular nada e sem nem perceber o tempo passar kkkk
@gabrielkemmer
@gabrielkemmer 3 күн бұрын
Isso é verdade vi o vídeo todo e nem me liguei que passaram 10 minutos
@faustoyuuki6826
@faustoyuuki6826 2 күн бұрын
eu n fazia ideia q o video teve 10min, mas msm assim eu tive q colocar a velocidade em 1.3x pq c n eu n consigo ficar focado. Tenho q parar de ver tiktok e ler mais livros para ter o foco de volta
@ethi8128
@ethi8128 2 күн бұрын
@faustoyuuki6826 larguei do tiktok por isso. tava acabando com o meu foco. impaciência tava explodindo em mim.
@cferrado
@cferrado 3 күн бұрын
comparação complexa, luajit mesmo pode ser mais rápido que quase qualquer linguagem não compilada... até cair num NYI, alocar num loop, ou precisar de threads
@emanoelinfinity
@emanoelinfinity 3 күн бұрын
Esse vídeo é excelente para os iniciantes emocionados. Claro que esses comparadores não servem pra nada*, e o mais importante é saber porque.
@smanzoli
@smanzoli 3 күн бұрын
Python se compilado (e é muito fácil JIT no Python), ele fica muito rápida, cerca de apenas 4x mais lento que C... ou igual C não otimizado. As pessoas esquecem que um código Python do mundo real está na verdade rodando C a imensa parte do tempo.
@PabloGeokar
@PabloGeokar 3 күн бұрын
Eu já tentei aprender assembly por curiosidades mas está muito além do meu pobre conhecimento 😢
@HugoNathanBR
@HugoNathanBR 3 күн бұрын
Conteúdo excelente!!!
@phenpessoa
@phenpessoa 3 күн бұрын
Obrigado!
@017chestera
@017chestera 3 күн бұрын
Eu tô longe desse nível, sou iniciante, mas ele explica muito bem
@MayconRodrigues1
@MayconRodrigues1 3 күн бұрын
Eu já estava desconfiando. Meu código em Go é sempre mais rápido do que outros códigos que fazem a mesma coisa. É tudo questão de saber otimizar o código e não esperar pelo compilador. Neste caso Java seria mais rápido porque a JVM otimiza o código.
@joaoantoniocabral
@joaoantoniocabral 3 күн бұрын
Uma vez teve um evento com um desafio de criar uma API onde seria executado um teste de stress e comparado as performances. O pessoal conseguiu boas performances com algumas linguagens não tão famosas por performance. Não lembro o nome do evento (tentei pesquisar rápido aqui), mas eram testes reais como consulta em uma API que buscava no banco de dados, salvava dados e etc.
@Mth-Ryan
@Mth-Ryan 3 күн бұрын
Muitas linguagem que são consideradas lentas se dão bem nesse tipo de teste por um motivo muito simples: as bibliotecas que utilizam para comunicação http são escritas em c ou outra línguagem de sistemas. Na verdade esse é o caso ideal para linguagens de script como python ou ruby. Criar bibliotecas performática em c como o web server pulma e montar sua aplicação em torno delas. Infelizmente com a hiper especialização dos programadores isso se perdeu um pouco. Hoje vemos aberrações como o compilador de typescript sendo escrito nele mesmo. Vai entender.
@brunof2p
@brunof2p 3 күн бұрын
Tem a rinha do backend que o akita fez uns 3 vídeos sobre, no final ele conseguiu obter pontuação máxima em todas as linguagens da rinha
@joaoantoniocabral
@joaoantoniocabral 3 күн бұрын
@@brunof2p exato, era esse que queria lembrar mas não lembrava o nome!
@richardelesbao
@richardelesbao 3 күн бұрын
Mas naquele desafio não era muito com a linguagem em si, e sim saber usar atomicidade do banco de dados
@shark3ds498
@shark3ds498 3 күн бұрын
Demais esse video!
@paulobitfranca
@paulobitfranca 3 күн бұрын
O motivo de Rust ser mais rápido do que Golang não é apenas pelo fato de RUST não ter GC. A prioridade de Golang é ter uma compilação rápida. Já Rust abre mão da velocidade de compilação em favor de executar uma otimização brutal no código ao compilar, convertendo abstrações mais complexas do código em instruções de baixo nível mais simples, entre muitas outras coisas. Tudo isso com o objetivo de entregar um binário final o mais enxuto e eficiente possível. É por isso que Golang compila anos-luz mais rápido do que Rust, já que, como já dito, a prioridade de Go é uma build rápida, sem se preocupar muito com otimizações.
@kommanderkeen
@kommanderkeen 3 күн бұрын
Video fantástico! Por que Zig não tem tido a mesma atenção que Rust se parece ser mais rápido e mais parecido com C?
@ViniciusSoaresBatista
@ViniciusSoaresBatista 3 күн бұрын
Zig eh mais nova, comunidade menor, e só ganhou notoriedade recentemente. Rust é o oposto
@gabrielmartins7642
@gabrielmartins7642 3 күн бұрын
O dart que me surpreendeu
@soliveirajr
@soliveirajr 3 күн бұрын
É sabido que o JIT consegue fazer milagres que o AOT não consegue. Por exemplo, JIT consegue fazer inlining agressivamente. Para isso ser possível é obrigatório ter informações de run-time (tempo de execução). Obviamente não é viável fazer inline de tudo. Tenho vários códigos de Java que são mais rápido que códigos equivalentes em C++ com -O3, exatamente por causa do JIT. Se vc compila o código Java com GraalVM e testa contra o C++, ele perde ou fica igual. Conclusão => nunca subestime a HotSpot JVM com o seu JIT.
@TheMathues123
@TheMathues123 3 күн бұрын
python 150x mais lento que C. Você programando em C: 150000x mais lento. Eaí, qual tu escolhe ?
@vitorcorrea6375
@vitorcorrea6375 3 күн бұрын
Depende onde será usada. Por exemplo, sistemas embarcados. Imagine programar o sistema de um avião em Python, sendo que a resposta tem que ser de forma instantânea.
@Toda_Ciencia
@Toda_Ciencia 3 күн бұрын
nunca que em C é 150000x mais lento, kkkkkkkkk! mas aí está a resposta: depende em sistemas onde performance é essencial, como kernels de sistemas operacionais, jogos, banco de dados, navegadores, etc. C é a escolha em sistemas onde performance não é tão essencial, como web apps, scripts, etc. Python é uma escolha
@TheMathues123
@TheMathues123 3 күн бұрын
​@@Toda_CienciaEu não disse a linguagem, eu disse "você" usando a linguagem. Quanto tempo leva pra tu entregar features em C ? sacou.
@ViniciusCosta-bi9bq
@ViniciusCosta-bi9bq 3 күн бұрын
​@@vitorcorrea6375 95% das pessoas trabalham em front, back, mobile ou data science
3 күн бұрын
​@@TheMathues123depende do nível de conhecimento sobre a linguagem..
@isaccabral1291
@isaccabral1291 3 күн бұрын
Parabéns pelo vídeo. Muito bom, difícil um vídeo me prender assim até o final. Qual programa de Benchmark você usou?
@phenpessoa
@phenpessoa 3 күн бұрын
Foi o hyperfine
@DataAnalyst1973
@DataAnalyst1973 3 күн бұрын
Portas de 2025 e as pessoas perdendo tempo com isso...
@mariaeduardasantanadolce352
@mariaeduardasantanadolce352 3 күн бұрын
E você aqui também...
@paulobitfranca
@paulobitfranca 3 күн бұрын
De forma alguma esses testes são perda de tempo, quando feitos com seriedade. Sempre se aprende algo novo, como por exemplo o autor do vídeo citou ter entendido, através desse teste, a questão da otimização que Rust faz e Golang não.
@superfortekiai
@superfortekiai 3 күн бұрын
Adoro vídeos que falam de linguagens com foco em compiladores, eu amo. Obrigado pelo seu contributo.