(This is not Zig specific but close to the philosophy of simplicity that is characteristic for schools like Systems programming, Data Oriented Design and overall, in Zig community.)
I was just re-watching old Nic Barker’s video with tongue-in-cheek title “Naming Things Is Easy” in which he talks about the cost of abstractions and the effect they have on the code. (And some thoughts on how to mitigate these problems.)
The video is great but this slide just pops out to me because it gives such a beautiful example:
When you split the pair of scissors, you now not only have the complexity of having to compose stwo sub objects, but even worse - you have to come up with a name for half a pair of scissors.
Congratulations, you and your team can now argue about whether it should be called
ScisorHalfScissororBladeWithHoopHandle.
(It’s closely related to a part that starts around 11:00)
Just in case you don’t know Nic Barker’s channel: to me his channel is one of the best I know about programming and while every video is excellent, to me—as someone who has been excited about OOP principles for most of my career (only to fail miserably when applying those principles to a working piece of software that matters, as one does)—especially his “Intro to Data Oriented Design for Games” has (along with Andrew’s “A Practical Guide to Applying Data Oriented Design” talk) been essential in changing the mindset back to “normal”.