proj-plbook-plChCLang

Table of Contents for Programming Languages: a survey

C

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: