Update
This commit is contained in:
parent
b028290107
commit
ca8db11490
11 changed files with 67 additions and 16 deletions
21
c.md
21
c.md
|
@ -2,15 +2,10 @@
|
|||
|
||||
{ We have a [C tutorial](c_tutorial.md)! ~drummyfish }
|
||||
|
||||
C is a low-level, statically typed imperative compiled language, the go-to language of most [less retarded software](lrs.md). It is the absolutely preferred language of the [suckless](suckless.md) community as well as of most true experts, for example the [Linux](linux.md) and [OpenBSD](openbsd.md) developers, because of its good minimal design, level of control, uncontested performance and a greatly established and tested status.
|
||||
C is a [low level](low_level.md), statically typed imperative compiled language, the go-to language of most [less retarded software](lrs.md). It is the absolutely preferred language of the [suckless](suckless.md) community as well as of most true experts, for example the [Linux](linux.md) and [OpenBSD](openbsd.md) developers, because of its good minimal design, level of control, uncontested performance and a greatly established and tested status.
|
||||
|
||||
C is usually not considered an easy language to learn because of its low level nature: it requires good understanding of how a computer actually works and doesn't prevent the programmer from shooting himself in the foot. Programmer is given full control (and therefore responsibility). There are things considered "tricky" which one must be aware of, such as undefined behavior of certain operators and raw pointers. This is what can discourage a lot of modern "coding monkeys" from choosing C, but it's also what inevitably allows such great performance -- undefined behavior allows the compiler to choose the most efficient implementation.
|
||||
|
||||
For more about C see:
|
||||
|
||||
- [C pitfalls](c_pitfalls.md)
|
||||
- TODO
|
||||
|
||||
## History and Context
|
||||
|
||||
## Standards
|
||||
|
@ -30,9 +25,9 @@ The standards of C99 and older are considered pretty [future-proof](future_proof
|
|||
|
||||
## Compilers
|
||||
|
||||
- gcc
|
||||
- clang
|
||||
- tcc
|
||||
- [gcc](gcc.md)
|
||||
- [clang](clang.md)
|
||||
- [tcc](tcc.md)
|
||||
- scc
|
||||
|
||||
## Standard Library
|
||||
|
@ -144,4 +139,10 @@ RETURN_TYPE myFunction (TYPE1 param1, TYPE2 param2, ...)
|
|||
// do something here
|
||||
}
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
## See Also
|
||||
|
||||
- [C pitfalls](c_pitfalls.md)
|
||||
- [C tutorial](c_tutorial.md)
|
||||
- [IOCCC](ioccc.md)
|
Loading…
Add table
Add a link
Reference in a new issue