Table of Contents for Programming Languages: a survey
Because it is so well-known and well-liked, C gets its own chapter.
Perhaps the most successful language ever.
"Think of C as sort of a plain-spoken grandfather who grew up trapping beavers and served in several wars but can still do 50 pullups."
Some people consider it as a thin portable layer over assembly. However this view is disputed (e.g. https://news.ycombinator.com/item?id=6415240 ). One clear difference between C and assembly is that C is in the structured programming paradigm, and does not provide 'GOTO' (it does provide a facility called 'longjmp' but this is limited to jumps into functions for which there is still a valid stack frame; in addition some commentators assert that longjmp is often not implemented correctly in various C implementations (todo cite)).
One thing that C provides that assembly language often does not is a choice of conventions for string and multidimensional array representation.
Attributes:
Pros:
Cons:
Tutorials:
Best practices and recommended libraries etc:
Respected exemplar code:
Books:
Standards (drafts):
People: Dennis Ritchie
Popularity:
Features:
Size:
Libraries:
Misc:
Variants of C/variant implementations that are simpler, with small compilers: