Zig é o sucessor de C (não Rust)

  Рет қаралды 13,480

Waine - Dev do Desempenho

Waine - Dev do Desempenho

Күн бұрын

Пікірлер
@dili25
@dili25 6 ай бұрын
Quem é vc Waine ? Quais suas credenciais ( bacharelado em Ciências da Computação, mestrado, etc) ? Aonde trabalhou ou trabalha ? Por quanto tempo ? Vc já fez trabalho em "systems program" ? Eu acho que vc é mais um que quer click . Vc nem se deu o trabalho de explicar o sistema de 'borrow checker' do rust. Vc realmente entende ?
@dili25
@dili25 6 ай бұрын
Sua explanação sobre C/RUST/ZIG é péssima meu camarada. Vc eh super raso no que tange essas 3 linguagens.
@dili25
@dili25 6 ай бұрын
Vc usa a palavra 'mágica' para ZIG. MEU DEUS DO CÉU !!!!!!!!
@dili25
@dili25 6 ай бұрын
Vc conhece de compiladores (pelo menos um pouco) ?
@dili25
@dili25 6 ай бұрын
Vc eh a maior falcatrua que eu vi no youtube BR sobre Computação !
@dili25
@dili25 6 ай бұрын
"Nossa Senhora, Meu Deus" . hahahahaahh
@banzeirao
@banzeirao 6 ай бұрын
Todo dia nasce uma nova linguagem do futuro
@waine_jr
@waine_jr 6 ай бұрын
kkkkkkkkkk de fato, mas com o potencial factural pra suceder C, só Zig que conheço (nem Rust ao meu ver)
@AndreCarneiro666
@AndreCarneiro666 6 ай бұрын
Todo dia eu não diria. Mas hype é a doença da área! Todo mundo quer elevar a linguagem o mais rápido possível. Quem tem que ter cuidado é desenvolvedor precipitado!
@ComentadorBobson
@ComentadorBobson 6 ай бұрын
@@waine_jr por que não Rust? Ao meu ver hoje é a melhor opção.
@mateusacauhi8357
@mateusacauhi8357 6 ай бұрын
@@ComentadorBobson Po meio que o video eh a opiniao do brother Waine sobre isso
@kyruin
@kyruin 6 ай бұрын
​@@mateusacauhi8357KKKKKKKKKKLLLKKKKKKK
@wonrey7779
@wonrey7779 6 ай бұрын
Pra mim que vim do Python, o Rust me ensinou a escrever código de qualidade, mas depois que entra no baixo nível ou vocês que já tem experiência com C/C++, basicamente o que vai definir qual linguagem utilizar é o projeto em si que você está trabalhando. O bom é que todas elas forçam você a saber o que está fazendo, então você não sai perdendo se tentar aprender qualquer uma delas. Acredito que tem espaço para todas e C/C++ só vai ser destronado quando reescreverem linux/drivers/game engines do zero, ou seja, nunca kkkk
@waine_jr
@waine_jr 6 ай бұрын
Perfeito. Sem tirar nem por
@GuilhermeAltran
@GuilhermeAltran 6 ай бұрын
rust n foi feito para bater o c c++, ele foi feito para ser seguro este é o ponto mais relevante de rust. eu concordo com o fato de que programar em rust vai te fazer um programador muito melhor.
@leandrojunior940
@leandrojunior940 5 ай бұрын
@@wonrey7779 E também não ha necessidade, não sei porque ficam criando 50000 linguagens novas, è só ir atualizando aos poucos
@costelinha1867
@costelinha1867 5 ай бұрын
Já sai ganhando ao aprender os básicos de C só por poder fazer homebrews bestas de Nintendo DS kkkkk.
@GuilhermeAltran
@GuilhermeAltran 5 ай бұрын
​@@leandrojunior940 pra que criar um monte de carros diferentes deveria ser tudo Gurgel brasileiro
@feliperesende4505
@feliperesende4505 6 ай бұрын
Para complementar, mais alguns usos de C e C++ são: Sistemas de Banco de dados, engines de Jogos, editores de video, softwares de modelagem 3D ou ilustração, navegadores, sistemas embarcados em microchips (maioria não tem sistema operacional), Inteligência artificial... Na maioria dos casos, o C e C++ estão na base ou core dos sistemas que usamos e por fora eles usam alguma outra linguagem para facilitar o desenvolvimento da parte de entrada de dados ou a parte de UI do sistema como editores, janelas, front end, apis...
@costelinha1867
@costelinha1867 5 ай бұрын
Outra complementação. Desenvolvimentos de jogos retro, já que esses hardwares são tão limitados, que vc vai literalmente ter sorte se puder usar C/C++ e não ser obrigado a ir direto pro Assembly. Eu por exemplo uso C pra fazer homebrews de Nintendo DS.
@Sobre_Novel
@Sobre_Novel 6 ай бұрын
O que eu projeto pro futuro é como você disse, o Zig se acoplando as bases de codigo C, se tornando o "novo modo de compilar C", enquanto Rust também ai tomar parte do papel de C, mas em projetos mais especificos e novos, justamente porque Rust conversa com C, mas ainda assim, Rust tem muito problema em conversar com coisas que não falam do jeito Rust de ser.
@waine_jr
@waine_jr 6 ай бұрын
Sim, essa retrocompatibilidade com as bases de código em C é extremamente importante (e a facilidade em volta disso), e é uma coisa que não vejo tanta gente falando quando discutem Rust e Zig
@lucas_badico
@lucas_badico 6 ай бұрын
@@waine_jr o zig foi criado pensando em ser 100% compativel, inclusive eles fazem alguns tipos serem duplamente compativeis
@GeorgeMatos
@GeorgeMatos 6 ай бұрын
Sou leigo, então relevem. Mas essa retrocompatibilidade com C também não pode ser um problema? Visto que se eu começar um projeto em Zig, usando o código de bibliotecas C, os bugs dessas libs não poderiam ser importadas para meu novo projeto? Coisa que poderia ser evitada se tudo começasse a ser escrito em Rust?
@lucas_badico
@lucas_badico 6 ай бұрын
@@GeorgeMatos possível, mas aí ta o poder do zig, vc pode pouco a pouco ir migrando a sua codebase pra zig. Nada te impede de corrige o bug em um código zig.
@GeorgeMatos
@GeorgeMatos 6 ай бұрын
@@lucas_badico entendi, mas o que me pegou foi quando ele disse que Zig não tem algo como ownership e borrowing, sendo assim alguns daqueles one billion bugs ainda assombrariam os devs Zig. Ou n entendi direito?
@cesarmarinhorj
@cesarmarinhorj 5 күн бұрын
muito bom!!! valeu pela dica e abordagem do zig como opção!!! muito obrigado!!!
@Anderson-ud1pq
@Anderson-ud1pq 6 ай бұрын
Dá para fazer algumas coisas em tempo de compilação também no Rust. Ler arquivos seja pra string ou binário, eles vão dentro do executável entre outras coisas, por meio de macros. Eu mesmo faço include de arquivos de shaders direto pra o binário pq são grandes e tbm n quero carregar em tempo de execução. Enfim, Zig parece bem legal. Quando eu tava procurando uma linguagem para desenvolver meu motor eu pensei em Zig, mas como ela ainda está muito jovem eu preferi fazer em Rust.
@waine_jr
@waine_jr 6 ай бұрын
Aham, essa parte de compilação dá pra fazer em diversas linguagens, mas a questão pra mim é ergonomia. Em C mesmo eu fazia mt coisa em tempo de compilação, mas era ou limitado ou "complicado demais". De Rust o que já ouvi os KZbinrs falando é que tem que ser o "mágico dos macros" (acho que o Primeagen usou um termo assim em um vídeo). Mas Zig torna toda essa tarefa mt mt mais fácil, você usa a mesma coisa tanto pra comptime quanto pra runtime, e isso facilita mt pras ferramentas em volta e pra ergonomia ao meu ver.
@igorsilva736
@igorsilva736 6 ай бұрын
​​@@waine_jrcomptime do Zig é muito bom, mas macro não é esse pesadelo não, pra definir precisa saber sobre algumas coisas específicas de macros, mas pra chamar é como chamar uma função ou uma annotation, o qe fode é o intellisense do editor. Langs como Swift, Julia e Dart também possuem macro
@Lucs-ku5cb
@Lucs-ku5cb 6 ай бұрын
Tomar decisões em tempo de compilação é só uma das coisas possíveis de fazer com macros. Você tbm pode mudar a sintax da linguagem e até mesmo programar em outra linguagem por meio das macros, por exemplo existe um crate que permite programar em lisp dentro do Rust
@waine_jr
@waine_jr 6 ай бұрын
@@Lucs-ku5cb se não me engano o SQLx de rust também é em tempo de compilação, acho mt massa isso
@Lucs-ku5cb
@Lucs-ku5cb 6 ай бұрын
@@waine_jr sim ele valida as querys em tempo de compilação e da pra ver os possíveis erros já no editor de texto. O Navarro da rinha de back-ends fez uma demostração no canal dele
@caiotoledo30
@caiotoledo30 6 ай бұрын
Em C++ usando "constexpr" ja conseguimos definir funções que vão rodar em tempo de compilação. Não sei se em Zig isso ta melhor ainda...
@GustavoNoronha
@GustavoNoronha 6 ай бұрын
Não é a mesma coisa, o que o Waine tá falando é de metaprogramação, seria o substituto do pré-processador (#define #ifdef, essas coisas). Dá pra fazer algumas coisas com constexprs, mas não dá pra essencialmente gerar código.
@caiotoledo30
@caiotoledo30 6 ай бұрын
@@GustavoNoronha sim é verdade não é essencialmente a mesma coisa Depois tenho que dar uma boa olhada em Zig também...
@waine_jr
@waine_jr 6 ай бұрын
perfeito, Gustavo, respondeu por mim hahahaha
@embriagadodesabedoria
@embriagadodesabedoria 6 ай бұрын
por mais vídeos no youtube com essa qualidade! Obrigado!
@waine_jr
@waine_jr 6 ай бұрын
Valeu! E vai ter muito mais vídeo assim pros membros também
@lourencodesouza8191
@lourencodesouza8191 6 ай бұрын
Rust está mais evoluído por ter uma documentação excelente e um gerenciador de pacotes. Mas com certeza Zig já está no meu radar.
@waine_jr
@waine_jr 6 ай бұрын
A documentação de Zig deixa mt a desejar, eles tem que investir mais nisso logo
@cravodev
@cravodev 6 ай бұрын
O problema de qualquer nova linguagem é a sintaxe, quando eles começam a mudar muito e acaba ficando cada vez mais distante da do C, me desanima muito para tentar entender e aprender.
@waine_jr
@waine_jr 6 ай бұрын
A gente scodtuma depois de um tempo, sinto isso com toda nova linguagem que vou ver
@Ramz64bits
@Ramz64bits 6 ай бұрын
Quando vamos ter a rinha de linguagem de sistemas?
@waine_jr
@waine_jr 6 ай бұрын
Hahahhahaha uma boa ideia. Quero organizar uma rinha pra LBM, ver quem faz o solver mais rápido
@st3phano
@st3phano 6 ай бұрын
7:00 Em que situação malloc() retorna -1? Dei uma pesquisada e não consegui encontrar
@waine_jr
@waine_jr 6 ай бұрын
Na verdade eu falei errado, é NULL que retorna. Em caso de falta de memória cheia, por exemplo, o malloc pode dar erro. Inclusive esse é um dos motivos da MISRA C (padrão utilizado em indústrias pra escrever "C seguro") não permitir uso de malloc nos programas, pra não ter erro em runtime
@popopooooooooooooooo
@popopooooooooooooooo 6 ай бұрын
Gostei de Rust, é extremamente rápido para o meu caso de uso, web e interpretadores; mas acaba sendo muito complexo muitas vezes. Rust tem macros para criar funções em tempo de compilação, é um recurso muito bom também.
@OAdnan2
@OAdnan2 6 ай бұрын
9:23 Foi um dos motivos do porque eu descobri essa linguagem: estava procurando fontes pra saber como usam o CMake pra fazer o build dos meus projetos e o video da apresentação do zig apareceu pra mim, isso lá em 2020, e já foi suficiente pra eu dar atenção a essa linguagem. O fato dela também ter ferramentas para testes de unidade embutidas e funções em tempo de compilação foram um belo adicional, mas é, por vezes você não precisa de muito pra arriscar em outra ferramenta. Agora é esperar isso sair do preview, e como ela vai evoluir com o tempo, até porque, talvez até lá já tenha legado pra cuidar(já tem o Bun usando ele, mesmo no preview).
@waine_jr
@waine_jr 6 ай бұрын
Acho que só o tempo pra dizer mesmo. Mas ao mesmo tempo já vejo como madura o suficiente pra ser colocada em projetos atuais que tem manutenção e devem durar um bom tempo. Tem o TigerBeetle também que usa Zig pra bastante coisa e umas outras empresas nessa linha. Tô torcendo pra que vingue a linguagem e tenhamos uma alternativa pra C compatível com todo C que já existe kkkkkk
@Felipe-n1d2p
@Felipe-n1d2p Ай бұрын
Qual delas você recomenda para quem quer começar na area de baixo nivel (sem ter tido c/c++) na faculdade? Eu atualmente gostaria de aprender baixo nivel, mas sempre tive uma certa resistencia para ir para c/c++ pela má fama. Tenho bastante conhecimento em linguagens mais """medio nivel""" (Java, Kotlin, que tbm são compiladas, mas não lidam diretamente com memória).
@waine_jr
@waine_jr Ай бұрын
Eu recomendo C mesmo por ter o maior número de materiais e fontes por aí. Mesmo com a "má fama", qualquer um que programe em baixo nível é obrigado a saber C, e todas linguagens seguintes bebem de C e tentam superar alguns de seus problemas crônicos (Rust, Zig, Odin, etc.) Com relação a "má fama", os pontos positivos são MUITO superiores aos negativos em C, ao meu ver. As escolhas da linguagem foram muito boas pro que ela se propõe, mesmo com todas suas limitações e problemas. Essas novas linguagens vem pra "aparar as arestas" de C
@MarcosVMSoares
@MarcosVMSoares 6 ай бұрын
Eu uso rust dentro do elixir. Tentei usar zig, q tmb é possível porém pra trabalhar com csv etc achei melhor o suporte do Rust
@waine_jr
@waine_jr 6 ай бұрын
Pra FFI eu acho que Zig tem uma ergonomia ruim mesmo, pelo que já vi, semelhante a como se faz em C
@PauloHenriquePereira-g7o
@PauloHenriquePereira-g7o 4 ай бұрын
bom dia, entao como compilar o kernel linux ou bsd{open ou free} com zig. tem como voce fazer um video com esse conteudo. por que seria muito legal ver sendo feito.
@waine_jr
@waine_jr 4 ай бұрын
É um bom vídeo mesmo, acho que vou fazer e mostrar o processo. Também com relação a SO, se virar membro vai ver um SO do zero em Zig, tá sendo mt massa fazer
@alecsei393ify
@alecsei393ify 6 ай бұрын
Quais ISAs estao disponiveis em ZIG? apenas x86 ??
@waine_jr
@waine_jr 6 ай бұрын
Zig utiliza LLVM, então toda arquitetura que LLVM suporta (que é a grande maioria), Zig também suporta
@savagemode2150
@savagemode2150 6 ай бұрын
só o fato de rust ter "async fn" já indica que ele não foi criado apenas pra systems programming.. segue alguns outros exemplos de uso: apis de todo tipo, servidores de jogos, message brokers, servidores iot, clis, guis, analise de dados, vpns, processamento de texto (compiladores e transpiladores), load balancers, banco de dados, etc.. ai que está o grande triunfo do rust, ele faz praticamente tudo (até frontend web em wasm, que vem ganhando forças e se tornando viável ultimamente), com maestria e extrema facilidade.. em relação a isso, ninguém chegou perto do rust ainda.. uma linguagem sem gc, com possibilidade de usar tanto features low level quanto high level, o bloco 'unsafe' te permitindo tacar o pau igual faria em cpp, etc.. nunca foi só hype, a linguagem de fato é única (até então), onde já se viu empresas como microsoft, discord, tesla, outras, confiarem numa linguagem só pelo hype?!
@Lucs-ku5cb
@Lucs-ku5cb 6 ай бұрын
O interessante é que dá pra usar async fn em embarcados com crates como embassy. E eu já vi projetos de kernel usando async
@waine_jr
@waine_jr 6 ай бұрын
Por isso também acho que Rust não tem como objetivo competir com C, mas sim Java, C++, Go e outras linguagens que são usadas nas aplicações que você comentou. Só não gosto de usar o termo "faz tudo" porque fica parecendo que é um pato a linguagem, pra mim ela continua tendo o escopo de uso que C++ tem, por exemplo.
@donizetevida2149
@donizetevida2149 6 ай бұрын
Eu acho usar async como argumento pra não ser system programming um péssimo argumento, até porque até sistemas embarcados da pra fazer coisas em "paralelo", vide RTOS A implementação do async vem da plataforma/hardware Ele é uma palavra reservada, somente, e você não é obrigado a usar C++ também tem "coroutines", mas é uma biblioteca externa. C++ não foi feito pra system programming?
@savagemode2150
@savagemode2150 6 ай бұрын
@@donizetevida2149 wtf?? paralelismo e async/await são coisas completamente diferentes, que que você tá falando kkkkkk async/await vem de um event-loop (que pode ser single ou multi threaded), enquanto paralelismo vem de threads verdadeiras.. recomendo pedir uma explicação pro chatgpt..
@savagemode2150
@savagemode2150 6 ай бұрын
@@donizetevida2149 mano, q q vc tá falando?? async/await vem de um event-loop (que pode ser single ou multi threaded), enquanto paralelismo vem de threads verdadeiras.. são coisas completamente diferentes kkkkk chapouu
@ArthurSo-wh3tz
@ArthurSo-wh3tz 6 ай бұрын
Zig é uma linguagem muito interessante, com certeza é uma evolução do C, quase como um C 2.0. Porém talvez não se aplique ao C++. Eu tenho duvidas se ele realmente preenche o espaço ocupado pelo c++, pois tem muita coisa que hoje o c++ faz que vai demorar muito pro Zig bater de frente, muito devido ao ecossistema já estabelecido e também aos diferentes níveis de abstrações dessas duas linguagens. Talvez eu esteja um pouco enviesado na minha analise, mas pra mim o C++ tem mais chance de ser substituído por um Rust, Go, ou um Carbon (talvez?), do que pelo Zig.
@waine_jr
@waine_jr 6 ай бұрын
Sim, concordo com tudo o que você disse. Acho Zig muito mais voltado pra área de atuação do C e o que ele se propõe do que o C++. Acho que no vídeo uso as duas como se fossem "a mesma área", mas na verdade tem casos de uso e objetivos bem diferentes.
@timatos
@timatos 5 ай бұрын
Ainda teve a Crystal, mais antiga, syntaxe inspirada em Ruby e tem a Carbon, da Google, ainda em desenvolvimento...
@GustavoNoronha
@GustavoNoronha 6 ай бұрын
Sobre metaprogramação em Rust, não chega a ser tão livre como eu entendi que é pra Zig, mas é mais perto de Zig que de C. Com proc_macros você tem acesso a um bom pedaço da linguagem, pode chamar funções e tudo. Eu criei uma biblioteca por exemplo que garante que chamadas concorrentes a uma função com os mesmos argumentos vai gerar o resultado uma vez só e dar a resposta a todos os clientes. A ideia é evitar retrabalho desnecessário pra APIs REST, por exemplo. Você basicamente decora a função com #[mula] (mula de carga ;D) e a proc_macro gera o código que faz wrap da função pra fazer a sincronização, dá uma olhada. Acho que o KZbin não gostou de eu postar links, então pode procurar a crate mula e olhar o código da proc_macro.
@waine_jr
@waine_jr 6 ай бұрын
Interessante saber que é mais próximo de Zig que C/C++. Ainda quero ver como é em Rust essa questão dos macros. Mas tem muita mágica que dá pra fazer em Zig que me lembrou muito Python, e eu amo Python, então cai de amor com a linguagem kkkkkkkkk
@testeTestandomuitosTestes
@testeTestandomuitosTestes 4 ай бұрын
O que você acha do Fortran, pois ele tem um ótimo gerenciador de memória e até hoje usado para aplicações sérias como na faculdade ele é usado para ver o comportamento de enzimas em temperaturas diferentes na formação de proteínas, sim o que você acha de Fortran ?
@waine_jr
@waine_jr 4 ай бұрын
Fortran é muito forte na computação científica e numérica, mas nunca trabalhei com ele. Acho mt massa a extensão de CoArray do Fortran
@robervaldo4633
@robervaldo4633 6 ай бұрын
sobre comptime ser "mágica"... C++ tem "template metaprogramming" há muitos anos, e mais recentemente (mas há vários anos) constexpr, e rust tem metaprogramação (macros) poderosíssima, e esse tipo de coisa vem lá do lisp (macros), décadas atrás
@waine_jr
@waine_jr 6 ай бұрын
Convido a dar uma olhada em como o comptime de Zig funciona. Não é igual nenhum dos dois
@Leanst.
@Leanst. 6 ай бұрын
Interessante essa Zig com este recurso compile-time, realmente é muito atrativo, mas pelo que eu percebi ela não vai concorrer com o Rust e sua principal bandeira, o gerenciamento mais fácil da memória. Compile-time é bom, é útil, mas eu não vejo como uma feature 'essencial' no desenvolvimento pra Rush, e se realmente quiser algo em tempo real tem o evcxr pra brincar um pouco. Mas é interessante, Zig parece que pode ter um lugar de fala também nesta seara de linguagens que dominarão o futuro, por pelo menos mais uns 10 ou 20 anos.. rs
@waine_jr
@waine_jr 6 ай бұрын
Também acho que Zig não compete com Rust, mas sim com C (assim como Rust não vejo como competidor direto de C). Essa questão de comptime é meio nichada, como disse no vídeo, mas quem precisa tenho certeza que precisa MUITO e deve facilitar a vida pra caramba. Pra geral acho que o mais atrativo é o Zig como build tool pra várias arquiteturas e a retrocompatibilidade com código em C.
@ensuretime
@ensuretime 6 ай бұрын
Quando se trata de compile-time, C++ eh o "playground", ja eh possivel alocar no heap em compile-time e nao existe UB em compile-time (existe, mas eh emitido um erro de compilacao). Compile-time em C++ chegou em um ponto que ja existe biblioteca de "static reflection" para diversas situacoes como "enum to string". Uma excelente lib de serialiazacao eh a zppbits (c++20), ela resolve a serializacao em compile-time, emitindo memcpy para cada field da estrutura, o que resulta em um codigo final tao rapido quanto memcpy(dst, src, sizeof(struct)), ou seja, zero-overhead em runtime.
@Lucs-ku5cb
@Lucs-ku5cb 6 ай бұрын
As macros do Rust permitiu a biblioteca sqlx ter acesso ao db em tempo de compilação Acho que essa feature só não foi muito explorada ainda pq aplicação pra ela tem em muitos lugares ​@@waine_jr
@jpsamarino3
@jpsamarino3 6 ай бұрын
Cara eu comecei a usar Rust por causa da comunidade e o ecossistema, existem mts soluções atuais de libs e software que estão sendo feitos em Rust e isso (comunidade) que vai fazer que aos poucos está ir tomando lugar do C e não propriamente seus recursos ou desempenho.
@waine_jr
@waine_jr 6 ай бұрын
Pra mim toma mais o lugar de C++, mas o ecossistema de Rust é bem rico mesmo e tem bastante coisa (menos uma biblioteca de matemática simbólica tipo o sympy)
@frango_molhado
@frango_molhado 6 ай бұрын
Acho que a galera esquece que TI é um mercado como qualquer outro. O tanto de comentário burro reclamando do cara especular sobre Zig me faz pensar que a não pessoa não tem capacidade de interpretação. Em nenhum momento do video ele fala "PAREM TUDO E USEM ZIG NO LUGAR DE C", ele até incentiva a também olhar Rust, além de só estar expressando uma opinião, o que é diferente do seu tiktoker tech favorito cuspindo frases como se fossem verdades absolutas. A Uber já usa Zig, então tem algo promissor na linguagem. Por favor, saia da internet um pouquinho e leia um livro.
@waine_jr
@waine_jr 6 ай бұрын
Perfeito, errodememoria. Eu nem esquento a cabeça com esse tipo de comentário kkkkkkkk sei que quem prestou atenção ouviu e tirou suas próprias conclusões.
@demhattos
@demhattos 5 ай бұрын
O problema é fanboy de linguagem, ele ama a linguagem e não o que ela oferece. Eu tenho acompanhado Zig e me parece muito promissor, mas falta muito pra uma versão 1.0 até lá muita água vai rolar.
@yanrodrigues5723
@yanrodrigues5723 6 ай бұрын
E linguagens como go ou carbon? São ou podem se tornar uma alternativa p system programming?
@waine_jr
@waine_jr 6 ай бұрын
Go com certeza não, carbon nunca vi nada mais a fundo
@Lucs-ku5cb
@Lucs-ku5cb 6 ай бұрын
Carbon nasceu morto Nem o Google que criou ela adotou
@gustavomiranda9013
@gustavomiranda9013 6 ай бұрын
Por favor, faz um vídeo exibindo um roadmap para system programming, estou no sétimo período da faculdade, já estudei arquitetura de computadores, sistemas operacionais, engenharia de software e C, pretendo seguir nessa área.
@waine_jr
@waine_jr 6 ай бұрын
Já tá no caminho então, meu querido. Pretendo fazer vídeo sobre isso sim, mas os conhecimentos de base principais aparentemente você já tem: C, sistemas operacionais, arquitetura de computadores. Agora é especialização e buscar uma área de atuação em sistemas (que não é tão fácil de achar como web, mas com certeza existem vagas)
@otaviogoes5832
@otaviogoes5832 6 ай бұрын
As macros de Rust são meta programação também, assim como você mostrou ser em Zig.
@otaviogoes5832
@otaviogoes5832 6 ай бұрын
É diferente e muito mais interessante do que fazer em C
@waine_jr
@waine_jr 6 ай бұрын
Esse tipo de coisa quase todas linguagens tem, o mais famoso pra mim são os templates de C++. Mas a ergonomia e poder que Zig dá eu não cheguei a ver nada páreo. Com relação a Rust, já vi o pessoal comentando que essa parte de macro você vira "mago dos macros" (acho que o Primeagen falou isso), então ainda tem dificuldades semelhantes a C++ eu imagino.
@frango_molhado
@frango_molhado 6 ай бұрын
Eu não tenho muito conhecimento de Zig (vi uma coisa ou outra em vídeos gringos), uso C para as coisas mais próximas de hardware e Rust quando quero fazer algo mais complexo, mas acredito que Zig parece estar mais próximo de C, enquanto que Rust se aproxima mais de C++.
@waine_jr
@waine_jr 6 ай бұрын
Sim, também vejo dessa maneira. Tanto que eles mesmo se propõe a ser sucessor de C, não querendo adicionar 864651 features tipo C++ (inclusive retiraram o async porque julgaram que o modelo não estava maduro o suficiente, achei essa uma decisão muito corajosa e que mostra o caminho que querem levar a linguagem)
@frango_molhado
@frango_molhado 6 ай бұрын
Waine, sei que o vídeo não é sobre isso, mas gostaria de perguntar: como entrar na área de systems programming? Eu termino Engenharia da Computação ano que vem, faço meus projetos pessoais em C e Rust, e já perguntei a mesma coisa para criadores de conteúdo gringo, mas sinto que a realidade deles é muito diferente de um br de interior (o que pode ser só coisa da minha cabeça me fazendo dificultar o processo).
@waine_jr
@waine_jr 6 ай бұрын
Sobre a área de baixo nível, acho que o que mais vai ter oportunidade aqui no Brasil é com embarcados. As principais áreas de utilização de system programming são associadas a indústria (drivers de hardware, embarcados, hardware) e pesquisa e desenvolvimento (como o que eu faço), é muito difícil você achar uma empresa de serviços que utiliza C/C++/Rust pro seu sistema. Desde os anos 90 o Brasil vive um processo constante de desindustrialização, o que acaba diminuindo vagas de emprego na indústria, o que diminui vagas na área de sistemas de programação. Não ajuda muito também que investimento em P&D é muito baixo aqui no Brasil. A área que vejo como predominante e com muitas oportunidades é a de embarcados, porque várias empresas de prestação de serviço (agro, IoT, casa inteligentes, automação) precisam utilizar microcontroladores pros seus projetos. Então estrategicamente falando, diria pra procurar empresas de embarcados que é onde devem ter maiores oportunidades. Se quiser trabalhar em sistemas operacionais, drivers abertos, computação de alto desempenho, etc. o caminho que vejo é ir pra fora, seguir carreira acadêmica ou montar o próprio negócio. Vale ressaltar que muitas das vagas pedem uma pós (ou veem ela com bons olhos), então fazer um mestrado acho uma boa tmb.
@faberbernardo3876
@faberbernardo3876 6 ай бұрын
O interessante de se explicar é que, não é que a linguagem é ruim ou insegura, é que os programadores sem experiência ou desatentos acabam criando os bugs. Aí acaba por ser necessário criar linguagens com rodinhas para impedir as pessoas de cometerem os erros. Às vezes por falta de atenção ou por falta de conhecimento. Creio que a migração possa ocorrer se for útil ou necessário, mas se for possível criar com C o que Rust e ZIG fazem, vão manter o C.
@ELIKAPITAL
@ELIKAPITAL 5 ай бұрын
Zig e Rust é o futuro mesmo, agora é claro que vai demorar uns anos, mas é inevitável!!
@luizpbraga
@luizpbraga 6 ай бұрын
borrow checker é maneiro, mas não significa que a gente vai estar imune a memory leaks em Rust. Mano, eu codo em zig ha 2 anos. Acho muito legal o caminho que a linguagem ta seguindo, tipo o package manager ser declarativo, os memory allocators na std lib, o comptime ser bem intuitivo, e a facilidade que é usar libs em c. Recomendo ela pra qualquer um que tenha um background em c e rust.
@waine_jr
@waine_jr 6 ай бұрын
Muito massa ver programadores de Zig por aqui. Acho que a comunidade vai crescer muito nos próximos anos, justamente por tudo que você falou, minha experiência tá sendo mt boa com a linguagem
@gabriel-oprogramador
@gabriel-oprogramador 6 ай бұрын
Acho que pra fazer os programadores de C migrarem pra valer podiam fazer uma linguagem com sintaxe mais parecida com C, sua simplicidade e ser direto ao ponto. Eu particularmente ja acho C++ moderno um saco kkk Eu sou do tipo que se for pra usar C++ eu programo em C styler. Valeu!!
@waine_jr
@waine_jr 6 ай бұрын
também sou do time que se for pra usar C++ eu uso estilo C kkkkkkk com relação a sintaxe, é muito de costume isso. Eu pensei a mesma coisa quando fui programar em Rust, mas depois de um tempo vi como era mais fácil digitar e entender as coisas kkkkkkk
@eduardornh
@eduardornh 6 ай бұрын
Vi um video aqui do youtube de um cara que fez um módulo externo para python usando Zig. Fiquei desapontado com o estado atual do ecossitema. Normalmente, os módulos externos do Python são escritos em C#. Apesar compatibilidade do Zig com C, é mais fácil fazer o módulo para Python em Rust do que Zig.
@waine_jr
@waine_jr 6 ай бұрын
A compatibilidade com Python eu não curti muito também não. Acho que talvez seja mais fácil até fazer a lib pra C e usar ela em Python como se fosse uma de C.
@eduardornh
@eduardornh 6 ай бұрын
@@waine_jr pode ser. Quando me sobrar um tempinho vou tentar
@yuri.caetano
@yuri.caetano 6 ай бұрын
mas cade o link discord?
@waine_jr
@waine_jr 6 ай бұрын
Na descrição, meu camarada
@yuri.caetano
@yuri.caetano 6 ай бұрын
@@waine_jr porra viado, juro pra vc que procurei e nao achei de primeira, agora achei kk
@GustavoNoronha
@GustavoNoronha 6 ай бұрын
Eu tenho que vencer (como venci pra Rust) alguns preconceitos com a sintaxe e decisões de projeto, mas quero aprender Zig. Você pode ter razão, mas é impressionante a adoção de Rust já em grandes projetos em C/C+++ como Linux, GStreamer, Windows e empresas grandes como Facebook, Google, Amazon, todo mundo já tem alguma coisa com Rust.
@waine_jr
@waine_jr 6 ай бұрын
Sim, Rust é uma linguagem muito mais madura nesse sentido e tem muito mais dinheiro e financiamento por trás por causa disso tmb kkkkkkkk Zig tá correndo em desvantagem, mesmo assim acho que tem melhores chances como sucessor de C do que Rust, por causa das capacidades e escolhas de design da linguagem
@GustavoNoronha
@GustavoNoronha 6 ай бұрын
@@waine_jr pelo que eu tive pesquisando eu vou chutar aqui que Zig vai ter um futuro brilhante, ironicamente, na área de pesquisa de segurança. Como ela te permite lidar com memória de forma insegura de forma mais ergonômica e controlada, é uma linguagem muito boa pra fazer pesquisa e exploração de falhas de segurança!
@waine_jr
@waine_jr 6 ай бұрын
@@GustavoNoronha isso é bem verdade mesmo hahahaha
@Jair_inacio_Neto_Teixeira
@Jair_inacio_Neto_Teixeira 6 ай бұрын
Tô faz um tempo querendo pegar Zig pra brincar, mas acabei me enveredando pra ADA, agora vc me despertou o interesse de novo. Aproveitando, o solver llb resolve qualquer Edo/Edp?
@waine_jr
@waine_jr 6 ай бұрын
É bem interessante Zig, recomendo dar uma olhada. Resolver os ziglings é um bom começo pra ter noção da linguagem. Com relação ao solver de LBM, ele resolve qualquer EDP sim. Mas pra derivar o LBM pra cada EDP, boa sorte kkkkkkk não é nada fácil e tem muita muita matemágica pra isso
@lucas_badico
@lucas_badico 6 ай бұрын
ja tem meu like, ziglover aqui. Apesar que enuns e pattern matching no rust é muito daora!
@waine_jr
@waine_jr 6 ай бұрын
Hahahahaha mas Zig dá pra fazer essas coisas também, e em tempo de compilação ainda kkkkkkk
@Lucs-ku5cb
@Lucs-ku5cb 6 ай бұрын
Se você gosta de enums e pattern match da uma olhada em linguagens funcionais como Ocaml
@waine_jr
@waine_jr 6 ай бұрын
@@Lucs-ku5cb ainda falta no meu repertório uma linguagem funcional. Quem sabe não aprendo ocaml na sequência de Zig
@Lucs-ku5cb
@Lucs-ku5cb 6 ай бұрын
@@waine_jr Ocaml é bem legal Ele tbm tem macros procedural assim como Rust. A propósito tem muita coisa de Rust que vem de Ocaml, Options e Results por exemplo.
@oitavop
@oitavop 6 ай бұрын
muito bom o video. Uma outra lang que oferece recursos para compilation time é D, mas quase ninguém comenta.
@waine_jr
@waine_jr 6 ай бұрын
Nunca vi nada sobre ela, vou dar uma pesquisada
@cabeloDoPardal2
@cabeloDoPardal2 6 ай бұрын
Ok, agora explique o motivo de zig não estar sendo prevista pro kernel do linux mas rust está. O que vc falou como vantagem em relação a chamar funções em tempo de compilação, as macros em rust fazem
@waine_jr
@waine_jr 6 ай бұрын
Aí você pergunta pro Linus, infelizmente não sou manutentor do kernel do Linux
@frango_molhado
@frango_molhado 6 ай бұрын
Essa pergunta é a mesma coisa de "me explique o motivo de C++ não estar no kernel do Linux". Significa que C++ não serve para tal? Não, mas também não é só ficar brincando de jogar linguagem nos projetos. Já foi tentado colocar C++ no projeto e acharam que adicionou um complexidade que não compensava. Rust existe há vários anos, como comentado no vídeo, e só agora que começaram a colocar uma coisa ou outra no projeto, e é nem no core, e sim em partes mais periféricas. Zig é mais novo que Rust, logo tem uma comunidade menor e, consequentemente, um ecossistema menos maduro. As coisas não são usadas por simplesmente serem boas ou ruins. Não adianta você criar o melhor produto do mundo e ninguém comprar: sua empresa vai falir. Por outro lado você pode ter um produto ruim, por exemplo JS, que se for adotado, sair dele vai ser um tarefa custosa.
@cabeloDoPardal2
@cabeloDoPardal2 6 ай бұрын
@@frango_molhado "As coisas não são usadas por simplesmente serem boas ou ruins. " Eu gostaria de saber a opinião de Linus Torvalds sobre isso
@3DandIA
@3DandIA 6 ай бұрын
Todo dia tem uma linguagem que "vai substituir o C". A real é o seguinte: pode ser a melhor linguagem do mundo, só vai prosperar se a comunidade e os grandes player apoiarem, e como a comunidade e as grandes Big techs abraçaram o Rust...
@GuilhermeAltran
@GuilhermeAltran 6 ай бұрын
rust não foi feito para bater c c++ ele foi feito para ser seguro e rápido só isso.
@3DandIA
@3DandIA 6 ай бұрын
@@GuilhermeAltran mostra aí onde eu disse que Rust veio para substituir estas linguagens. Cada uma tem seu nicho e o nicho do Rust é rodar baixo nível e com gerenciamento de memória sem falha humana e está começando a ocupar este nicho. Ainda que C e C++ deixem de ser usadas cada vez mais, sempre vão existir, assim como ainda existe COBOL hoje e precisa de profissionais que saibam a linguagem para dar manutenção nos sistemas feitos nele.
@3DandIA
@3DandIA 6 ай бұрын
@@GuilhermeAltran só tu procurar aí no Google que vai ver centenas de opiniões no sentido, mas eu não afirmei isto. Me indica o artigo que escrevi sobre isto. O que deixei claro aqui como água e que talvez lhe falte interpretação de texto é: uma linguagem só vai substituir outra se mostrar algum custo-benefício e, mais que isto, desenvolvedores e techs se unirem para isto, que está sendo o caso do Rust.
@GuilhermeAltran
@GuilhermeAltran 6 ай бұрын
@@3DandIA onde eu disse que vc disse isso? me explica ai.
@GuilhermeAltran
@GuilhermeAltran 6 ай бұрын
@@3DandIA rust não foi feito para bater c c++ ele foi feito para ser seguro e rápido só isso. qual parte vc não concorda?
@estevaopimentel8710
@estevaopimentel8710 6 ай бұрын
Não me parece que o Zig e o Rust estejam disputando o mesmo nicho. Zig não é memory safe, mas justamente por isso que se pode permitir compilação de codigo C com o compilador do Zig. Rust propõe um outro paradigma de programação em que a segurança é garantida pelo compilador e não pelo programador e por conta disso é impossível compilar codigo C com o compilador do Rust. Mas isso não significa precisar reescrever todo projeto em rust pra poder usá-lo daqui pra frente, importar código C para Rust não é nenhuma novidade. Não é tão conveniente quanto simplesmente poder compilar tudo como se fosse escrito na mesma linguagem, mas é o preço a se pagar para garantir a segurança de memória no que for escrito daqui pra frente. Outra coisa, é que Macros em Rust também podem fazer o que você descreveu com relação ao Zig. Funções "const" podem ser chamadas em tempo de compilação, structs inteiras e impls podem criadas em tempo de compilação. Eu mesmo uso isso com frequência para criar algo semelhante a herança e polimorfismo declarando uma espécie de "classe pai" na definição da macro e especificando as "classes filhas" na chamada da macro. É possível declarar valores constantes em tempo de compilação que são calculados em tempo de execução na primeira vez em que são requisitados, habilitando o uso de absolutamente qualquer função nesse tipo de declaração, enquanto valores gerados verdadeiramente em tempo de compilação precisam seguir algumas regras, e por aí vai. Em resumo. Pra mim, a grande diferença entre Rust e Zig está na forma em que as duas linguagens trabalham a questão de segurança de memoria, Zig possibilitando a verificação em runtime, e rust forçando a segurança de memoria em comptime e o fato de que o compilador de Zig pode compilar codigo C diretamente o que é conveniente mas não é tão revolucionario como pode parecer a primeira vista. Tirando isso, as linguagens apresentam os mesmos recursos. Acredito que essas diferentes abordagens de Zig e Rust devem coexistir no futuro.
@waine_jr
@waine_jr 6 ай бұрын
Concordo. Só com relação aos macros, nunca disse que não era possível. Dá pra fazer tudo isso em C, inclusive. Mas Zig dá MUITAS features em compilação, a linguagem toda pra ser mais específico, com uma keyword só. Convido a dar uma olhada nos problemas de comptime do ziglings que vai ter uma noção do poder e do que quero dizer.
@MauricioKanada
@MauricioKanada 6 ай бұрын
Falta MUITO investimento em ferramentas de conversão de código legado. O fato do ZIG ser um drop in replacement é algo muito bom, na direção correta. Mas como linguagem, o Rust é melhor justamente no tipo de erro mais difícil de encontrar, o acesso paralelo ao mesmo dado. E a computação está indo cada vez mais para a computação paralela, então esta é a direção correta a seguir (dificultar o compartilhamento de memória).
@waine_jr
@waine_jr 6 ай бұрын
Zig também permite essas checagens de paralelismo e acesso concorrente com os mutexes de thread, assim como C++ ou qualquer outra linguagem moderna. O acesso concorrente que tá se referindo provavelmente é bloqueante, o que é um jeito bem fácil de deixar seguro, assim como é um jeito extremamente fácil de gerar um gargalo de desempenho no seu programa (só deixar tudo em volta de Mutex e Arc), mas por que usar paralelismo então? Não vejo nenhuma linguagem, fora Bend, se propondo a resolver os reais problemas de paralelismo de expressão de dependências, locais e globais
@waine_jr
@waine_jr 6 ай бұрын
Com relação a ferramente de conversão, isso é muito verdade. Queria ir mais a fundo e ver a posição dessas empresas e dos devs lá dentro, entender tomada de decisão e coisa do tipo. Porque no fim do dia acho questão de incentivo e prioridades das empresas, e se quisermos migrar e "atualizar" os códigos, é elas que temos que convencer a investir nisso
@MauricioKanada
@MauricioKanada 6 ай бұрын
@@waine_jr Não sei do ZIG, mas o borrow check é a primeira coisa que se aprende no Rust. E isto é exatamente a proteção de acesso paralelo ao mesmo dado que falamos. A pergunta é se este controle é tão claro e 'obrigatório' no ZIG quanto no Rust. Se a linguagem não dirigir o desenvolvimento nesta direção,.como o Rust dirige, este controle nunca será feito até que o bug apareça. O Rust, depois de um tempo, direciona seu pensamento pra programar de forma mais segura.
@lufsss_
@lufsss_ 6 ай бұрын
a linguagem Jai criada pelo Jonathan Blow me parece bem interessante, pena que ainda está em closed beta...
@costelinha1867
@costelinha1867 5 ай бұрын
Eu adoro como na descrição do Zig tá a frase: "Foque em debugar sua aplicação, não seus conhecimentos da linguagem de programação" Eu n consigo parar de pensar que isso é uma indireta se referindo ao Rust kkkk.
@waine_jr
@waine_jr 5 ай бұрын
Kkkkkkkkkkkk errado não tá né
@costelinha1867
@costelinha1867 5 ай бұрын
@@waine_jr Cara, eu gosto do Rust, só que ele é meio chatinho de usar, só isso....
@GuilhermeAltran
@GuilhermeAltran 6 ай бұрын
Zig é capaz de portar bibliotecas escritas em linguagem C e utilizá-las em projetos Zig.
@waine_jr
@waine_jr 6 ай бұрын
const c = @cImport({ @cInclude("stdio.h"); });
@GuilhermeAltran
@GuilhermeAltran 6 ай бұрын
@@waine_jr depois de rust vou aprender zig
@ravivalentim
@ravivalentim 6 ай бұрын
Cara, seu canal tem um conteúdo "raro" que é desenvolvimento de baixo nível. Estou estudando C++ e pretendo entrar nessa área de desenvolvimento baixo nível, principalmente no desenvolvimento de drivers. É uma área bem interessante
@waine_jr
@waine_jr 6 ай бұрын
Valeu! É difícil encontrar conteúdo no KZbin sobre esses assuntos, por isso tmb comecei a criar conteúdo. Essa área de drivers é bem interessante, eu só mexi com alguns em embarcados, mas curti bastante e pretendo voltar algum dia.
@testeTestandomuitosTestes
@testeTestandomuitosTestes 4 ай бұрын
Esse sistema operacional para arduino vai ser aqui pelo KZbin vai ser na área de membros ou vai ser pago ?
@waine_jr
@waine_jr 4 ай бұрын
Isso, aqui no KZbin na área de membros. Já saíram 15 vídeos e deve sair mais essa semana
@smanzoli
@smanzoli 6 ай бұрын
Chat GPT 10 daqui uns 6 anos: "Crie um novo OS similaro ao Win13 no visual, mas com kernel similar ao FreeBSD, eque seja focado em máquinas para games usando GPUs RTX8000 ou superior. Use Zig e já faça a instalação numa máquina virtual usando até 25% dos recursos da minha máquina. 4 minutos depois, done!
@diegocantelli
@diegocantelli 6 ай бұрын
sonha kkkkk
@arozendojr
@arozendojr 6 ай бұрын
Sinto falta de alguma coisa que leia diretivas arquiteturais de um dispositivo e crie um drive, tipo você pegar todo o sistema de uma placa mãe e gerar todos os drives para o kernel, depois uma IA analisar o uso do equipamento, verificar forma de otimização, como se uma IA pegar o uso de um computador com Gentoo, gerar os fontes para compilar tudo ajustando todas as flags do Make, otimizando os programas ajustando para o uso do usuário, sonhar ainda não imposto kkkkkkk
@elvitin
@elvitin 5 ай бұрын
Já tem propostas de linguagem que unem o bom de Zig com o bom de Rust
@olddeveloper8648
@olddeveloper8648 6 ай бұрын
O C é dos anos 70, de 80 é o C++.
@gabrielmaia3708
@gabrielmaia3708 6 ай бұрын
Levando em consideração seus pontos Zig seria melhor para fazer portes de programas C e C++. Já Rust seria melhor para fazer um programa do zero.
@femerces
@femerces 6 ай бұрын
Gostei do vídeo. :) Um pouco exagerado o título, mas qual título de vídeo no KZbin que não é? 😂 Valeu!
@waine_jr
@waine_jr 6 ай бұрын
Hahahhahaah valeu, meu querido. E temos que jogar o jogo do algoritmo né kkkkkk não tem como fugir infelizmente
@gepetovovo2509
@gepetovovo2509 6 ай бұрын
todo dia está nascendo linguagens e frameworks e todos são do futuro... kkk...
@costelinha1867
@costelinha1867 5 ай бұрын
"Usar zig como uma forma substituta pra compilar códigos C/C++" Isso significa que ele vai substituir os clangs, gcc e cmakes da vida nesse cenário? e os make files, como ficam? vc ainda vai precisar deles?
@waine_jr
@waine_jr 5 ай бұрын
Sim, substitui tudo isso
@costelinha1867
@costelinha1867 5 ай бұрын
@@waine_jr ......... bom, mesmo que eu continue usando C, ONDE QUE EU ASSINO? KKKKK! Não sério, só como uma alternativa pros compiladores normais de C, já tá valendo muito a pena. Eu n acho que todos os meus projetos vão poder usar o Zig como compilador, já que alguns compilam pra arquiteturas bem especificas, mas pros que são feitos pra pc mesmo, e talz, vai ser uma mão na roda.
@mathetische
@mathetische 5 күн бұрын
Eu entendi seus argumentos, mas quanto à questão do memory leak, pelo que eu estou vendo, Zig possui um sistema de gerenciamento semelhante ao do C, não? Dependendo mais do programador usar a linguagem bem, em vez de propriamente as features da linguagem serem o diferencial. Corrija-me se estiver errado.
@waine_jr
@waine_jr 4 күн бұрын
Sim, essa questão de memory leak não é resolvida mesmo. O que a linguagem dá são ferramentas pra você fazer isso de maneira mais fácil (defer) e também testar esse comportamento (usar o std.testing.allocator). Isso é uma decisão de design, justamente pra deixar "mais fácil" a migração de quem trabalha em C pra Zig. Todo design da linguagem é muito parecido com C, só que melhorado de alguma maneira kkkkkkk
@kyori_kyo
@kyori_kyo 6 ай бұрын
unico defeito de rust é a comunidade dele Sr. waine
@waine_jr
@waine_jr 6 ай бұрын
Kkkkkkkkkk por isso eu tiro as dúvidas olhando documentação, Deus me livre perguntar em fórum
@loribao2303
@loribao2303 6 ай бұрын
A dúvida que fiquei, o Zig usa GC, Sabe dizer?
@atos8902
@atos8902 6 ай бұрын
Não usa. As alocações são feitas manualmente, mas de uma forma mais interessante que em C.
@waine_jr
@waine_jr 6 ай бұрын
Não usa não, como o amigo disse
@loribao2303
@loribao2303 6 ай бұрын
@@atos8902 Tinha ouvido falar na época de lançamento do bun, mas agora tô empolgado! Ashuashu
@littleghoost
@littleghoost 5 ай бұрын
Legal, mas eu já tô saturado dessas falacias que linguagem X vai ser (ou pode ser) sucessora de Y. Pra mim, isso é invenção, boatos, etc, de dev emocionado, pois nunca, em nenhuma documentação de qualquer linguagem existe esse tipo de colocação que a propria veio para substituir tal. "Ai em 2025 lança a linguagem XPTO, e a XPTO será substituta da XYZ." Sei que você disse no vídeo que não quer desmotivar as pessoas a aprender Rust, mas sim, esses assuntos tem esse poder de deixar as pessoas desanimadas a aprender. Hoje em dia, a internet e tudo que se cria para a internet, uma grande porcentagem é baseado em MARKETING, então se negativar tal algo, esse algo vai ter uma queda na aceitação das pessoas, assim é o mesmo quando se positiva tal algo. SUBSTITUIR é uma palavra muito forte. Fortran mesmo, foi substituido? Se acessar o TIOBE Index, Fortran ainda está lá... Fora essa minha discordância, seus vídeos são muito bons, continue assim, parabéns.
@alexandrecrt
@alexandrecrt 6 ай бұрын
O problema é que Zig mal existe. Muito nova, a meu ver, nem dá pra falar de Zig de maneira séria e consistente ainda. Por enquanto, na minha opinião Zig ainda está em Zig-Zag.
@waine_jr
@waine_jr 6 ай бұрын
Alguns projetos grandes, como o Bun e o TigerBeetle, já são todo escritos em Zig. Rust começou só na Mozilla também
@brunonovais8801
@brunonovais8801 4 ай бұрын
se em 30 anos zig der certo o pessoal vai começar a migrar.
@mariazeliasantos3647
@mariazeliasantos3647 6 ай бұрын
Na vdd a linguagem do futuro é kree É bem nova e poucos sabem a origem Tá bem promissor estudar essa linguagem Ela consegue substituir 2 tipos de linguagens ancestrais
@ravensthor9547
@ravensthor9547 4 күн бұрын
Waine você já viu a linguagem Nim? Essa eu acredito que possua substituir o C puro 100%. Todo o código escrito em Nim é compilado para C/C++.
@waine_jr
@waine_jr 4 күн бұрын
Já ouvi falar dela, mas nunca mexi com Nim. A principal questão com as linguagens que transpilam pra outras é que são limitadas pelo design da linguagem de destino (nesse caso C/C++). Por exemplo, Rust não seria possível seguir essa abordagem pq em C/C++ não existe borrow checker, e criar um sistema para traduzir pra C/C++ esse conceito seria praticamente impossível (eu acho). Então o que acaba acontecendo é que muitos dos problemas de C/C++ acabam se mantendo, pelas limitações das linguagens. TypeScript pra JavaScript é outro exemplo de como essas limitações acabam afetando a linguagem. Ao meu ver há espaço pra esse tipo de transpilação, mas boa parte dos problemas que isso resolve está voltado aos "warnings e boas práticas" pras linguagnes, como ser const correct, checagem de ponteiros, funções que não devem ser usadas, etc. Mas acabam não conseguindo resolver problemas estruturais, como Rust faz com a questão de segurança ou Zig com seu comptime e sistema de build.
@ravensthor9547
@ravensthor9547 4 күн бұрын
@@waine_jr Muito interessante, não sabia disso valeu pela resposta!
@bianca_rerre
@bianca_rerre 6 ай бұрын
o problema de linguagens recentes ou pouco usadas, é por causa que o chatgpt nao tem muito conhecimento a respeito delas
@waine_jr
@waine_jr 6 ай бұрын
kkkkkkkkkkkkkkkkkkkkkkkk aí é foda
@Cuca-hn3md
@Cuca-hn3md 6 ай бұрын
kkkkkk esse nem eh o maior problema, o maior problema eh a documentacao de zig ser muito ruim, a lib standard vive mudando, nao tem package manager e o language server eh uma merda, zig de fato eh a linguagem do futuro porque do presente que nao eh! kkkkkkkkkkkkkkkkkk
@carlosrfs99
@carlosrfs99 6 ай бұрын
@@Cuca-hn3md Cara, Rust a última vez que olhei não tinha uma ABI estável.
@af2b
@af2b 6 ай бұрын
Como assim vei KKKKKKKKKKKKKKK wtf
@lourencodesouza8191
@lourencodesouza8191 6 ай бұрын
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK mano, vou entender isso como uma brincadeira, foi massa!
@b92c
@b92c 6 ай бұрын
Nem Zig, nem Rust. A "linguagem do futuro" é o Go 👍
@LucasAlfare
@LucasAlfare 6 ай бұрын
💀💀💀💀💀💀💀
@waine_jr
@waine_jr 6 ай бұрын
Chegou iterador esses dias nesse tal de Go kkkkkkk Brincadeiras a parte, pra serviços web, concorrência e escrever código rapidamente, o que mais ouço falar é de Go
@mateusinkkj
@mateusinkkj 6 ай бұрын
Zig é muito novo e falta muitas funções, apesar disso é um otimo conceito, precisa apenas ser mais elaborada e simplificada.
@waine_jr
@waine_jr 6 ай бұрын
Falta maturidade mesmo, dá pra ver pela documentação e a forma que é estruturada (amadora ao meu ver). Mas muito promissora ainda assim, vamos dar um tempo e ver o que dá
@ArthurSilvaQueiroz
@ArthurSilvaQueiroz 6 ай бұрын
otimo conteudo!!!!
@fabiopetrillo
@fabiopetrillo 6 ай бұрын
Rust é melhor que Zig. 😊
@ELIKAPITAL
@ELIKAPITAL 5 ай бұрын
é fato que c e c++ jaz obsoletas, mas felizmente e infelizmente vamos usar por muitos anos ainda!!!
@Prescott2400-my6di
@Prescott2400-my6di 4 ай бұрын
Sem preprocessadores? 😒
@waine_jr
@waine_jr 4 ай бұрын
O maior mal depois do Null são os macros de C kkkkkkkkk
@andreduartebueno
@andreduartebueno 6 ай бұрын
C++ segue com muitas novidades, comite ISO super ativo. Vai demorar para aparecer algo melhor.
@AlmirBispo-CSV-Comp-DB
@AlmirBispo-CSV-Comp-DB 6 ай бұрын
C foi desenvolvida no Bell Labs em 1973 .Mas antes disso ja existiam Sistemas Oepracionais,programas e uma industria da computação usando Cobol,Fortran,Pascal Algol.Inclusive o Compilador C foi criado usando Fortran dentro de uma PDP-11 (Existiam PDP 10 e gerações menores). 3:50 (Na realidade o C já nasceu com vários fortes competidores que faziam parte do Mainstream:Cobol,Fortran e Pascal).A linguagem C é só mais uma das linguagens de Alto nível.A linguagem que nunca morrerá é a Object Pascal.(70% da automação comercial do Brasil é mantida por ela )
@waine_jr
@waine_jr 6 ай бұрын
Ainda não acho que dá pra negar que C "venceu" a batalha de linguagens de sistemas. Mas sempre vão existir sistemas construídos nas mais diversas linguagens que sobrevivem ao tempo, como vc disse. Inclusive não conhecia Object Pascal, interessante saber disso
@AlmirBispo-CSV-Comp-DB
@AlmirBispo-CSV-Comp-DB 6 ай бұрын
@@waine_jr Sempre acompanho seu excelente conteúdo.Também sou estudiosos das linguagens como você.Gostei do seus video sobre construção de IP (usando VHDL).A IDE open source do object Pascal chama-se Lazarus (compilador Free Pascal,multiplataforma).Parabéns e continue firme
@waine_jr
@waine_jr 6 ай бұрын
@@AlmirBispo-CSV-Comp-DB valeu, meu querido! Muito feliz saber que curte e acompanha os vídeos. Vou dar uma pesquisada na IDE e linguagem pq fiquei curioso kkkkkk
@rmscharlie386
@rmscharlie386 6 ай бұрын
C++ ainda reina
@JanusAlmight
@JanusAlmight 6 ай бұрын
AGORA SIM, ESSE É O FIM DO C. by 2006 está igual falar que Java vai acabar
@waine_jr
@waine_jr 6 ай бұрын
Meu caro, ninguém falou que C nem Java vai acabar não. Estás a lutar com moinhos
@NinjaAdd
@NinjaAdd 3 ай бұрын
Eu tava achando isso, até começar a programar nesse trem, o linguagem chata, implica com chaves, ;, e espaço e branco (primeira linguagem que vejo embarcar com os 3 ao mesmo tempo). As bibliotecas nela são bem ruins, quase nada funciona como esperado, restando fazer a sua para quase tudo.
@waine_jr
@waine_jr 3 ай бұрын
Bem vindo ao baixo nível kkkkkkkk lib pronta é pra web dev, e forçar formatação é top features do Zig
@NinjaAdd
@NinjaAdd 3 ай бұрын
@@waine_jr mas outras linguagens, que também deixam mexer em bastante coisa, embora não sejam baixo nível, tem bastante bibliotecas, igual c++ e as do c++ geralmente funcionam como deveria. Eu estou escrevendo um pequeno DNS autoritativo no zig, e a galera que ando achando que usou bibliotecas de rede nela também tem tido dificuldade com várias coisas nelas, que geralmente são bem mais tranquilas em Boost.
@meninoesperto2773
@meninoesperto2773 6 ай бұрын
Zig é muito bom
@Redyf
@Redyf 6 ай бұрын
Zig é pro C o que o Rust é pro C++
@MiguelPenteadoReal
@MiguelPenteadoReal 6 ай бұрын
Daqui 20 anos quero ver onde estarão essas linguagens do futuro. Antes de "matar" o C, precisa combinar com os chineses ( que atualmente fazem todos os drivers ) 😊.
@waine_jr
@waine_jr 6 ай бұрын
não ironicamente, boa parte do financiamento de Zig é chinês kkkkkkkk o pessoal de lá usa demais. Mas não vai matar C não, C só vai morrer quando a humanidade acabar (e olha lá ainda, pq o que mandamos pro espaço deve ter C)
@rodrigomoura1085
@rodrigomoura1085 6 ай бұрын
Tá dizendo que rust já tá meio enferrujada? hahuhahuahua tá parei 😔
@waine_jr
@waine_jr 6 ай бұрын
Kkkkkkkkkkkkkkkkk bobo
@pliniopvv2
@pliniopvv2 6 ай бұрын
C/C++ vai morrer? 😂🤣
@AlmirBispo-CSV-Comp-DB
@AlmirBispo-CSV-Comp-DB 6 ай бұрын
Claro.A politica a criou e a politica vai mata-la.Bendido seja o nome da politica
@rasputindasilva858
@rasputindasilva858 6 ай бұрын
Kakaka, ganda piada.
@waine_jr
@waine_jr 6 ай бұрын
kkkkkkkkkkkkk brinca muito
@PrinceOfAstoria
@PrinceOfAstoria 6 ай бұрын
A LINGUAGEM DO FUTURO É PPL - Prompt Programming Language 🤣
@jaderpereira1889
@jaderpereira1889 6 ай бұрын
Talvez seja isso mesmo kkkkkk
@waine_jr
@waine_jr 6 ай бұрын
se for isso daí mesmo aí que as IAs vão roubar os empregos dos devs kkkkkkkkkk
@NeuriLee
@NeuriLee 6 ай бұрын
O que domina o presente é a PPK, isso não podemos negar, civilizações se formaram ao entorno dessa "linguagem" kkkkkk perdão pelo nível da piada, mas estamos num nível tão baixo que não podia deixar passar 🤣🤣
@PrinceOfAstoria
@PrinceOfAstoria 6 ай бұрын
@@waine_jr resistence is futile (mas até lá tem muito backlog pra queimar...)
@loribao2303
@loribao2303 6 ай бұрын
Só quer superar C/C++ quem coda Fofo... 😅😅😅😅 (Zuera) Ou será que não? 😂😂😂
@h4andr1x
@h4andr1x 6 ай бұрын
E o Carbon? A promessa é que Carbon tenha interoperabilidade com C++.
@waine_jr
@waine_jr 6 ай бұрын
Já vi algumas coisas dela, mas nada a fundo. Quem sabe algum dia aprendo também
@JoseDaviCorreiaPassos
@JoseDaviCorreiaPassos 6 ай бұрын
É um projeto experimental, pode ser que der certo ou não. Mas ainda tá muito cedo pra essa linguagem, assim como o cppfront de herb sutter.
@FWCODING
@FWCODING 6 ай бұрын
É normal discordar de voce sabendo que voce esta certo? kkkkk
@waine_jr
@waine_jr 6 ай бұрын
Hahahhahaha não existe certo e errado não, são só opiniões
@mariazeliasantos3647
@mariazeliasantos3647 6 ай бұрын
Java hoje e sempre !
@astaron-eremita
@astaron-eremita 5 ай бұрын
Todo dia nasce uma linguagem do futuro e todo dia java morre
@fonsecadev
@fonsecadev 24 күн бұрын
golang é o futuro!
@marcelfsilva
@marcelfsilva 6 ай бұрын
cobolscript é o futuro... do preterito!
@waine_jr
@waine_jr 6 ай бұрын
kkkkkkkkkkkkkkkkkkkkk
@jjuniorc2
@jjuniorc2 6 ай бұрын
Enquanto o Linus segue usando C e as distros seguem no C, e a performance é melhor com Malloc, free, define,etc eu continuo com o C. Rust, Zig, tudo modinha.
@waine_jr
@waine_jr 6 ай бұрын
Não se limite, meu querido, abrace a diversidade
@jjuniorc2
@jjuniorc2 6 ай бұрын
@@waine_jr obrigado pela dica. Eu busco não me limitar não. Nodejs e Python fazem parte do meu Toolbox. Mas a nível de performance o C segue imbatível. Em alguns momentos C++, mas eu gosto de ter controle da gestão da memória pra evitar problemas em baixo nível. Rust e Zig ainda precisam de muito chão pra superar mais de 40 anos de evolução do C. Tem um grupo do gov estadunidense que recomenda migrar C pra Rust. A Google migrou parte do C pro Python. Mas o core a Google mantém em C. O Linux e o Hit seguem em C. E isso não é a toa, a performance segue imbatível.
@AttrakoNull
@AttrakoNull 5 ай бұрын
Rust eh bloated ao nivel do C++, eh ultra complexa, não tão rapida por não acessar memoria e seus binarios são 'gigantes'. Zig tem tudo q o C foi mas com as novidades do mercado sem ser complexa e chata.
@BrunoSantosX
@BrunoSantosX 6 ай бұрын
Tudo indica que Julia deu uma flopada mesmo. Vejo pouco hype sobre essa linguagem.
@MsonicBoom
@MsonicBoom 6 ай бұрын
Conteúdo de baixo nível = baixaria, paredão e afins.
@AndreCarneiro666
@AndreCarneiro666 6 ай бұрын
Diziam isso do Rust. Eu desconfio de hype sempre! Prefiro experimentar e ficar observando a evolução. Tanto da linguagem quanto da comunidade, que no caso do Rust é uma das mais tóxicas que eu já tive o desprazer de ver.
@waine_jr
@waine_jr 6 ай бұрын
Só o tempo pra responder mesmo. Com relação a comunidade, eu nem entro em fórum pra evitar o desgaste kkkkkkk
@animesderrotados8223
@animesderrotados8223 6 ай бұрын
Aham kkkk
@mariazeliasantos3647
@mariazeliasantos3647 6 ай бұрын
É Javascript
Python? Java? Rust? Qual a Diferença? | Discutindo Linguagens
49:14
Curso de C# / .NET Para Iniciantes
3:57:08
Fredi
Рет қаралды 920 М.
Гениальное изобретение из обычного стаканчика!
00:31
Лютая физика | Олимпиадная физика
Рет қаралды 4,8 МЛН
APRENDA a PROGRAMAR em ASSEMBLY!
14:26
Pedro Pessoa
Рет қаралды 85 М.
Why I Chose Rust Over Zig
33:18
ThePrimeTime
Рет қаралды 228 М.
Ace Rust Macros ♠️ the declarative kind
14:06
Code to the Moon
Рет қаралды 41 М.
I made Tetris in C, this is what I learned
15:15
Austin Larsen
Рет қаралды 20 М.
Minha experiência aprendendo Zig por 1 semana!
19:03
Prof. Diego Antunes
Рет қаралды 8 М.
zig will change programming forever
9:34
Low Level
Рет қаралды 368 М.
ABANDONEI DE USAR ZIG (não quero ganhar mais)
18:56
Lucas Montano
Рет қаралды 31 М.
Why i think C++ is better than rust
32:48
ThePrimeTime
Рет қаралды 340 М.
Гениальное изобретение из обычного стаканчика!
00:31
Лютая физика | Олимпиадная физика
Рет қаралды 4,8 МЛН