Most active commenters
  • jorangreef(3)

←back to thread

228 points Retro_Dev | 11 comments | | HN request time: 0.763s | source | bottom
Show context
zwnow ◴[] No.44461773[source]
And this is exactly why you do not use shiny new languages for your projects. Hope tigerbeetle won't have too much trouble with this
replies(5): >>44461853 #>>44461858 #>>44462043 #>>44462061 #>>44462171 #
jorangreef ◴[] No.44462171[source]
This is exactly why we chose Zig.

Andrew’s design decisions in the language have always been impeccable. I’ve never seen him put a foot wrong and would have made the same change myself.

This is also not new to us, Andrew spoke about this at Systems Distributed ‘25.

Also, TigerBeetle has and owns its own IO stack in any event, and we’ve always been careful to use stable language features.

But regardless, it’s in our nature to “do the right thing”, even if that means a bit of change. We call this “Edge” and explicitly hire for people who have the same characteristic, the craftspeople who know how to spot great technical quality, regardless of how young (or old!) a project may be.

Finally, I’ve been in Zig since 2018. I wouldn’t exactly call it “shiny new”. Zig already has the highest quality toolchain and std lib of anything I would use.

replies(3): >>44462294 #>>44462444 #>>44462720 #
1. tialaramex ◴[] No.44462444[source]
> Andrew’s design decisions in the language have always been impeccable. I’ve never seen him put a foot wrong and would have made the same change myself.

Interesting, who designed the old Zig IO stack which alas Andrew needed to replace?

replies(5): >>44462481 #>>44462503 #>>44462595 #>>44462812 #>>44465708 #
2. eddythompson80 ◴[] No.44462481[source]
A less experienced Andrew
3. eviks ◴[] No.44462503[source]
Indeed, but to be fair, the old stack was done with a hand, not a foot!
4. BrouteMinou ◴[] No.44462595[source]
I've built a bridge 20 years ago. It was great, people could finally go from one side of the river to the other.

Everyday, more and more people started using that bridge.

In 2025, I've rebuilt the bridge twice as big to accommodate the demand of a growing community.

It's great and the people love it!

replies(1): >>44466197 #
5. jorangreef ◴[] No.44462812[source]
I think what you're not appreciating is how this design is a huge improvement over the status quo, not only in Zig, but also the streaming interfaces in most languages.

Wait till the SD25 talk on this comes out, to first understand the rationale a bit better!

replies(1): >>44462858 #
6. robertlagrant ◴[] No.44462858[source]
> I think what you're not appreciating is how this design is a huge improvement

The point was that if he did the old design, which needed improving enough to justify breaking the language backwards compatibility, then why say his decisions are impeccable? Pobody's nerfect.

replies(1): >>44462932 #
7. jorangreef ◴[] No.44462932{3}[source]
Yes, and my point (in response) was that Zig's status quo was no different from other languages, but now is better. (There's some humor in the issue's title “Writergate” here!)

Again, we use Zig, and this change is welcome for us.

We also like that Zig is able to break backwards compatibility, and are fully signed up for that.

The crucial thing for TigerBeetle is that Zig as language will make the right calls looking to the next few decades, rather than ossify for fear of people who don't use it.

8. AndyKelley ◴[] No.44465708[source]
Actually, nobody.

Here is the commit where Reader/Writer was introduced: https://github.com/ziglang/zig/commit/5e212db29cf9e2c06aba36...

This is a few months after `git init`. You can see I was really just working on the parser, with a toy example to get things started.

Over time, I merged contributions that made minor changes and shuffled things around, and these APIs evolved to kind of work okay. But nobody really considered "the Zig IO stack" as a whole and put in design effort. That is happening for the first time right now.

This is how programming languages are constructed. Things evolve slowly over time, and periodically you have to reevaluate things and do major reworkings.

replies(1): >>44468654 #
9. 8n4vidtmkvmk ◴[] No.44466197[source]
But some people are upset because you put the new bridge in a new location and now it's inconvenient for them?
replies(1): >>44466796 #
10. BrouteMinou ◴[] No.44466796{3}[source]
Nah, they are upset because it brought more people, which increased the traffic...

https://www.wired.com/2014/06/wuwt-traffic-induced-demand/

11. keybored ◴[] No.44468654[source]
Actually, I wasn’t intentionally designing anything.