Skip to content
0:00 / 0:00

#zig#comptime#cabi

The Road to Zig 1.0 - Andrew Kelley

ChariotSolutions

9.3K subscribers • 8 videos on Hallway

YouTube
  • Recommended by 6 people: 5 on Hacker News and 1 in engineering communities.
  • A classic. People kept recommending it from 2019 to 2024.
  • Presented by Andrew Kelley, creator of Zig

Intermediate. Assumes working knowledge.

167K views7 years ago6 recommendations

Programming languagesSystems programmingZigLanguage design and type systemsCompilers and interpreters

Andrew Kelley introduces the Zig programming language, explaining its design goals, C interoperability, and compile-time code execution.

Despite being one of the youngest programming languages, Zig is progressing rapidly toward its first production-ready release. Join creator Andrew Kelley for a justification of Zig’s existence and a tour of the unique features of Zig. See what people have already built with it today, and explore what will be possible when Zig reaches 1.0. Bring your skepticism, tough questions, and unusual use cases. Philly ETE 2019 Playlist: youtube.com/playlist?list=PL9oQ7yETvN10Lopbg81O_bwElm9grUkDB On the Chariot Solutions site: chariotsolutions.com/screencasts/

Why it's here

6 people recommend this

What people say. Recommended as an excellent introduction to Zig's design philosophy, its build system, and how it addresses the problems of C.

Moments people linked to

u/vegecodein r/Zig • Recommends

Andrew's latest talk at Emerging Technologies for the Enterprise Conference

pixelpoeton Hacker News • Recommends

On “Problems of C, and how Zig addresses them”

Andrew Kelley's intro0 is probably the best talk I've ever seen, and his continuing leadership seems really great to me and worth supporting. Besides my reservations for its use in graphics programming (see my other comment) it looks very attractive in many practical ways (build system!! fuck CMake!) I could go from how I currently write my hobby code, sometimes a prototype for future commercial code. 0 link to this video

matheusmoreiraon Hacker News • Recommends

On “A decade of developing a programming language”

I can only hope my own language will become "incredibly small" like that one day. :) Even if a language doesn't take off, its ideas can make a difference and influence future designs. The creator of Zig certainly made an impression on me with this talk: link to this video Even if Zig hadn't been successful, the ideas it represents would've enriched the world. Gives me hope I'll be able to make something out of my own ideas too one day.

pixelpoeton Hacker News • Recommends

On “C++ is an absolute blast”

…+ feature, but in these cases, it isn't a C++ feature, it's language-level basic algebra. In C++ land, ISPC1 is often what you use when you want top speed rendering perf on SIMD CPUs, e.g. Moonray project2 Please, just go ahead and define a nice clean API for vectors and scalars like OpenCL provides on its beautiful reference cards: link 0 link to this video 1 link 2 link Final edit sorry: in the end I love C++ and have been learning Rust mainly out of curiosity. Avoiding C++ quirks one can have few problems and a great time.…

AndyKelleyon Hacker News • Recommends

On “Game Boy Advance “Hello World” Using Zig”

Here is a newer talk (April 2019) which is also by me and also an introduction to Zig: link to this video A lot has changed since then, and a lot has changed since that Localhost talk. To catch up: * (the older talk happened here) * 0.3.0 release notes - link * 0.4.0 release notes - link * (the newer talk happened here) * 0.5.0 release notes - link

von_lohengrammon Hacker News • Recommends

On “Zig 0.9.0”

In addition to the other recommendations, the Zig Zen0 and The Road to Zig 1.01 are pretty convincing. 0 link 1 link to this video

fileeditviewon Hacker News • Recommends

On “Zig Build System”

I would recommend this talk by the creator of Zig: link to this video He gives some examples of C vs Zig and what they tried to improve.

u/fluffynukeitin r/C_Programming • Mentions

On “What do people think of the C replacements, are anyone getting close?”

The c ecosystem is entirely compatible with zig. You can import c header files and use them right away in zig code. You can even compile c code directly with the zig compiler. This was intentional in its design precisely because there is so much c code out there that is rock solid and battle tested. So for my two cents, I think zig has the best chance. When I’m off mobile I’ll link my favorite zig presentation. The creator, Andrew Kelley, goes through a handful of small annoyances he had as a c programmer, how he fixed those small things, and how the fixes opened up all new possibilities in other ways. Edit: here is the presentation: link to this video

matheusmoreiraon Hacker News • Mentions

On “JavaScript Is C”

…ect, obtain a pointer to a C++ object and call methods on it using the C++ ABI and handle the C++ exceptions it may throw. The only way to interoperate is to sacrifice all the benefits of C++ and adopt a C interface. Rust has this feature as well. I like how the creator of Zig put it: if it doesn't speak the C ABI, someone's gonna rewrite it in C. link to this video…

AndyKelleyon Hacker News • Mentions

On “Hobby x86 kernel written with Zig”

Here is a talk I gave that directly addresses this question: link to this video (the title & abstract in the youtube description is the one I gave for the RFP; I ended up going in a slightly different direction than it once I actually made the talk)

matheusmoreiraon Hacker News • Mentions

On “Announcing The Zig Software Foundation”

Operator overloading leads to a complex binary interface. Avoiding complexity in this area is important given that simple binary interface is a huge reason why reusable software is still written in C. link to this video

dnauticson Hacker News • Mentions

On “A Defer Mechanism for C”

> With a finger you can follow the code as it runs and know exactly what is going on and when exactly. Oh yeah? link to this video

matheusmoreiraon Hacker News • Mentions

On “Building an efficient and portable programming language with Zig”

Indeed. In this video he explains the reason why he made those choices: link to this video All these programming language features require a lot of machinery, complicating the binary interfaces of the resulting software and preventing code reuse.

AndyKelleyon Hacker News • Mentions

On “Building an efficient and portable programming language with Zig”

quoting myself 1: "It's really easy to make fun of C++, but everyone has that one feature of C++ that they like. And they want to put it in Zig. If everyone had their favorite feature from C++ in Zig, Zig would just be C++. But I'm not going to let that happen." link to this video

xhealthgothxon Hacker News • Mentions

On “Looking into Zig”

…so compile3. It's perfectly fair to compare Zig to C in this case, as the project originated as a dialect of C before the author decided to do a complete clean break4. The primary frame of reference when designing the language was C and addressing its shortcomings, both language and tooling. 0: link 1: link 2: link 3: link 4: link to this video…

woodrowbarlowon Hacker News • Mentions

On “Maintain It with Zig”

not really, unless you're only building for one platform. gnu make isn't portable and doesn't have any real dependency management, so meta build systems quickly become a necessity. cmake is the most portable and the only real option on windows, but it's common to see projects that maintain support for both cmake and autotools. and that's ignoring the nightmare of cross-compiling with gcc. andrew kelley has talked about this1. his main point was about the number of dependencies you end up with compared to zig, where the standard library includes a high-level build system api. so your zig build scripts are written in ziglang and run by the zig compiler. no extra dependencies. 1 link to this video