Live data from Hacker News

Interview with Mitchell Hashimoto about Ghostty and Zig

alexalejandre.com

231–240 of 281 posts

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#231

Earlier quoted context omitted.

Rust people: it's wrong to use a language that lacks memory safety and modern developer affordances. Do you really want to spend time debugging crashes and foist security problems on your users? Me: You're right. Java has come a long way. Let's download... Rust: No! No no on. Not like that! --- Memory safety is a worthwhile goal, but combining it with manual memory management is wrong for most tasks. Just use a damn…

If you're manually calling malloc in Rust, your code is almost certainly wrong. It might be called as an implementation detail when you create new objects, but std can generally be used as if it were managed automatically.

I'm using malloc as synecdoche for all forms of allocation, including Arc> stuff.

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#232
post #228
post #222

Earlier quoted context omitted.

There is some cool stuff here. I like using column to format the table. Appending it to alloyed's command fixes their header problem. The stdbuf to multi-command block (term.?) is a neat trick. Although, one time when I ran this, I only got a couple lines of output. No idea why and I can't replicate it, but there could be some flakiness that results from the buffering somehow? Question: how do the ? markers on the so…

I'm not seeing any ? marks in my code. Are you referring to the instances of $'\t' ? In bash (and other shells, including recent versions of the POSIX sh specification) $'...' is treated like a C-style string complete with backslash escape sequences, so $'\t' is a way to have a tab character as a part of a command argument.

Oops, yes, I don't know why I mistyped a question mark. That's exactly what I was wondering, thanks.

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#233
post #119

Earlier quoted context omitted.

The practical and useful innovations were invented else, Rust made them mainstream.

The borrow checker in Rust is frankly novel. Cyclone had something somewhat similar, but not the same. The broader ML-like type system in Rust is not novel, but the integration of the borrow checker -- and its move semantics more broadly -- with it... that form honestly is an innovation. And one I'd have a hard time living without at this point.

And also one I'd like to see in more languages! Especially a simpler one, closer to C.

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#234
post #191

Earlier quoted context omitted.

Rust people: it's wrong to use a language that lacks memory safety and modern developer affordances. Do you really want to spend time debugging crashes and foist security problems on your users? Me: You're right. Java has come a long way. Let's download... Rust: No! No no on. Not like that! --- Memory safety is a worthwhile goal, but combining it with manual memory management is wrong for most tasks. Just use a damn…

GC is such a mistake though, you don't have to use rust but to never have to think about memory is a disservice to the programmer. Because that is something you always should do, and if you do then GC is nothing but a hindrance. For scripting etc. it is perfect though.

Even if you're one of those people who believes the highest levels of performance require manual memory management (I'd disagree, but whatever), you'd do well to consider the performance of real-world GC against performance of the Arc/Box/dyn/clone-heavy "high-level Rust" [1] [2] that people and LLMs usually write.

Maybe you can write a carefully-tuned arena-and-slotmap that beats the pants off any GC. GC doesn't have to compete against P99.9 systems programming excellence. It has to compete against an endless soup of Arc, Box, and clone, and it will win this match without breaking a sweat.

[1] https://hamy.xyz/blog/2026-01_high-level-rust

[2] https://llogiq.github.io/2020/05/30/hi.html

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#235
post #191

Earlier quoted context omitted.

GC is such a mistake though, you don't have to use rust but to never have to think about memory is a disservice to the programmer. Because that is something you always should do, and if you do then GC is nothing but a hindrance. For scripting etc. it is perfect though.

Even if you're one of those people who believes the highest levels of performance require manual memory management (I'd disagree, but whatever), you'd do well to consider the performance of real-world GC against performance of the Arc/Box/dyn/clone-heavy "high-level Rust" [1] [2] that people and LLMs usually write. Maybe you can write a carefully-tuned arena-and-slotmap that beats the pants off any GC. GC doesn't hav…

Performance is not even a factor in my argument.

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#236

Earlier quoted context omitted.

The borrow checker in Rust is frankly novel. Cyclone had something somewhat similar, but not the same. The broader ML-like type system in Rust is not novel, but the integration of the borrow checker -- and its move semantics more broadly -- with it... that form honestly is an innovation. And one I'd have a hard time living without at this point.

And also one I'd like to see in more languages! Especially a simpler one, closer to C.

Cyclone would be the closest to that I guess. RIP.

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#237
post #111

> I don’t like the Rust culture. There’s no better way to put it. Every time I’ve interacted with them or hear how they talk about Rust, I just don’t like it. I wonder if it's not that different people have entirely different experiences: If you are outside the rust community, you'll mostly interact in the context of language flame wars, "why don't you just rewrite it in rust", etc. That is, you interact with the (sm…

What would you say is a good starting point for learning Rust? I’ve been curious about it for a while, but coming from a mostly Python, I’m straight up intimidated and fear wasting time trying to learn something I won’t really ever fully be competent in…

Writing a Python extension would a good way to dip your toes into Rust, and also add a useful skill to Python programming (writing performant extensions). PyO3 is the main project, and the topic has been covered in several talks at Python conferences (check Youtube).

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#238

> Back to Zig, Zig has a really polarizing specific stance on what it does from technology, to community management and funding to PR, blog posts and how they talk. I don’t agree with all of it but I so respect that they are unapologetically weird. So I continue to support them financially and use their technology because I support people trying to be their own person. I read the full articles and always like what Mi…

That's the most eloquently diplomatic way to address it. He really does have a way with words. At the same time, it makes me a little sad that when pressed, the best thing that could be said about Zig is that it's unapologetically weird right after a sentence about not agreeing with how they manage the project. I had high hopes for Zig, but the current situation feels like they're actively moving toward being a niche…

> when pressed, the best thing that could be said about Zig is

What do you mean? We didn't really discuss technical aspects etc. and he said he does like how they manage the project.

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#239
post #191

Earlier quoted context omitted.

GC is such a mistake though, you don't have to use rust but to never have to think about memory is a disservice to the programmer. Because that is something you always should do, and if you do then GC is nothing but a hindrance. For scripting etc. it is perfect though.

For a lot of programming tasks, HAVING to think about memory is a disservice. That's part of the reason why Python, go, Ruby, etc. are so popular. There is no one right answer, it's very dependent on what's being built and where the ROI for the programming effort comes from.

For some tasks, sure.

But you still have to think about memory in those languages.

Re: Interview with Mitchell Hashimoto about Ghostty and Zig

#240

> Back to Zig, Zig has a really polarizing specific stance on what it does from technology, to community management and funding to PR, blog posts and how they talk. I don’t agree with all of it but I so respect that they are unapologetically weird. So I continue to support them financially and use their technology because I support people trying to be their own person. I read the full articles and always like what Mi…

That's the most eloquently diplomatic way to address it. He really does have a way with words. At the same time, it makes me a little sad that when pressed, the best thing that could be said about Zig is that it's unapologetically weird right after a sentence about not agreeing with how they manage the project. I had high hopes for Zig, but the current situation feels like they're actively moving toward being a niche…

> moving toward being a niche language and away from being something that I could make a case for in a business context

That indeed seems hard. Also, at this point in time, what would be the benefit of using Zig over Rust?

Post reply on HN