4 ms·
What makes you think Rust and Zig will not suffer the same issue given enough time?
by kajaktum 5y ago
What makes you think Rust and Zig will not suffer the same issue given enough time?
- kstenerud 5y agoThere's absolutely no guarantee that these problems will be avoided in rust and zig; we only have the benefit of hindsight to avoid the problems we have now, and a recorded history of the kinds of things that tend to go wrong in committees (factions, infighting, BigCo interference, intrigue, egos, bike shedding, etc).
- jackosdev 5y agoThe Zig creator is very conscious of this, talks a lot about rejecting many proposals and ideas to keep the language simple, not being an ass-hole about it, just to avoid what happened to C++.
- Someone 5y agoAnd then the question is whether it will grow fast enough, or get overshadowed by a language that’s a bit more like a weed, growing fast in whatever direction it can, and whether it will then die because of lack of sunlight. It’s tricky to balance features, backward compatibility and ‘cleanliness’ in a (language, standard library)
- kristoff_it 5y agoYou can come up with your own answer to that question by taking a look at how the Zig project is run. https://kristoff.it/blog/interfacing-with-zig/ https://kristoff.it/blog/interfacing-with-zig/ https://ziglang.org/zsf/ https://ziglang.org/zsf/ https://ziglang.org/news/financials-update/ https://ziglang.org/news/financials-update/
- kbob 5y agoComputer science is less than a century old. There's no reason to think we know enough to design perfect languages yet. But with an additional 30 years of hindsight, we can make somewhat better languages now, and we should.
- pjmlp 5y agoWe already had 20 years of hinsight that C's authors decided to ignore, had UNIX not been free beer for all practical purposes, history would have taken another path regarding C's adoption.
- Koshkin 5y agoYeah but the thought of living in a world where they use Ada++, AdaVM, and AdaScript makes me shudder...
- pjmlp 5y agoIt would have sufficed that the language had proper bounds checking, string and array types (that doesn't preclude pointers to everywhere on the universe), strong namespaced enumerations, required &array[0] instead of pointer decay, proper sized allocation. All lessons from what was being done from JOVIAL, ESPOL, NEWP, PL/I various offsprings, during the 20 years that preceded C.