That said, what I like about C is that it is a simple language where you can throw out the standard library and start anew: it makes me think of the old versions of ALGOL that didn't specify mechanisms for I/O, and now we know you can specify that behavior in libraries and leave the language pure.
Definitely! I wish the C and C++ communities would take this problem seriously.
> That said, what I like about C is that it is a simple language where you can throw out the standard library and start anew
This definitely is a nice property. But it's not just C that can do this. You can for example do this with Rust, and get an excellent package management system (that can indeed package these alternatives to the stdlib) to boot.
Wasn't ragel responsible for the cloudbleed vulnerability? Wherever possible we really shouldn't be using C at all.
1: https://blog.cloudflare.com/incident-report-on-memory-leak-c... (As for cloudflare, I don't think it's good idea to let single company to MITM the whole internet)
Our tech with regard to type and memory safety is more advanced than our car tech: we already have the tech to prevent these errors. And I believe we should be using it wherever possible. Obviously there will be exceptions (the more obvious being legacy codebases), but they should be exceptions.
They'd recycle my scripts when dealing with very large files but wouldn't learn it themselves.