Criticism of the C programming language: Difference between revisions

Content deleted Content added
m Style: link first reference to Conway
m don't link to redirected name
Line 1:
The '''[[C (programming language)|C programming language]]''' is a very widely used [[programming language]], minimalistic and [[High and low level (description)|low-level]] by design. Despite its popularity, C's characteristics have led to much '''criticism''' of the language. Some criticisms have arisen from misconceptions or misinterpretations of the C standard, while others have some degree of validity. This article is concerned with the latter.
 
Many beginning programmers have difficulty learning C's syntax and peculiarities, and even many expert programmers find C programs difficult to maintain and debug. A popular saying, repeated by such notable language designers as [[Bjarne Stroustrup]], is that "C makes it easy to shoot yourself in the foot." [http://www.research.att.com/~bs/bs_faq.html#really-say-that] In other words, C permits many operations that are generally not desirable, and thus many simple programming errors are not detected by the compiler and may not even be readily apparent at runtime. This potentially leads to programs with unpredictable behavior and security holes, if sufficient care and discipline are not used in programming and maintenance.