This commit is contained in:
Miloslav Ciz 2022-04-03 21:51:11 +02:00
parent 56f93e1f56
commit 24e10f31df
2 changed files with 179 additions and 2 deletions

2
c.md
View file

@ -1,5 +1,7 @@
# C
{ 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 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.