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 ?
@dili256 ай бұрын
Sua explanação sobre C/RUST/ZIG é péssima meu camarada. Vc eh super raso no que tange essas 3 linguagens.
@dili256 ай бұрын
Vc usa a palavra 'mágica' para ZIG. MEU DEUS DO CÉU !!!!!!!!
@dili256 ай бұрын
Vc conhece de compiladores (pelo menos um pouco) ?
@dili256 ай бұрын
Vc eh a maior falcatrua que eu vi no youtube BR sobre Computação !
@dili256 ай бұрын
"Nossa Senhora, Meu Deus" . hahahahaahh
@banzeirao6 ай бұрын
Todo dia nasce uma nova linguagem do futuro
@waine_jr6 ай бұрын
kkkkkkkkkk de fato, mas com o potencial factural pra suceder C, só Zig que conheço (nem Rust ao meu ver)
@AndreCarneiro6666 ай бұрын
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!
@ComentadorBobson6 ай бұрын
@@waine_jr por que não Rust? Ao meu ver hoje é a melhor opção.
@mateusacauhi83576 ай бұрын
@@ComentadorBobson Po meio que o video eh a opiniao do brother Waine sobre isso
@kyruin6 ай бұрын
@@mateusacauhi8357KKKKKKKKKKLLLKKKKKKK
@wonrey77796 ай бұрын
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_jr6 ай бұрын
Perfeito. Sem tirar nem por
@GuilhermeAltran6 ай бұрын
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.
@leandrojunior9405 ай бұрын
@@wonrey7779 E também não ha necessidade, não sei porque ficam criando 50000 linguagens novas, è só ir atualizando aos poucos
@costelinha18675 ай бұрын
Já sai ganhando ao aprender os básicos de C só por poder fazer homebrews bestas de Nintendo DS kkkkk.
@GuilhermeAltran5 ай бұрын
@@leandrojunior940 pra que criar um monte de carros diferentes deveria ser tudo Gurgel brasileiro
@feliperesende45056 ай бұрын
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...
@costelinha18675 ай бұрын
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_Novel6 ай бұрын
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_jr6 ай бұрын
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_badico6 ай бұрын
@@waine_jr o zig foi criado pensando em ser 100% compativel, inclusive eles fazem alguns tipos serem duplamente compativeis
@GeorgeMatos6 ай бұрын
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_badico6 ай бұрын
@@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.
@GeorgeMatos6 ай бұрын
@@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?
@cesarmarinhorj5 күн бұрын
muito bom!!! valeu pela dica e abordagem do zig como opção!!! muito obrigado!!!
@Anderson-ud1pq6 ай бұрын
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_jr6 ай бұрын
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.
@igorsilva7366 ай бұрын
@@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-ku5cb6 ай бұрын
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_jr6 ай бұрын
@@Lucs-ku5cb se não me engano o SQLx de rust também é em tempo de compilação, acho mt massa isso
@Lucs-ku5cb6 ай бұрын
@@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
@caiotoledo306 ай бұрын
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...
@GustavoNoronha6 ай бұрын
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.
@caiotoledo306 ай бұрын
@@GustavoNoronha sim é verdade não é essencialmente a mesma coisa Depois tenho que dar uma boa olhada em Zig também...
@waine_jr6 ай бұрын
perfeito, Gustavo, respondeu por mim hahahaha
@embriagadodesabedoria6 ай бұрын
por mais vídeos no youtube com essa qualidade! Obrigado!
@waine_jr6 ай бұрын
Valeu! E vai ter muito mais vídeo assim pros membros também
@lourencodesouza81916 ай бұрын
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_jr6 ай бұрын
A documentação de Zig deixa mt a desejar, eles tem que investir mais nisso logo
@cravodev6 ай бұрын
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_jr6 ай бұрын
A gente scodtuma depois de um tempo, sinto isso com toda nova linguagem que vou ver
@Ramz64bits6 ай бұрын
Quando vamos ter a rinha de linguagem de sistemas?
@waine_jr6 ай бұрын
Hahahhahaha uma boa ideia. Quero organizar uma rinha pra LBM, ver quem faz o solver mais rápido
@st3phano6 ай бұрын
7:00 Em que situação malloc() retorna -1? Dei uma pesquisada e não consegui encontrar
@waine_jr6 ай бұрын
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
@popopooooooooooooooo6 ай бұрын
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.
@OAdnan26 ай бұрын
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_jr6 ай бұрын
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Ай бұрын
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Ай бұрын
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
@MarcosVMSoares6 ай бұрын
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_jr6 ай бұрын
Pra FFI eu acho que Zig tem uma ergonomia ruim mesmo, pelo que já vi, semelhante a como se faz em C
@PauloHenriquePereira-g7o4 ай бұрын
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_jr4 ай бұрын
É 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
@alecsei393ify6 ай бұрын
Quais ISAs estao disponiveis em ZIG? apenas x86 ??
@waine_jr6 ай бұрын
Zig utiliza LLVM, então toda arquitetura que LLVM suporta (que é a grande maioria), Zig também suporta
@savagemode21506 ай бұрын
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-ku5cb6 ай бұрын
O interessante é que dá pra usar async fn em embarcados com crates como embassy. E eu já vi projetos de kernel usando async
@waine_jr6 ай бұрын
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.
@donizetevida21496 ай бұрын
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?
@savagemode21506 ай бұрын
@@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..
@savagemode21506 ай бұрын
@@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-wh3tz6 ай бұрын
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_jr6 ай бұрын
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.
@timatos5 ай бұрын
Ainda teve a Crystal, mais antiga, syntaxe inspirada em Ruby e tem a Carbon, da Google, ainda em desenvolvimento...
@GustavoNoronha6 ай бұрын
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_jr6 ай бұрын
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
@testeTestandomuitosTestes4 ай бұрын
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_jr4 ай бұрын
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
@robervaldo46336 ай бұрын
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_jr6 ай бұрын
Convido a dar uma olhada em como o comptime de Zig funciona. Não é igual nenhum dos dois
@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_jr6 ай бұрын
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.
@ensuretime6 ай бұрын
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-ku5cb6 ай бұрын
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
@jpsamarino36 ай бұрын
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_jr6 ай бұрын
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_molhado6 ай бұрын
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_jr6 ай бұрын
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.
@demhattos5 ай бұрын
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.
@yanrodrigues57236 ай бұрын
E linguagens como go ou carbon? São ou podem se tornar uma alternativa p system programming?
@waine_jr6 ай бұрын
Go com certeza não, carbon nunca vi nada mais a fundo
@Lucs-ku5cb6 ай бұрын
Carbon nasceu morto Nem o Google que criou ela adotou
@gustavomiranda90136 ай бұрын
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_jr6 ай бұрын
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)
@otaviogoes58326 ай бұрын
As macros de Rust são meta programação também, assim como você mostrou ser em Zig.
@otaviogoes58326 ай бұрын
É diferente e muito mais interessante do que fazer em C
@waine_jr6 ай бұрын
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_molhado6 ай бұрын
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_jr6 ай бұрын
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_molhado6 ай бұрын
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_jr6 ай бұрын
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.
@faberbernardo38766 ай бұрын
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.
@ELIKAPITAL5 ай бұрын
Zig e Rust é o futuro mesmo, agora é claro que vai demorar uns anos, mas é inevitável!!
@luizpbraga6 ай бұрын
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_jr6 ай бұрын
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-oprogramador6 ай бұрын
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_jr6 ай бұрын
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
@eduardornh6 ай бұрын
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_jr6 ай бұрын
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.
@eduardornh6 ай бұрын
@@waine_jr pode ser. Quando me sobrar um tempinho vou tentar
@yuri.caetano6 ай бұрын
mas cade o link discord?
@waine_jr6 ай бұрын
Na descrição, meu camarada
@yuri.caetano6 ай бұрын
@@waine_jr porra viado, juro pra vc que procurei e nao achei de primeira, agora achei kk
@GustavoNoronha6 ай бұрын
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_jr6 ай бұрын
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
@GustavoNoronha6 ай бұрын
@@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_jr6 ай бұрын
@@GustavoNoronha isso é bem verdade mesmo hahahaha
@Jair_inacio_Neto_Teixeira6 ай бұрын
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_jr6 ай бұрын
É 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_badico6 ай бұрын
ja tem meu like, ziglover aqui. Apesar que enuns e pattern matching no rust é muito daora!
@waine_jr6 ай бұрын
Hahahahaha mas Zig dá pra fazer essas coisas também, e em tempo de compilação ainda kkkkkkk
@Lucs-ku5cb6 ай бұрын
Se você gosta de enums e pattern match da uma olhada em linguagens funcionais como Ocaml
@waine_jr6 ай бұрын
@@Lucs-ku5cb ainda falta no meu repertório uma linguagem funcional. Quem sabe não aprendo ocaml na sequência de Zig
@Lucs-ku5cb6 ай бұрын
@@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.
@oitavop6 ай бұрын
muito bom o video. Uma outra lang que oferece recursos para compilation time é D, mas quase ninguém comenta.
@waine_jr6 ай бұрын
Nunca vi nada sobre ela, vou dar uma pesquisada
@cabeloDoPardal26 ай бұрын
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_jr6 ай бұрын
Aí você pergunta pro Linus, infelizmente não sou manutentor do kernel do Linux
@frango_molhado6 ай бұрын
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.
@cabeloDoPardal26 ай бұрын
@@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
@3DandIA6 ай бұрын
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...
@GuilhermeAltran6 ай бұрын
rust não foi feito para bater c c++ ele foi feito para ser seguro e rápido só isso.
@3DandIA6 ай бұрын
@@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.
@3DandIA6 ай бұрын
@@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.
@GuilhermeAltran6 ай бұрын
@@3DandIA onde eu disse que vc disse isso? me explica ai.
@GuilhermeAltran6 ай бұрын
@@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?
@estevaopimentel87106 ай бұрын
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_jr6 ай бұрын
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.
@MauricioKanada6 ай бұрын
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_jr6 ай бұрын
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_jr6 ай бұрын
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
@MauricioKanada6 ай бұрын
@@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_6 ай бұрын
a linguagem Jai criada pelo Jonathan Blow me parece bem interessante, pena que ainda está em closed beta...
@costelinha18675 ай бұрын
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_jr5 ай бұрын
Kkkkkkkkkkkk errado não tá né
@costelinha18675 ай бұрын
@@waine_jr Cara, eu gosto do Rust, só que ele é meio chatinho de usar, só isso....
@GuilhermeAltran6 ай бұрын
Zig é capaz de portar bibliotecas escritas em linguagem C e utilizá-las em projetos Zig.
@waine_jr6 ай бұрын
const c = @cImport({ @cInclude("stdio.h"); });
@GuilhermeAltran6 ай бұрын
@@waine_jr depois de rust vou aprender zig
@ravivalentim6 ай бұрын
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_jr6 ай бұрын
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.
@testeTestandomuitosTestes4 ай бұрын
Esse sistema operacional para arduino vai ser aqui pelo KZbin vai ser na área de membros ou vai ser pago ?
@waine_jr4 ай бұрын
Isso, aqui no KZbin na área de membros. Já saíram 15 vídeos e deve sair mais essa semana
@smanzoli6 ай бұрын
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!
@diegocantelli6 ай бұрын
sonha kkkkk
@arozendojr6 ай бұрын
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
@elvitin5 ай бұрын
Já tem propostas de linguagem que unem o bom de Zig com o bom de Rust
@olddeveloper86486 ай бұрын
O C é dos anos 70, de 80 é o C++.
@gabrielmaia37086 ай бұрын
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.
@femerces6 ай бұрын
Gostei do vídeo. :) Um pouco exagerado o título, mas qual título de vídeo no KZbin que não é? 😂 Valeu!
@waine_jr6 ай бұрын
Hahahhahaah valeu, meu querido. E temos que jogar o jogo do algoritmo né kkkkkk não tem como fugir infelizmente
@gepetovovo25096 ай бұрын
todo dia está nascendo linguagens e frameworks e todos são do futuro... kkk...
@costelinha18675 ай бұрын
"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_jr5 ай бұрын
Sim, substitui tudo isso
@costelinha18675 ай бұрын
@@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.
@mathetische5 күн бұрын
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_jr4 күн бұрын
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_kyo6 ай бұрын
unico defeito de rust é a comunidade dele Sr. waine
@waine_jr6 ай бұрын
Kkkkkkkkkk por isso eu tiro as dúvidas olhando documentação, Deus me livre perguntar em fórum
@loribao23036 ай бұрын
A dúvida que fiquei, o Zig usa GC, Sabe dizer?
@atos89026 ай бұрын
Não usa. As alocações são feitas manualmente, mas de uma forma mais interessante que em C.
@waine_jr6 ай бұрын
Não usa não, como o amigo disse
@loribao23036 ай бұрын
@@atos8902 Tinha ouvido falar na época de lançamento do bun, mas agora tô empolgado! Ashuashu
@littleghoost5 ай бұрын
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.
@alexandrecrt6 ай бұрын
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_jr6 ай бұрын
Alguns projetos grandes, como o Bun e o TigerBeetle, já são todo escritos em Zig. Rust começou só na Mozilla também
@brunonovais88014 ай бұрын
se em 30 anos zig der certo o pessoal vai começar a migrar.
@mariazeliasantos36476 ай бұрын
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
@ravensthor95474 күн бұрын
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_jr4 күн бұрын
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.
@ravensthor95474 күн бұрын
@@waine_jr Muito interessante, não sabia disso valeu pela resposta!
@bianca_rerre6 ай бұрын
o problema de linguagens recentes ou pouco usadas, é por causa que o chatgpt nao tem muito conhecimento a respeito delas
@waine_jr6 ай бұрын
kkkkkkkkkkkkkkkkkkkkkkkk aí é foda
@Cuca-hn3md6 ай бұрын
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
@carlosrfs996 ай бұрын
@@Cuca-hn3md Cara, Rust a última vez que olhei não tinha uma ABI estável.
@af2b6 ай бұрын
Como assim vei KKKKKKKKKKKKKKK wtf
@lourencodesouza81916 ай бұрын
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK mano, vou entender isso como uma brincadeira, foi massa!
@b92c6 ай бұрын
Nem Zig, nem Rust. A "linguagem do futuro" é o Go 👍
@LucasAlfare6 ай бұрын
💀💀💀💀💀💀💀
@waine_jr6 ай бұрын
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
@mateusinkkj6 ай бұрын
Zig é muito novo e falta muitas funções, apesar disso é um otimo conceito, precisa apenas ser mais elaborada e simplificada.
@waine_jr6 ай бұрын
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á
@ArthurSilvaQueiroz6 ай бұрын
otimo conteudo!!!!
@fabiopetrillo6 ай бұрын
Rust é melhor que Zig. 😊
@ELIKAPITAL5 ай бұрын
é fato que c e c++ jaz obsoletas, mas felizmente e infelizmente vamos usar por muitos anos ainda!!!
@Prescott2400-my6di4 ай бұрын
Sem preprocessadores? 😒
@waine_jr4 ай бұрын
O maior mal depois do Null são os macros de C kkkkkkkkk
@andreduartebueno6 ай бұрын
C++ segue com muitas novidades, comite ISO super ativo. Vai demorar para aparecer algo melhor.
@AlmirBispo-CSV-Comp-DB6 ай бұрын
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_jr6 ай бұрын
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-DB6 ай бұрын
@@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_jr6 ай бұрын
@@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
@rmscharlie3866 ай бұрын
C++ ainda reina
@JanusAlmight6 ай бұрын
AGORA SIM, ESSE É O FIM DO C. by 2006 está igual falar que Java vai acabar
@waine_jr6 ай бұрын
Meu caro, ninguém falou que C nem Java vai acabar não. Estás a lutar com moinhos
@NinjaAdd3 ай бұрын
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_jr3 ай бұрын
Bem vindo ao baixo nível kkkkkkkk lib pronta é pra web dev, e forçar formatação é top features do Zig
@NinjaAdd3 ай бұрын
@@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.
@meninoesperto27736 ай бұрын
Zig é muito bom
@Redyf6 ай бұрын
Zig é pro C o que o Rust é pro C++
@MiguelPenteadoReal6 ай бұрын
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_jr6 ай бұрын
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)
@rodrigomoura10856 ай бұрын
Tá dizendo que rust já tá meio enferrujada? hahuhahuahua tá parei 😔
@waine_jr6 ай бұрын
Kkkkkkkkkkkkkkkkk bobo
@pliniopvv26 ай бұрын
C/C++ vai morrer? 😂🤣
@AlmirBispo-CSV-Comp-DB6 ай бұрын
Claro.A politica a criou e a politica vai mata-la.Bendido seja o nome da politica
@rasputindasilva8586 ай бұрын
Kakaka, ganda piada.
@waine_jr6 ай бұрын
kkkkkkkkkkkkk brinca muito
@PrinceOfAstoria6 ай бұрын
A LINGUAGEM DO FUTURO É PPL - Prompt Programming Language 🤣
@jaderpereira18896 ай бұрын
Talvez seja isso mesmo kkkkkk
@waine_jr6 ай бұрын
se for isso daí mesmo aí que as IAs vão roubar os empregos dos devs kkkkkkkkkk
@NeuriLee6 ай бұрын
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 🤣🤣
@PrinceOfAstoria6 ай бұрын
@@waine_jr resistence is futile (mas até lá tem muito backlog pra queimar...)
@loribao23036 ай бұрын
Só quer superar C/C++ quem coda Fofo... 😅😅😅😅 (Zuera) Ou será que não? 😂😂😂
@h4andr1x6 ай бұрын
E o Carbon? A promessa é que Carbon tenha interoperabilidade com C++.
@waine_jr6 ай бұрын
Já vi algumas coisas dela, mas nada a fundo. Quem sabe algum dia aprendo também
@JoseDaviCorreiaPassos6 ай бұрын
É 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.
@FWCODING6 ай бұрын
É normal discordar de voce sabendo que voce esta certo? kkkkk
@waine_jr6 ай бұрын
Hahahhahaha não existe certo e errado não, são só opiniões
@mariazeliasantos36476 ай бұрын
Java hoje e sempre !
@astaron-eremita5 ай бұрын
Todo dia nasce uma linguagem do futuro e todo dia java morre
@fonsecadev24 күн бұрын
golang é o futuro!
@marcelfsilva6 ай бұрын
cobolscript é o futuro... do preterito!
@waine_jr6 ай бұрын
kkkkkkkkkkkkkkkkkkkkk
@jjuniorc26 ай бұрын
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_jr6 ай бұрын
Não se limite, meu querido, abrace a diversidade
@jjuniorc26 ай бұрын
@@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.
@AttrakoNull5 ай бұрын
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.
@BrunoSantosX6 ай бұрын
Tudo indica que Julia deu uma flopada mesmo. Vejo pouco hype sobre essa linguagem.
@MsonicBoom6 ай бұрын
Conteúdo de baixo nível = baixaria, paredão e afins.
@AndreCarneiro6666 ай бұрын
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_jr6 ай бұрын
Só o tempo pra responder mesmo. Com relação a comunidade, eu nem entro em fórum pra evitar o desgaste kkkkkkk