Zig with Andrew Kelley

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024
  • Allen Wyma talks with Andrew Kelley (andrewkelley.me/) , creator of Zig (ziglang.org/) . Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
    Contributing to Rustacean Station
    Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!

    • Twitter: @rustaceanfm ( / rustaceanfm )

    • Discord: Rustacean Station ( / discord )

    • Github: @rustacean-station (github.com/rus...)

    • Email: hello@rustacean-station.org (mailto:hello@rustacean-station.org)

    Timestamps

    • [@0:51] - Andrew’s introduction

    • [@2:55] - Rust vs Zig

    • [@5:27] - What is undefined behavior (UB) (doc.rust-lang....) and what causes it?

    • [@11:37] - How does Zig deal with undefined behavior?

    • [@16:09] - How well does Zig work in production?

    • [@22:46] - Deeper dive into Andrew’s programming background

    • [@33:35] - Zig’s mission statement and what they’re doing as a non-profit

    • [@37:38] - Zig’s update release management

    • [@40:06] - Andrew’s OkCupid project (andrewkelley.m...)

    • [@42:20] - Andrew’s preparations and motivations for making a language

    • [@46:11] - Zig using LLVM (llvm.org/)

    • [@49:12] - What’s next for Zig?

    • [@54:20] - Parting thoughts

    Other Resources

    • Zig’s Github (github.com/zig...)

    • Andrew’s Github (github.com/and...)

    Credits
    Intro Theme: Aerocity ( / aerocitymusic )
    Audio Editing: Plangora ( / plangora )
    Hosting Infrastructure: Jon Gjengset ( / jonhoo )
    Show Notes: Plangora ( / plangora )
    Hosts: Allen Wyma ( / allenwyma )

