Three Years with Abstractionless C
The article discusses the author's experience with developing a programming approach called Abstractionless C over three years. This approach emerged from frustrations with C++ and aims to simplify systems programming by avoiding complex abstractions. The author emphasizes the importance of practical solutions and efficient memory management in their design choices.
- ▪The author transitioned to C due to issues with the Go runtime and a desire for simpler programming constructs.
- ▪Abstractionless C focuses on providing essential features like generics and slices while minimizing the use of pointers and dynamic memory allocation.
- ▪The design philosophy prioritizes clear bit and byte-level understanding, avoiding unnecessary abstractions that complicate programming.
Opening excerpt (first ~120 words) tap to expand
replicated.wiki Three years with Abstractionless C Recently, “to C or not to C” became a topic on HN, which is a nice excuse to spend couple hours on ABC retrospective. The decision to work in C was rather natural: the author is a C/Go, not C++/Rust kind of person, so once Go runtime became a problem, C was the most straightforward answer. The dirty secret of both C++ and C is that these two are like IKEA or LEGO languages. Languages to create other languages. For example, virtually any serious C++ user has some sort of alternative standard library (Abseil, QT, there are many). You don’t use C or C++ as-is, normally. C standard library is small by design, so that is inevitable for most use cases.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Replicated.