Live data from Hacker News

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

tigerbeetle.com

101–110 of 213 posts

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

#101
post #65
post #34

Earlier quoted context omitted.

With limited time and mental energy and I woukd say the languages are fighting for attention. The war is over why should I pay attention and for territory in my head.

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.

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

#102
post #20

Earlier quoted context omitted.

>leaving Rust for Zig for the sheer enjoyment of using it instead. What do people find more enjoyable?

Zig feels like a better C with modern tooling. It is a tool that works for me. Rust feels like a better C++ with modern tooling. I am a tool that works for it.

> 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

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

#103
post #89

Earlier quoted context omitted.

In a way, it's a return to simpler times. I remember learning programming C and it was about programming computers, not abstract concepts. As languages got higher level abstractions, we lost touch with the computer. That's why programs are so bloated today. Zig respects that we are programming a computer, with concrete behaviours, it doesn't try to abstract things away, doesn't hide complexity, and yet gives you tool…

Yet computers are abstract concepts :-) And C is basically high level assembly for the PDP, which has little in common with x86, for example.

These arguments never really hold water for me. The C VM is flexible enough to apply to literally any piece of hardware with relatively few pains. For experienced systems programmers, it is also extremely easy to brain-compile C code. C++ and Rust are both much harder in this respect.

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

#104
post #63

Earlier quoted context omitted.

It's like saying bacon is better than cheese. I totally get why some people would feel that way, but it's far from a universal feeling. Tastes are just subjective.

I think most folks would agree that Rust is an "acquired" taste. You need to kneel to the borrow-checker and develop something like a Stockholm syndrome before you find the language delicious.

> You need to kneel to the borrow-checker and develop something like a Stockholm syndrome before you find the language delicious.

That was not my experience at all. I liked the language from the get-go. And the more i dug into it, the more i found to like. I really appreciated the design of Rust's iterators, and traits, and general language design, way before i stumbled into any major issues with the borrow checker.

I feel like this depends very much on the programming style and probably on the domain. But i found that programming in a mostly "functions and simple data structures" way, passing things down to other functions that need them, and just processing data instead of "modeling the domain" into mutable and confusing "objects", i didn't really come across many lifetime-related issues that the borrow checker warns about.

And the few that i did found, they were actually errors on my part, and Rust detecting them was quite helpful. Things like trying to mutate a collection while also iterating it.

So, IDK, YMMV i guess.

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

#105
post #89

Earlier quoted context omitted.

In a way, it's a return to simpler times. I remember learning programming C and it was about programming computers, not abstract concepts. As languages got higher level abstractions, we lost touch with the computer. That's why programs are so bloated today. Zig respects that we are programming a computer, with concrete behaviours, it doesn't try to abstract things away, doesn't hide complexity, and yet gives you tool…

Yet computers are abstract concepts :-) And C is basically high level assembly for the PDP, which has little in common with x86, for example.

The PDP is remarkably similar to x86. The complaints that people have written at length about typically come down to superscalar features not being exposed in the instruction set, which means that it can't be exposed to the programming model.

On the other hand, every architecture that has tried to expose them so far has failed; nobody wants to manually apply the Tomasulo algorithm to their code, or manage shuffling data elements into and out of their cache hierarchy.

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

#106
post #68
post #63

Earlier quoted context omitted.

I think most folks would agree that Rust is an "acquired" taste. You need to kneel to the borrow-checker and develop something like a Stockholm syndrome before you find the language delicious.

I'd guess that in 99% of cases, if the borrow checker is a problem for you in Rust then you are likely not ready yet for C or Zig, particularly when you need to work in a team where mainatainability by others is critical. There are some cases the borrow checker requires you to go through hoops for but I see that as a win for adding friction and raising visibility of weird patterns. And yes, there are cases that can't…

Sometimes, "weird" patterns are correct. The borrow checker doesn't care about nuance.

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

#107
> 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 beautifully simple. - From TigerBeetles blog on this

Such an excellent summary. I've been trying to communicate this regarding the difference in Rust and Zigs approach to memory safety, and Joran does it so much better than I ever could.

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

#108

> For each of our companies to donate $256,000 in monthly installments over the next two years, with Synadia matching TigerBeetle, for a total of $512,000 Why over 2 years? Like VC investment, Id assume a lump sum up front allow them to move faster with that money (hiring the right people sooner, etc.) I wonder if projects like this care more about predictability of income (e.g. not hiring people depending on future…

I assume it’s being budgeted out of their monthly cash flow, not coming out of cash reserves. > Id assume a lump sum up front allow them to move faster with that money (hiring the right people sooner, etc.) On the other hand, the monthly payments mean they’re less likely to overcommit their spending up front. If they’re hiring someone with twice-monthly paychecks, receiving the money up front doesn’t make much differ…

Yeah the later is my thinking. Probably cashflow reasoning too.

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

#109
post #88

Earlier quoted context omitted.

It's not kneeling it's literally just eliminating bugs. It's kind of like saying that we kneel to logic while doing math

The problem I have with what I call "bondage and discipline" languages is that while it has value making sure the code is correct, it is not pleasant (for me) to work with. Sometimes I just want to try out stuff, I know there is a bug, in fact, it breaks everything, but that's exactly what I want, I will revert it once my little expertement is complete. Strict languages will refuse to run anything unless you make sur…

Put Claude code on top of it and now you have prototypes of what you have in mind written pretty much instantly and they are suitable for reshaping into production later if needs to.

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

#110
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.

My understanding from reading other blogs on TigerBeetle (and the Power of Ten rule) is that it's not that they aren't allocating at all. It's all static allocation up front. Zig makes these far easier to manage with its use of Allocators. Rust wants everything to be RAII, tons of little allocations who's lifetimes are managed by the borrow checker. You can use other patterns in Rust of course but you're fighting the borrow checker.

Zig gives you a lot of tools to enforce correctness in simple and straightforward ways, where as Rust comes with a lot of complexity. TigerBeetle isn't the first project to talk about this, Richard Feldman also points out similar advantages to Zig over Rust as the reasoning for the Roc compilers rewrite from Rust to Zig.

Post reply on HN