Update
This commit is contained in:
parent
53768ca2ea
commit
ef91bbba67
9 changed files with 66 additions and 11 deletions
4
c.md
4
c.md
|
@ -27,11 +27,13 @@ C is not a single language, there have been a few standards over the years since
|
|||
- **K&R C**: C as described by its inventors in the book *The C Programming Language*, before official standardization. This is kind of too ancient nowadays.
|
||||
- **C89/C90 (ANSI/ISO C)**: First fully standardized version, usable even today, many hardcore C programmers stick to this version so as to enjoy maximum compiler support.
|
||||
- **C95**: A minor update of the previous standard, adds wide character support.
|
||||
- **C99**: Updated standard from the year 1999 striking a great balance between "[modern](modern.md)" and "good old". This is a good version to use in [LRS](lrs.md) programs, but will be a little less supported than C89, even though still very well supported.
|
||||
- **C99**: Updated standard from the year 1999, striking a nice balance between "[modern](modern.md)" and "good old". This is a good version to use in [LRS](lrs.md) programs, but will be a little less supported than C89, even though still very well supported. Notable new features against C89 include `//` comments, [stdint](stdint.md) library (fixed-width integer types), [float](float.md) and `long long` type, variable length stack-allocated [arrays](array.md), variadic [macros](macro.md) and declaration of variables "anywhere" (not just at function start).
|
||||
- **C11**: Updated standard from the year 2011. This one is too [bloated](bloat.md) and isn't worth using.
|
||||
- **C17/C18**: Yet another update, yet more bloated and not worth using anymore.
|
||||
- ...
|
||||
|
||||
Quite nice online reference to all the different standards (including C++) is available at https://en.cppreference.com/w/c/99.
|
||||
|
||||
[LRS](lrs.md) should use C99 or C89 as the newer versions are considered [bloat](bloat.md) and don't have such great support in compilers, making them less portable and therefore less free.
|
||||
|
||||
The standards of C99 and older are considered pretty [future-proof](future_proof.md) and using them will help your program be future-proof as well. This is to a high degree due to C having been established and tested better than any other language; it is one of the oldest languages and a majority of the most essential software is written in C, C compiler is one of the very first things a new hardware platform needs to implement, so C compilers will always be around, at least for historical reasons. C has also been very well designed in a relatively minimal fashion, before the advent of modern feature-creep and and bullshit such as [OOP](oop.md) which cripples almost all "modern" languages.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue