Criticism of the C programming language: Difference between revisions

Content deleted Content added
Line 87:
 
===Standardization===
The C programming language was standardized by [[ANSI]] in [[1989]]. and Sinceadopted then,as ANSI andan [[ISO]] havestandard heavilyin revised1990; the language,standard addinghas manysubsequently requirementsbeen andextended twice. Some features whichof havethe questionableC user demandstandard, such as first trigraphs and nowcomplex digraphsarithmetic, tohave accommodatebeen characterchallenged setson withoutthe braces,ground hexadecimalof floatingquestionable point,user complex arithmetic, and suchdemand. Microsoft,Some Borland,major andC even GNUcompilers have not written a conforming C99 compiler in the years following the standard's publication; yet thebecome internationalfully standards committees continueconformant to amendlater the language. Someversions of eventhe C's devout fans feel that C has gone the path of [[HTML]]standard.
 
The C standards have been accompanied by Rationale documents which describe the considerations behind many of the choices made by the standards committee. Frequently there were trade-offs among competing requirements, and not everybody weights the factors the same as did the C standards committee.
The national and international standards for C make demands which are very difficult to defend technically; for example, conforming source files must end with a newline. Although an implementation can trivially append a newline to a translation unit if its parser relies on it, it is an error for the user to omit the newline, which compliant compilers will discard anyhow after a point the standards call "translation phase four". Similarly, it is an error for the final newline of a file to be preceded with a backslash, notwithstanding the fact both symbols will be deleted upon detection during "translation phase one".
 
===Maintenance===