# C

C is a programming language designed for Unix. Built to be coupled to the system, its design is simple and beautiful - though this comes at some costs.

C couldn't have foreseen programming languages that would be able to operate on multiple systems - so the language is tightly coupled. They didn't have real experience developing software with large teams at scale, when communication becomes a bottleneck and you want the code to communicate as much as possible about what tools it makes available to you. 

In other words - C was built for individual hackers to make it as convenient as possible to build beautiful, fast systems on single personal computers.

- [ANSI C/C – Network Encyclopedia](https://networkencyclopedia.com/ansi-c-c/)

# C Style

[Notes On Programming In C](https://aiju.de/misc/c-style) [C code
(violence) \| The only good system is a sound system](https://ftrv.se/3)
[links to the C
standards](https://stackoverflow.com/questions/17014835/where-can-one-find-the-c89-c90-standards-in-pdf-format#17015061)
[The Ten Commandments for C Programmers (Annotated
Edition)](https://www.lysator.liu.se/c/ten-commandments.html)

# Making C

[TCC : Tiny C Compiler](https://bellard.org/tcc/)

# Helpers
- [The lost art of structure packing](http://www.catb.org/esr/structure-packing/)
- [Spinlock vs mutext?](https://stackoverflow.com/questions/5869825/when-should-one-use-a-spinlock-instead-of-mutex#5870415)