---
title: "C"
source: https://www.jemoka.com/posts/kbhc/
---

C was created around 1970s to make Unix tool writing easier. It was meant to the be the simplest, lightest, human readable code on top of assembly.
C is procedural: you write functions and compose them, instead of defining types C++ is procedural (mostly), but you can have objects: you still write functions, and can build objects and call methods Java is actual oop We use C because its fast, highly efficient. C is popular for systems programming, OSes, networking, etc. Lets you work at a lower level to understand/manipulate the underlying systems.
principles of C small, simple abstractions minimalist aesthetic efficiency and simplicity over safety and high-level abstractions C limitations no advanced features operator overloading default arguments pass by reference classes, objects abstract data types no extensive libs no networking no graphics no safety (&ldquo;people who write C think they don&rsquo;t make mistakes&rdquo;) weak compiler no runtime checks at all
