Live data from Hacker News

TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

tigerbeetle.com

171–180 of 213 posts

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#171
post #65

Earlier quoted context omitted.

Because this industry is a knowledge-based industry, and it's a good idea in general to always be honing your skills and learning something new. Even if you don't have any intentions of using a new language in your day to day career, there's usually a few super-interesting morsels in there that you can add to your knowledge banks. I've personally lost count of the number of times I took a concept I learned in another…

There's a big difference between learning from a language and mastering a language and the competition is around the latter.

If you think that complaining about a language on the internet is an effective way to hamstring wider adoption in and of itself... I've gotta say the results leave much to be desired.

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#172
post #124
post #56

I'm absolutely struggling to understand what Synadia even does. it's been an infuriating experience navigating through their marketing site. It's been minutes and I still don't understand what it is. What is NATS? Edit: I had to google what NATS.IO is. The marketing site is infuriatingly useless. Please, can we stop doing this? Edit: At the bottom on the footer it says compare NATS to Kafka. It took me to a page that…

(disclaimer: I am the VP of Prod/Eng at Synadia) NATS - An application connectivity technology (L7). It was originally designed for low-latency M:N messaging, and that is still true today. In 2018, native multi-tenancy, clustering options, etc. got introduced. The persistence subsystem (JetStream) was introduced in 2021. It has a completely different design than Kafka, but with overlapping use cases. For better or wo…

It would be great to have the questions of “what is it? What is it for?” Answered quickly and succinctly above the fold on the marketing site.

You probably have an influx of traffic that you could convert to customers through “what is this? -> oh cool I could use this!” pipeline if the marketing website enabled that.

What is NATS, how does it compare to other similar software, and why use a hosted solution… all this should be easily found.

And if I see a “enter name and email to download a resource” it just immediately turns me off from even engaging with the site.

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#174
post #102

Earlier quoted context omitted.

> It is a tool that works for me. Is it? Or is it a tool that won't bug you when you make a mistake? Programmers tend to, as Djikstra noted[1] confuse ease of programming with allowing unforced errors. [1] https://en.wikiquote.org/wiki/Edsger_W._Dijkstra#1970s

> Is it? Or is it a tool that won't bug you when you make a mistake? I don't want tools to bug me EVER. This includes when I make a mistake. When I want a tool's opinion, I'll ask for it - through a linter, a static analysis tool, etc. > Programmers tend to, as Djikstra noted[1] confuse ease of programming with allowing unforced errors And how long had Djikstra worked as a professional programmer?

> I don't want tools to bug me EVER. This includes when I make a mistake.

If that is your true wish, may I recommend JavaScript? It's a language famous for not complaining about errors.

Or WASM/ASM if you want something closer to the metal.

I personally, want the undefined behaviour Chernobyl to beep before it melts.

> And how long had Djikstra worked as a professional programmer?

According to his wiki if you disregard his tenure at University of Austin, between years 1952 to 1984. So around 32 years.

He's literally first Dutch programmer. Yes. He was a programmer before it was a recognised job.

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#175
post #153

Earlier quoted context omitted.

What are you trading off to get from 90% to 100%? How about compile speed? Are you willing to wait an extra second to get 100%? How about 10 seconds? A minute? 10 Minutes? An hour? Rust is notoriously slow at compiling and people have been banging on it for a while. At some point, you have to accept that the language, itself, has properties that make compilation slow.

Rust packages tend to have large dependency graphs which doesn't help the compile times. I've read the serde is a bit of a hog in that respect, for example. The rust philosophy is for a large language and large library too.

I highly recommend checking out makepad [1] - they have +100k of rust code and the compile time is around 10-15 seconds on commodity hardware. However they are obsessed about performance. They reason for such speedy compile times, like you say, is that makepad has almost no external dependencies.

[1] https://github.com/makepad/makepad/

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#176
post #56

I'm absolutely struggling to understand what Synadia even does. it's been an infuriating experience navigating through their marketing site. It's been minutes and I still don't understand what it is. What is NATS? Edit: I had to google what NATS.IO is. The marketing site is infuriatingly useless. Please, can we stop doing this? Edit: At the bottom on the footer it says compare NATS to Kafka. It took me to a page that…

