3 ms·
> For pedagogical purposes you can argue that C rots the mind like BASIC but you can't argue that learning C is a waste of time. That's a strong statement. C'
by 908B64B197 5y ago
> For pedagogical purposes you can argue that C rots the mind like BASIC but you can't argue that learning C is a waste of time.
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.
- PaulHoule 5y agoIf you are exposed to too much C you can't see the C-thulhu. 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.
- rileymat2 5y ago> strcpy is Turing complete. My google foo is not working, I can’t find a source for this. And am too dull right now to figure it out.
- nottorp 5y agoWhile I don't like to write more C than strictly necessary (which lately is close to none) I move that everyone should be exposed to C at an early age. If not, they will end up on accidentally quadratic when don't realize what their javascript does behind the scenes. Also, templates are C++ not C.