4 ms·
My point is not that use-after-free or other resource allocation problems do not exist. The point is that in vanilla C any solution one might come up with is to
by vkazanov 2y ago
My point is not that use-after-free or other resource allocation problems do not exist. The point is that in vanilla C any solution one might come up with is too fragile. Reasonable patterns require a very, very steady hand to work (which means it doesn't scale).
C++ came up with a few consistent language-level RAII-based solutions to the problem. Rust came up with a single big consistent language-level approach. Both Rust and C++ insist on using it in all cases.
What Zig does, and which I like, is that it refocuses the language on tools that make it easy to codify the right thing without making it a cornerstone of the language itself. But without introducing the kind of complexity C++ (and Rust to an extent) is famous for.
- pjmlp 2y agoAt its core, it takes the Modula-2 type system from 1978 and makes is appealing to C devs, with sprinkles of compile time programming on top, not as powerful as Lisp macros. Much better than raw C, but still it leaves things to be desired in the context of safe systems programming.
- vkazanov 2y agoWell, Rust makes one BIG bet, and then keeps adding everything else, just like C++ keeps doing. The thing is: people don't want everything. For the kind of things that are expected to be build in C and C-inspired languages it just doesn't make sense to have Lisp-like macros, or 2 flavours of macros like in Rust, or the accidental kind of metaprogramming C++ is famous for. Comptime does the job just fine here, replacing the unpredictable macro mess.
- pjmlp 2y agoWaiting for comptime debuggers, alongside memory quarantine analysers....as they will surely come up if Zig ever gets wide adoption.
- throwawaymaths 2y ago[flagged]
- dang 2y agoYikes—you broke the site guidelines extremely badly in this thread, not just in this comment but also these: https://news.ycombinator.com/item?id=41723448 https://news.ycombinator.com/item?id=41723448 https://news.ycombinator.com/item?id=41717757 https://news.ycombinator.com/item?id=41717757 We have to ban accounts that post like this. I don't want to ban you, so if you'd please review https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and stick to the rules, we'd appreciate it. That means thoughtful, respectful conversation, regardless of how wrong others are or you feel they are. Edit: I took a look at your recent comments and you don't seem to be in the habit of doing things like this (that's good!) so it should be easy to fix.