←back to thread

Zig is hard but worth it

(ratfactor.com)
401 points signa11 | 9 comments | | HN request time: 1.073s | source | bottom
1. thadt ◴[] No.36150211[source]
> Crucially, there is basically no documentation for the standard library except for the source code itself.

From the viewpoint of someone learning about a new language, I find the accessibility of the standard libraries goes a long way toward helping me understand how things fit together. It is a first stop to see how experts in the language use it. Browsing through the standard libraries of languages like Zig, Go, and Python - they're usually well-documented and readable enough to be a tutorial, even before you've dug into learning it. Others (Rust, C++) are a bit more, ah, technical for the novice.

replies(3): >>36150393 #>>36150476 #>>36150587 #
2. Vecr ◴[] No.36150393[source]
Rust has the standard library documentation at https://doc.rust-lang.org/std/ or on your local computer, if there's really nothing like that for Zig I think that's a problem. Are you sure there's no `info zig` or something like that?
replies(1): >>36150816 #
3. tialaramex ◴[] No.36150476[source]
I certainly wouldn't recommend trying to figure out C++ by reading either of the three major C++ standard libraries.
4. TwentyPosts ◴[] No.36150587[source]
Afaik Zig has the issue that basically everything happens on the Discord server, where it can't be indexed via search engines, or found by anyone who wants to have a quick question answered. This would be "fine" if the standard library and language were much better documented, but it isn't, and it's still ripe with bugs.

In other words, you're forced to use the Zig Discord server if you want to find answers to any simple questions, and this is (sadly) not obvious at all to newcomers to the language.

replies(2): >>36152039 #>>36152584 #
5. sciolistse ◴[] No.36150816[source]
There is https://ziglang.org/documentation/master/std but it's not always been correct, and the descriptions are lacking. The new one should hopefully fix that.

Personally I've never had an issue reading through the source for zig std, and if your editor supports it you can just 'go to implementation' on most things. Hopefully the code remains relatively readable since I find it preferable to see the actual code + some basic tests rather than trying to navigate those documentation sites.

6. girvo ◴[] No.36152039[source]
This is true for Nim as well, in that most of the discussion is on the Discord/Matrix server. I’m not a fan personally, at least IRC was easily archived and searchable in practice.

I really dislike how Discord has become “forums in the 2020s”

replies(1): >>36183376 #
7. scns ◴[] No.36152584[source]
The new Zulip version can make chats accessible from the outside. In the thread about it someone wrote OSS Projects should switch to it.
8. Tiberium ◴[] No.36183376{3}[source]
This is not actually true for Nim - almost all Nim Discord channels are bridged to different IRC channels, see https://github.com/nim-lang/Nim/wiki#bridged-real-time-chats
replies(1): >>36192798 #
9. girvo ◴[] No.36192798{4}[source]
Oh that's nice, I thought the IRC bridge had been left to languish. Good to know I was wrong!