Reply to post: "Why not? K&R is ~250 pages long"

Python swallows Java to become second-most popular programming language... according to this index

Mike 137 Silver badge

"Why not? K&R is ~250 pages long"

The most important attribute of C for elementary programming instruction is that it's very near the metal. The biggest source of bugs in today's bug ridden software is total reliance on the high level of abstraction imposed by most currently used languages.

Abstraction is highly beneficial in the production environment - it eliminates re-inventing the wheel, it enforces code consistency and it speeds development, but unless a programmer really understands what their code does at chip level, they'll not be able to appreciate the need (or to accumulate the skill) to test to that level.

The overwhelming majority of security bugs in code result from machine level flaws such as variable type, buffer and pointer mismanagement which are hidden by language abstraction This category is very large, and has not been eliminated by use of highly abstracted languages. It would be much less prevalent if programmers were taught to think at the metal level even when using highly abstracted languages for development. The question "what machine code does this high level program create?" should be in the back of the mind at all times, as that's the code that will actually crash or be subverted.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon