That's a strong statement.
C's biggest flaw is that it lies about the underlying memory, but it's a small language that's especially suited to be easy to port.
That's a strong statement.
C's biggest flaw is that it lies about the underlying memory, but it's a small language that's especially suited to be easy to port.
Undefined behavior is normal. The whole relationship between .h and .c files is sick. How you use the "extern" keyword is arbitrary. strcpy is Turing complete. It took a while for people to realize templates are Turing omplete. I'm not sure where the grammar fits in the Chomksy Hierarchy since you have to look at the symbol table to parse it...
Good C looks like poetry, but beginning programmers shouldn't be subjected to any of it. I certainly hate cleaning up the mess!
ALGOL, PL/I and similar languages put a lot of work into specifications but nobody really knew how to write a specification that could be implemented back then. C was an early attempt at specification + implementation that was "minimum viable" (almost?) and ready in time to be the bridge between microcomputers and minicomputers.
Probably the best idea in C was that you didn't have to agonize over I/O in the language specification but you could just leave it to the stdlib.
Also, templates are C++ not C.
My google foo is not working, I can’t find a source for this. And am too dull right now to figure it out.