Interview with Mitchell Hashimoto about Ghostty and Zig

(alexalejandre.com)

106 points | by veqq 7 hours ago

6 comments

  • skhameneh 2 hours ago
    > I don’t like the Rust culture. There’s no better way to put it.

    This is just so weird to me, because I would say the same about Zig.

    I tried to get into Zig even chatted with Loris Cro when he was streaming. I was looking to explore what my Rust project could look like in Zig but there were features simply missing that I couldn't do without. The entire interaction was mostly about how bad Rust is and how I could just do something different in Zig (completely misunderstanding my ask, with little interest to explore my actual requirements).

    I remember watching HN and seeing every time there was something Rust related trending, there was ALWAYS a post made shortly after trying to hype Zig and this went on for like 4 years.

    I'm not a Rust contributor and I don't care for some of the challenges that come with Rust, but I love what it accomplished and I find it does it very well. Back then I found the Rust community had interest and respect for Zig, so the discourse was very much one sided.

    • pron 2 hours ago
      > This is just so weird to me, because I would say the same about Zig.

      Then why is it weird if you're saying the same thing? Different programming languages appeal to programmers with different tastes, and so it makes sense that some programmers would be drawn to language X and dislike language Y, while others would be the opposite.

      • nine_k 2 hours ago
        Maybe it's even the other way around: different cultures and tastes give birth to different languages and community norms around them.
        • skhameneh 1 hour ago
          This is a good take. I was interested in accomplishing my goals and had an interest in both Rust and Zig. Going in, Rust was already proven to meet my needs and I was exploring Zig. Everything being centered around anti-Rust and “better than Rust” without meeting my needs made it a non-starter, it got in the way of discussing the languages themselves.
          • garbagepatch 13 minutes ago
            When was this? I've only seen this "anti-rust" vibe in the past few weeks, guess triggered by the Bun rewrite. Zig people usually will tell you to use the right tool for the job over shilling the language or that you don't need to use it yet (if you want a stable language/documentation) the language will be there if you want to check it in a few years.
            • skhameneh 1 minute ago
              Approximately 5 years ago
        • rapind 1 hour ago
          I have definitely witnessed very specific cultures around languages I really like that I generally just don't vibe with. The author creates something brilliant, but there's a cadre of early adopters that shape a political and somewhat egotistical community that rubs me wrong. Once I spot them, I don't engage with the community. And it's not even that I disagree with the politics they espouse... I'm usually on the same page, but it's just kind of exhausting and a little over the top.

          I'm old-ish though and grew up apolitical, so I'm sure it's just a me problem.

      • cogogo 2 hours ago
        The year is 2026 and the only thing about coding that matters anymore is taste.

        Edit: Thought about scare quoting “taste”

        • jeltz 1 hour ago
          Pretty sure you could have said the same in 1986 and I know for sure you could have in 2006. Not sure why you think people having different tastes is new.
        • pron 2 hours ago
          It's not necessarily the thing that matters most to executives, who are often those making decisions, but it's always been the thing that mattered most to programmers (at least those of them who have any emotions or strong preferences toward programming languages).
        • skydhash 1 hour ago
          Always have been. When something is your primary tool, you develop strong opinion about it. Code is notation, helping to describe solutions. Not everyone thinks and solve the same way, so strong preferences is not unusual.
        • bansimonw 1 hour ago
          [dead]
    • Crisco 2 hours ago
      I’ve worked with people who I appreciate for their unapologetic willingness to be who they are. I might not agree with their opinions and think they’re a little extreme, but I’m glad people like them exist and enjoy seeing what they devote their time to. Based on the rest of Mitchell’s response, I think something like that is what is appreciated about Zig.

      I don’t use Zig, and frequently use Rust, but I’ve never really interacted with the core development team for either. I don’t think it’s necessary to care about whatever culture is driving development once it has sufficient velocity. The Rust I use today is more than enough for my needs. Maybe if I were more involved in open source I would better understand why culture matters, but unfortunately I’m mostly a consumer of it, not a producer.

    • reinitctxoffset 1 minute ago
      I think you'll find that out of all the pairwise combinations of language communities, there's one that stands out as having beef with a bunch of other ones. And that's not true of e.g. Haskell and OCaml (or to nothing like the same degree), so it's not just about competition for mindshare, it's about an approach to competition for mindshare.

      The C++ community and the Zig community seem to get along fine, so it not about looking up at the entrenched thing or down at the new thing, many orders of magnitude there and no drama.

      Python, R, and Julia folks all seem to get along.

      On the frontend there are a zillion things that compile to JS and even in the big camp the frameworks are split 9 ways, you get a little heat here and there over Vercel throwing big bucks or something but it's rare, generally the Svelte people and the Astro people seem to not mind when the other one front pages or whatever.

      Rust is at war with the world. Maybe it can even win but it's a weird road to walk by choice.

    • mountainriver 1 hour ago
      I feel this way about most Hashi tools, they just seem massively overrated to me.

      Ghostty is fine I guess, I find it to be way buggier than iterm with a fraction of the features.

      Zig is fine, has some cool stuff, the community seems roughly the same as the rust, with again just way less features.

      The rest of the hashi tools are fine, I don’t really use any of them anymore. Vault was a big deal at some point I guess

      • slekker 14 minutes ago
        That's so dismissive, the HashiCorp products were a game changer in a world that had very little, Vault and Terraform are super widely used
    • nixpulvis 2 hours ago
      Culture wars are sadly one of the biggest inhibitors of progress throughout all of technology.
      • ks2048 12 minutes ago
        It seems to hinge a lot on what is “culture”.
      • ori_b 1 hour ago
        Why does liking something different from you imply there's a war?
        • hoppp 30 minutes ago
          There is often a neo-tribalistic mentality.

          "My tribe is better than your tribe"

          Some people thrive inside this mentality, whole others don't go near it.

          Not everyone is thinking like this but a lot of people do. So because of that it's a common heuristic to think of it as "war" because there are some people who do that gladly.

    • khuey 1 hour ago
      > Back then I found the Rust community had interest and respect for Zig, so the discourse was very much one sided.

      In hindsight (and at risk of starting a flame war), it's easier to be magnanimous when you are winning/have won.

      • danudey 1 hour ago
        Is it a competition? I wonder if the Zig people feel as though it is, because I doubt the Rust people do.

        Rust's big tentpole is "no memory management bugs, everything must be provably safe", whereas Zig is very proud of "no memory management, you have full control but you have to exercise it". I don't feel as though these are competing for the same audience or mindshare.

        I've used Zig a big (while trying to contribute to ghostty, at least), and it's an interesting language that I like the aesthetics of but I don't want to use. I use Rust for things because it's so specific about what it wants from you and won't let you go off-script, and frankly I find that very beneficial for myself as someone coming from Python, Javascript, PHP, etc. where you just let things fall out of scope and it's not your problem anymore (usually).

    • fukaiall 1 hour ago
      Well you only talked with one single person and judge that the Zig community culture sucks? I’ve seen so many dogmatic views of those Rust apostles here on HN and Linked who think Rust is the only valuable language and all the others - Python, Go, C++ (of course) - are rubbish. I am so fed up with those snobbish views of a few Rust lovers and as much as I love the language I want to avoid those ignorant fucks.
    • insanitybit 1 hour ago
      I write rust and barely interact with the community. I used to. I spoke at the first rustconf, even. I don't really care to engage with the rust community anymore (I cut myself off entirely from most online communities tbh).

      I might stay away from a particularly toxic community or one with wildly different values, but I don't really get why you wouldn't write Rust just because of how some people post about it. Odd tbh. I find the whole thing about "oh the rust zealots" hand wringing stuff so silly, really.

    • Ygg2 1 hour ago
      > I remember watching HN and seeing every time there was something Rust related trending, there was ALWAYS a post made shortly after trying to hype Zig

      The Zig Evangelism Task Force has supplanted Rust as the premier hypebeast. And they'll be supplanted by the NEXT BIG THING.

    • bri3d 2 hours ago
      This is weird to me too, especially to say in the present tense in 2026.

      I think I get the point about "Rust culture" (although it's too vague to agree or disagree with, probably on purpose).

      But in 2026, Rust is fully a commodity language, and especially to compare it to Zig in this angle is bizarre. Even turning my stereotypes to 11 and thinking back to when I worked with a team developing Rust professionally in 2021, I'd say we got mostly ended up hiring "proglang enthusiasts" and not "Rust people." In terms of "cultural dilution" alone Zig is orders of magnitude more culty than Rust because that many fewer people use it.

    • bagxrvxpepzn 19 minutes ago
      [dead]
  • tecoholic 1 hour ago
    Man, these are the kinds of things that I am so happy to read. People who think and care deeply about what they do, take pragmatic decisions that appears right to them and explain why they do things the way they do. Very motivating. Literally moved me from the couch to the work desk .
  • Jtsummers 2 hours ago
    > I’ve always believed there should be way more forks, both personal and maintained ones.

    There aren't more forks because once you fork something you take on the burden of synchronization, or you forfeit the benefit of future upstream work. To focus on Ghostty, Mitchell has taken on the effort of maintaining cross-platform support. If I want one specific feature (or even a bunch of features) and create a custom fork, but then GTK changes, now I have to support that change myself (assuming it is relevant to me or my community of users), or figure out a way to integrate Mitchell's changes into my fork, or I risk losing my customizations by having to rollback to baseline if the differences between my fork and baseline are too great.

    If the system is well-engineered (the work on libghostty helps here) then you can keep that common core without forking, and fork just things on the periphery of the system. But well-engineered is not common.

    • tecoholic 1 hour ago
      By making “upstreaming” the core of OS contribution, we have also failed to build tooling around downstream synchronisation. There are dedicated browser forks (a very highly complex software) that are maintained by a few volunteers. So maintaining 1 or 2 additional features depending on personal choices (or a specific company’s) shouldn’t be that hard. If we have a world where that’s normal, we will have a bigger talent pool in core tech, cloud vendors would have a hard time selling hosted solutions of open source software..etc., I think we left a good chunk of net positive impact on the table by what Mitchell mentions as the “open source project as a product” approach.
    • NetMageSCW 1 hour ago
      Perhaps this is one place AI could prove very helpful - automating the synchronization of forks with their parents while keeping the changes that constitute the actual fork. Or perhaps something other than forking is needed that is more diff based so you have a view of the source overlaid with the fork and the parts unchanged flow through. At least until something like Bun’s change from Zig to Rust blows your fork up completely.
  • bel8 2 hours ago
    Related from 13h ago:

    "My thoughts on the Bun Rust rewrite" by Zig's author Andrew Kelley

    https://news.ycombinator.com/item?id=48843352

  • waterTanuki 1 hour ago
    > The philosophy behind [Rust] and the language itself is really good. I just don’t want to use it.

    That's all that needed to be said. He only makes himself and the rest of the Zig "community" look as petty as some of the worst Rust people with the surrounding remarks. Why does anyone need to care what a few randoms think of a language? Either it gets used or it doesn't.

    • turtlebits 35 minutes ago
      Petty? It's just a tool, people have opinions, rational or not.

      The stupid thing is getting up in arms because someone said something you don't like.

    • fwip 1 hour ago
      As a guy who writes a famous Zig project, he probably gets a lot of young, eager Rust advocates trying to sell him on it. If it's his primary experience with the community, no wonder he's fed up.
  • sgarland 1 hour ago
    This is the only statement I disagree with:

    > PowerShell gets a lot right with structured data.

    CLI programs should operate on text. If you want to parse and format it, do so, but the default output mode should be plain text, so that I can pipe it into grep or awk without a second thought.

    I am continuously irritated that the AWS CLI defaults to outputting in JSON. No one (I hope…) is using that tool in programs; that’s what boto3 and its ilk are for. But if humans are reading it, why default to something that they’re almost certainly going to be piping into jq if only for the formatting help?

    • hombre_fatal 8 minutes ago
      I'm not sure I agree.

      In the AWS case the tools talk to an API server, so sure, you can call the API server directly, but what about all the other CLI apps that don't? The CLI program is the API.

      I built a CLI program that wraps luks + btrfs, and they only offer a `--json` output option for a few commands. I have to write an ad hoc parser for each command since raw text includes arbitrary formatting and presentation lipstick that the creator came up with.

      If I had to pick between the two, json would at least solve the data representation part so that I can build on top of it. And it's trivial to turn data (json) -> pretty print rather than pretty print -> data.

      I can see it being annoying if all you care about is using CLI programs by hand, but it seems like a mild upside compared to the downsides. I just want the data.

      Piping to jq is a lot nicer than coming up with a bespoke chain of awk, cut, tr for every command for every program.

    • nixon_why69 51 minutes ago
      I always hated powershell for the same reason, and then I read a really long retro by the guy who ran the project and it makes sense now.

      Basically Unix has a long tradition of "everything is a file" and a big ecosystem of coreutils that are based around text and windows.. didn't. You can't look at /dev or /etc and learn anything about the machine. They had a few generations of APIs and wanted to give admins and power users any shell at all instead of a GUI. So the shell is centered around making those APIs accessible, rather than piping grep and sed or whatever.

    • tredre3 56 minutes ago
      Powershell commands automatically format the data for you, you can pipe it to grep just fine (I do it all the time). It's just that you can also access it in a structured way if you need to. It's the best of both worlds.

      Linux tools that are starting to output raw JSON by default are indeed a nuisance, but how else can you achieve structured output if no standard shell supports it? It's a chicken and egg problem.