the 99% is pulled out of thin air, but I think a couple of the other comments in this thread support me. A simple addition such as we’re talking about here won’t satisfy everybody, that’s a given, but I’d also argue that it won’t satisfy many or even most people. So, with that in mind, I suspect that all you’d be doing is catering to beginners, and that seems unecessary. Let beginners cut their teeth on Rust, golang, or C++ for a friendlier more approachable experience in a system programming language.
While C is a simple language in terms of syntax and stdlib, I think you’d agree, that doesn’t make it a simple language to use in practice. I don’t believe that adding a simple, beginner friendly, beginner focused, hash table or dynamic array to stdlib addreses the actual difficu…
the 99% is pulled out of thin air, but I think a couple of the other comments in this thread support me. A simple addition such as we’re talking about here won’t satisfy everybody, that’s a given, but I’d also argue that it won’t satisfy many or even most people. So, with that in mind, I suspect that all you’d be doing is catering to beginners, and that seems unecessary. Let beginners cut their teeth on Rust, golang, or C++ for a friendlier more approachable experience in a system programming language.
While C is a simple language in terms of syntax and stdlib, I think you’d agree, that doesn’t make it a simple language to use in practice. I don’t believe that adding a simple, beginner friendly, beginner focused, hash table or dynamic array to stdlib addreses the actual difficulties one encounters once they’re situated with the language. I think the best way to address the difficulty of C in practice is to remove some of the footguns that are there today instead of, arguably, adding more. Make the language safer, for some definition of "safer", without introducing added complexity, and I think you’ll have a more beginner tolerant language.
I also disagree that "reasonably efficient" hashtables in particular are not simple for beginners to roll themselves. Obviously, "reasonably efficient" is open to interpretation, and the application is clearly a factor, but a simple chained hash table? If you’re using C already, beginner or not, I don’t think it’s unreasonable to expect you to be able to bang that out without too much trouble. Anything beyond that is probably more specialized that anything you’ll find in stdlib today, hence, probably doesn’t need to be there.
I don’t think the original article addresses footguns specifically, but at a glance the items mentioned absolutely scratch an itch that I’ve had with C. And I think Walter’s made other observations that are very much inline with improvements that everybody can benefit from, including beginners.