6 ms·
As a developer interested in zig it is nice to see books being release, but I'd be a bit resitant to buy anything before zig reaches 1.0 or at least when they s
by gabrielgio 1y ago
As a developer interested in zig it is nice to see books being release, but I'd be a bit resitant to buy anything before zig reaches 1.0 or at least when they settle on a stable api. Both the builder and the std keep changing. Just 0.15 is a huge breakage. Does anyone knows how those changes would affect this book?
- turtleyacht 1y agoAuthor links to 0.15.1 Zig docs in several places, at least for now. Outstanding issue on Zig side for 1.0 release: https://github.com/ziglang/zig/issues/16270 https://github.com/ziglang/zig/issues/16270
- zwnow 1y agoWith how its going I feel Zig 1.0 wont be a thing until my retirement in 37 years
- testdelacc1 1y agoI’m willing to bet $5 it happens in 4 years or fewer.
- ebri 1y agoThat’s a pretty low confidence if we measure confidence in dollars willing to risk
- testdelacc1 1y agoIt’s 100% of my annual betting budget though!
- tialaramex 1y agoDo you have a history we can look at to see how good you are at predicting this for programming languages? Like say, some 2020 predictions you had for languages which would or would not ship 1.0 by 2025 ?
- testdelacc1 1y agoI made a set of predictions for Rust in 2022, nearly all of which turned out to be correct. And I was publicly confident Go and Rust would be massive when they reached 1.0. I was right on both counts. But I will also admit I don’t follow developments in zig as closely as Rust. I’ve never written any Zig. And in any case, past performance isn’t indicative of future performance. I could be wrong about this prediction, but I don’t think I will be. From what I’ve seen Andy Kelley is a perfectionist who could work on point releases forever. But his biggest users (tigerbeetle and bun especially) will only be taken seriously once Zig is 1.0. They’ll nudge him towards 1.0. They can wait a few years, but not forever. That’s why I guessed 4 years.
- jorangreef 1y ago> But his biggest users (tigerbeetle and bun especially) will only be taken seriously once Zig is 1.0. TB is only 5 years old but already migrating some of the largest brokerages, exchanges and wealth managements in their respective jurisdictions. Zig’s quality for us here holds up under some pretty extreme fuzzing (a fleet of 1000 dedicated CPU cores), Deterministic Simulation Testing and Jepsen auditing (TB did 4x the typical audit engagement duration), and is orthogonal to 1.0 backwards compatibility. Zig version upgrades for our team are no big deal, compared to the difficulty of the consensus and local storage engine challenges we work on, and we vendor most of our std lib usage in stdx. > They’ll nudge him towards 1.0. On the contrary, we want Andrew to take his time and get it right on the big decisions, because the half life of these projects can be decades. We’re in no rush. For example, TigerBeetle is designed to power the next 30 years of transaction processing and Zig’s trajectory here is what’s important. That said, Zig and Zig’s toolchain today, is already better, at least for our purposes, than anything else we considered using.
- testdelacc1 1y agoI stand corrected. I fear I may lose my $5 now. If you don’t mind my asking, did TB add support for transaction metadata? I’ve seen this anti-pattern of map<string, string> associated with each transaction. Far from ideal, but useful. Last I checked TB didn’t support that because it would need dynamic memory allocation. Does it support it now or will it in future?
- noshitsherlock 1y agoWouldn’t you think AI advances in 4 years would make this a safe bet?
- therein 1y agoNo, unless you're riding the hype train so hard that you are excited to go to colonize Mars thanks to AI advances.
- bnolsen 1y agoThe language itself won't change much. The standard library is what is still in flux.
- Rochus 1y agoIs this really the first Zig book since the development startet in 2016? Maybe the language and library is just too volatile for a book.
- wslh 1y agoOr it evolves smoothly at another pace.
- osigurdson 1y agoPeople are doing real companies with Zig (e.g. Tiger Beetle) and important projects (e.g. Ghostty) without the 1.0 backward compatibility guarantee. Zig must be doing something right. Maybe this also keeps opinionated 9-5er, enterprise type devs out of it as well which might be a good thing :).
- Rochus 1y agoAre there other notable commercial companies/projects than Tiger Beetle relying on Zig? According to public information, Tiger Beetle are about eight employees with a single customer, isn't it?
- jakogut 1y agoBun.sh uses zig for large portions of native code.
- Rochus 1y agoThanks for the hint. According to public sources, Bun's runtime infrastructure and bindings are written in Zig, but it uses Apple's JavaScriptCore engine written in C++ (i.e. Zig is essentially used in a thin wrapper layer around a large C++ engine). Bun itself apparently struggles with stability and production readiness. Oven (Bun's company) has around 2-10 employees according to LinkedIn.
- epolanski 1y agoBeen using bun from years, it's as stable as alternatives from a long time.
- throwawaymaths 1y agolightpanda and bun
- Rochus 1y agoLightpanda looks interesting, thanks for the hint. According to public sources, behind the development is a company of 2-10 employees (like Bun). The engine uses parts of the Netsurf browser (written in C) and the V8 engine (written in C++), and - as far a I can tell - is in an early development stage.
- justinhj 1y agoAs a Zig adopter I was rooting for this because even though there is the official documentation and some great community content, it's nice to just kick back and read a well written book. I'm also very happy with other Manning titles; they have built a high level of trust with me. To answer your question is it too early. My expectation is that the core language, being quite small by design, will not change that much before 1.0. Some things will, especially async support. What I think we will see is something like a comprehensive book on C++14 . The language is not much changed between now and then, but there will be new sections to add and some sections to rework with changes to the interface. The book would still be useful today. Not a perfect analogy because C++ maintains backwards compatibility but I think it is close.