Let's not forget Synadia donated NATS to CNCF and tried to take it back https://www.infoq.com/news/2025/05/nats-cncf-open-source/

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#177
post #134

> In all these things, what impressed me most was Zig’s approach to safety when working with the metal. Not in terms of an on/off decision, but as a spectrum. Not aiming for 100% guarantees across 1 or 2 categories, but 90% and then across more categories. Not eliminating classes of bugs, but downgrading their probability. All while preserving the power-to-weight ratio of the language, to keep the language beautifull…

Why is 90% enough?

I don't think you understand what he saying.

Rust is 100% memory safe in specific places yes, but much less so when you have to dip into unsafe Rust. Unsafe memory access will always exist, you can't do anything about it. If you need to interact with the underlying system it's just something you have to deal with it.

Zig on the other hand isn't 100% safe in any one part, but it's 90% safe in nearly all parts. Zig recognizes the outside world exists, and makes it easy to write safe correct code given that reality.

Time will tell, but on average I suspect Zig and Rust will produce equally safe and correct software. The further away you get from the hardware the bigger Rust's advantage is, the closer you get to the hardware Zig has the edge.

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#178

Earlier quoted context omitted.

The funny thing is, in a language like Zig where memory allocation is explicit, linked lists are way more popular, just like they were in C. What happens IRL depends on your environment. :)

Linked lists are not popular in zig though. There are pages and pages of discussions about how linked lists are almost universally slower than an array. Zig devs are borderline obsessive about cache efficiency.

Linked lists are slower if you iterate over them fully, however, that's not the only use case. Removing something, while keeping things in order. That's an O(n) operation on vectors, unless you have some kind of fancy segmented structure. Adding might need an allocation, even ignoring the option of failure, that's an unpredictable delay. On the other hand, linked list insert is O(1) and has no allocation involved. These are the properties people use linked lists for.

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#179

Earlier quoted context omitted.

Well, for example, every function that allocates expects allocator as an argument, it is not abstracted away. Resource deallocation is not abstracted away, you have to explicitly free your resources. Ever function that uses IO expects it as an argument. It doesn't have operator overloading, which is also an abstraction. It is a very explicit language.

I left the "mostly" in my comment because custom allocators is one area where Rust as an ecosystem is still in need of some work, and I'm aware of that - hell, in part because of TigerBeetle's blog posts on the subject. Everything you're describing is a stylistic preference, though - and doesn't contribute to bloat , which is what the parent comment was implying. If your program is bloated, that's on you to clean up…

Look, I'm working on an async I/O engine, not unsimilar to Tokio. I started running benchmarks only to realize that I'm significantly faster than Tokio. Go, which is a garbage collected language with preemptive scheduling, is also faster than Tokio on these benchmarks. And Tokio is fast, I'm not claiming it's not. Rust developers program in terms of traits, and borrow checker behaviours. That's fine if you want enterprise kind of safety by tooling. It's just not enjoyable to me and that seems fairly common view. There are people who enjoy languages like Rust, Scala, Haskell. They allow you to create your own world in the type system and that's fine, but it is more disconnected from the actual computer the code is running on.

Re: TigerBeetle and Synadia pledge $512k to the Zig Software Foundation

#180
post #46

The reason for not choosing Rust still doesn't make any sense to me. If you don’t want to OOM, need correctness, are following the power of ten (where you aren’t allocating anyways), I don’t see the conflict or harm of additional enforced correctness. Also, Rust does support checked arithmetic and has stable toolchains.

Out of interest, did you read the two posts [0][1] linked in there by matklad, creator of rust-analyzer as well as IntelliJ Rust, on our team? Suffice to say, we know the intrusive memory and comptime patterns we use in our code base, and they wouldn't be as natural to express in a language other than Zig. Rust is a great language, but Zig made more sense for what I wanted to create in TigerBeetle. [0] https://matkla…

[deleted]
Post reply on HN