From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- devdocs/c/language%2Fhistory.html | 154 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 devdocs/c/language%2Fhistory.html (limited to 'devdocs/c/language%2Fhistory.html') diff --git a/devdocs/c/language%2Fhistory.html b/devdocs/c/language%2Fhistory.html new file mode 100644 index 00000000..62ab470b --- /dev/null +++ b/devdocs/c/language%2Fhistory.html @@ -0,0 +1,154 @@ +

History of C

Early C

Standard C

    +
  1. codified existing practices
  2. +
  3. new features: volatile, enum, signed, void, locales
  4. +
  5. From C++: const, function prototypes
  6. +
    +
  1. greatly expanded wide and multibyte character support (<wctype.h>, <wchar.h>, additions and changes to stream I/O, etc)
  2. +
  3. digraphs, <iso646.h>,
  4. +
    +
  1. new features: bool, long long, <stdint.h>, <inttypes.h>, restrict, compound literals, variable length arrays, flexible array members, designated initializers, <fenv.h>, variadic macros, complex numbers, __func__, hexadecimal floating point format (%a), monetary formatting in lconv, isblank, concatenation of narrow and wide string literals, trailing comma in enumerations, empty arguments in function-like macros, STDC_* pragmas, va_copy, null return of tmpnam, null pointer in setvbuf, hh and ll length-specifiers in printf, snprintf, _Exit, <tgmath.h>, POSIX-like strftime specifiers
  2. +
  3. from C++: inline, mix declarations and code, declarations in the init-clause of the for loop, // comments, universal character names in source code
  4. +
  5. removed implicit functions and implicit int
  6. +
    +
  1. thread-aware memory model, <stdatomic.h>, <threads.h>, type-generic functions, alignas/alignof, noreturn, static_assert, analyzability extensions, extensions to complex and imaginary types, anonymous structures and unions, exclusive file open mode, quick_exit
  2. +
  3. removed gets
  4. +
  5. from Bounds-checking interfaces TR: bounds-checking interfaces,
  6. +
  7. from Unicode TR: char16_t, char32_t, and <uchar.h>
  8. +
  1. provides changes to C11 (mostly to Annex F) that cover all basic requirements and some recommendations of IEC 60559:2011 (C11 was built on IEC 60559:1989)
  1. provides changes to C11 to support all the requirements, plus some basic recommendations, of IEC 60559:2011 for decimal floating-point arithmetic. This supersedes ISO/IEC TR 24732:2009.
  1. provides changes to C11 to support the recommendations of IEC 60559:2011 for extended floating‐point formats and the interchange formats, both arithmetic and non-arithmetic.
  1. provides changes to C11 to support all mathematical operations recommended by IEC 60559:2011, including trigonometry in π units, inverse square root, compounded interest, etc.
  1. provides changes to C11 to support all supplementary attributes (evaluation model, exception handling, reproducibility, etc) recommended by IEC 60559:2011
Main Article: C17
+ + +
Defect Reports fixed in C17 (54 defects)
+

Future development

  1. List of issues that were not granted DR status: (N2556 2020-08-02)
+
+Main Article: C23
+
Next major C language standard revision
+
+ + +
Defect Reports fixed in C23 (? defects)
+

See also

+
C++ documentation for History of C++
+ + +
1. +The Development of the C Language by Dennis M. Ritchie
2. +Rationale for the C99 standard
+

+ © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
+ https://en.cppreference.com/w/c/language/history +

+
-- cgit v1.2.3