ความคิดเห็น • 31

  • @hybridpersonality
    @hybridpersonality 5 หลายเดือนก่อน +10

    I love the guests that come on this show! They are always great. But the host seems to be constantly combative, condescending, or completely uninterested in the guest. So i stop listening until I see another must-hear guest and I have to cringe through it as the guests graciously handle the host's inexperience. I just want the host to be genuinely interested in and excited for the guests and not feel intimitated or need to one-up them at every turn.

    • @kanji_nakamoto
      @kanji_nakamoto 4 หลายเดือนก่อน +1

      That’s the toxicity that people talk about when they complain about the rust-religion believers.

  • @HaMMeR33661
    @HaMMeR33661 6 หลายเดือนก่อน +14

    Loved the employment bit. Andrew has such a refined understanding of the downfalls of the system everyone seems to be championing, where essentially workers in software are making themselves replaceable as the "meta" while not realizing how bad it makes things at every avenue. "Switch jobs often to get paid more" at some point just devolves into "nobody cares about work anymore and if you do, you are unemployable."
    Too bad the topic wasn't as deep it could've been -- I bet Andrew could have a really deep conversation if it was well prepared on both sides. I am so inspired by their nonprofit that I really want to spin up something with a similar business-structure. I want a skill-based shop that respects its employees and has great output as a result. The world needs that so much right now!

  • @ViaConDias
    @ViaConDias 7 หลายเดือนก่อน +31

    Another example of speed being much more important than safety would be embedded that has a defined maximum runtime. Intercontinental ballistic missile (ICBM) where every clock cycle is needed, they just leak memory because the most powerful garbage collection will happen automatically at impact.

    • @phrsngx5675
      @phrsngx5675 6 หลายเดือนก่อน +5

      Leaking memory is not necessarily unsafe. Garbage collection is related to memory safety in the sense that you can't dereference dangling pointers.

    • @zactron1997
      @zactron1997 4 หลายเดือนก่อน +1

      Hard disagree here. In an ICBM and most other embedded applications, consistency is the most important factor above all else. That's why garbage collection is an absolute no-go, because it has non-deterministic runtime characteristics. If the guidance computer needs to produce a course correction every millisecond (for example), then it needs to hit that target without fault or deviation. Evidence of this is redundancy. Even in the confined environment of an ICBM, there are redundant compute systems. If performance above all else was the goal, then the redundant compute platform would instead be used to tackle the task in parallel.
      This is why embedded is largely the domain of C and ASM, its runtime characteristics are very well established and controllable. Go, Python, C#, etc. will never be successful in embedded simply because it is not known how it will perform. Zig fits in the same category as C (arguably better since allocation control is easier) in this context. Rust is different in that its abstractions add a lot of separation between what an author writes and what actually gets run on the hardware. Runtime performance is exactly as repeatable as C, Zig, and ASM though.

    • @ViaConDias
      @ViaConDias 4 หลายเดือนก่อน

      @@zactron1997 When you have an extremely restricted environment where ever single CPU cycle counts and you at the same time have an almost 100% predictable execution plan, memory deallocation becomes secondary. Deallocating memory uses CPU cycles, CPU cycles are expensive (in every way) and memory is cheap (in every way). Therefor you can build the system, let it leak memory, measure how much memory it will ever maximally need including the leak, and then have your hardware manufacture double that memory so that it will never run out.
      I came across this implementation many years ago in a talk from a NASA engineer who had previously worked in weapons manufacturing. I can't find that talk right now, but I randomly came across a mention of a few days ago in this video:
      th-cam.com/video/TZ5a3gCCZYo/w-d-xo.htmlsi=oMUclYZfRE0x9uE7&t=740
      I have no idea if they still do it today, but it absolutely makes sense in certain scenarios and it is worth keeping in mind as a possible solution.

    • @ViaConDias
      @ViaConDias 4 หลายเดือนก่อน

      @@phrsngx5675 No not at all, and with the amount of memory we have available in modern PCs we could leak quite a lot before it becomes an actual problem. Probably shouldn't though 🙂

    • @ASmith2024
      @ASmith2024 หลายเดือนก่อน

      lol

  • @shaurz
    @shaurz หลายเดือนก่อน +2

    The reason that signed overflow is undefined in C is because some very old CPU architectures did not use 2's complement, so the result would be different depending on the target machine. Of course it makes no sense today because all modern CPU architectures use 2's complement.

  • @bjorn2625
    @bjorn2625 5 หลายเดือนก่อน +4

    Shame we didn’t get to hear more about Zig and more from Andrew. Quite a lot of history and anecdotes that didn’t seem that relevant to Zig.

  • @YuruCampSupermacy
    @YuruCampSupermacy หลายเดือนก่อน +1

    The host is annoying. Can someone edit out his parts and just stich together andrews answers in a video?

  • @thomasgeorge5261
    @thomasgeorge5261 2 หลายเดือนก่อน +3

    This was too hard to listen to completion. Andrew Kelley is an incredible guest, but the host spent far too much time derailing the conversation with silly anecdotes and pointless questions, and misunderstanding basic topics like undefined behaviour

    • @Vergillo
      @Vergillo 2 หลายเดือนก่อน +1

      Yeah, I felt like host was kinda outclassed by the guest which led to hard time holding any meaningful conversation
      Edit; At around 30 minutes mark when the host is yapping about completely different topic that Andrew is giving him the benefit of the doubt by again reiterating what he told before is just painful

  • @scorpia3215
    @scorpia3215 7 หลายเดือนก่อน +11

    it seems this podcast is from June 2022? Andrew Kelley just gave a talk on the plans for the future of Zig if anyone’s interested th-cam.com/video/5eL_LcxwwHg/w-d-xo.htmlsi=4N181AAsVh-FlHM6

    • @MaxAbramson3
      @MaxAbramson3 7 หลายเดือนก่อน +1

      I had no idea that this was all so recent. Zig is similar to what I'd been thinking about for several years, removing the last few artificial obstacles to optimization.

    • @JOHNSMITH-ve3rq
      @JOHNSMITH-ve3rq 7 หลายเดือนก่อน +4

      Totally bizarre interview. Dude doing straight digressions on his high school courses wth

    • @robertfletcher8964
      @robertfletcher8964 6 หลายเดือนก่อน +2

      nah man that was Ginger Bill announcing a new beer.

  • @MrAnvyl
    @MrAnvyl 7 หลายเดือนก่อน +7

    This feels more like an argument at times, 36:00 following for example.

    • @bjorn2625
      @bjorn2625 5 หลายเดือนก่อน +4

      It’s a weird interview. Andrew is trying to best to be a polite guest but I do believe one can hear the “WTAF” rummaging in the back of his head.

  • @blarghblargh
    @blarghblargh 7 หลายเดือนก่อน +4

    28:23 it's not a binary "will people leave or will no one leave". it's an attrition rate.
    some people will leave no matter what you do. and of course you have to build in some redundancy to cover that.
    but Andrew was specifically saying that Amazon isn't just a normal corporation. they optimize for a higher than normal attrition rate.

  • @sd_pjwal
    @sd_pjwal 7 หลายเดือนก่อน +2

    "For a 12 year old it was awesome" LOL. My language history was: BASIC, Ansi C, C++, PASCAL, LISP, C++, VB, C#, Python, Java, Scala, Ruby, GoLang

  • @ScibbieGames
    @ScibbieGames หลายเดือนก่อน

    36:05 the fuck?

  • @tubeincompetence
    @tubeincompetence 7 หลายเดือนก่อน +1

    Guess I am just commenting on the idea of switching jobs every couple of years is just so foreign to me. Of course people will switch jobs and you can't get stuck with people being non-replacable, but I kind of like being able to be allowed to do lots of things and be trusted to not run away/switch jobs for slightest reason

  • @pietraderdetective8953
    @pietraderdetective8953 7 หลายเดือนก่อน +1

    Cool talk!
    A bit of audio imbalance here..Andrew's audio volume is overbearing while it's a bit difficult to hear the host's audio.
    Liked and subbed!

  • @andrewdunbar828
    @andrewdunbar828 6 หลายเดือนก่อน +1

    hamstrung has been hamstringed

  • @kanji_nakamoto
    @kanji_nakamoto 4 หลายเดือนก่อน +1

    Andrew is a proper thinker!

  • @AndersonSilvaMMA
    @AndersonSilvaMMA 4 หลายเดือนก่อน

    Just curious: which song is at the beginning? I mean, which track specifically

    • @AndersonSilvaMMA
      @AndersonSilvaMMA 4 หลายเดือนก่อน

      Thanks for not answering I guess

  • @MartialBoniou
    @MartialBoniou 6 หลายเดือนก่อน

    Thanks for the interview