C and C++
- C and C++Article
Curated index of modern C++ articles on Modernes C++ blog
A table of contents page for the Modernes C++ blog, collecting its articles on modern C++ topics. The author of the post recommends saving it as a structured collection of C++ articles.
A structured index of modern C++ articles gives engineers a single place to find topic-by-topic reading.
- C and C++Post10 days ago @Arikalabs
Using alarm(3) to stop a stuck C program on Linux
The post explains that calling alarm(3) makes the kernel send SIGALRM after about three seconds. If the signal's default action is unchanged, the process terminates, with no polling loop or watchdog thread needed.
A one-call timeout mechanism for runaway loops, useful for tools and tests, but it relies on signal handling and default behavior.
Defaulted C++ constructors may hurt GCC compile performance
A post by Daniel Lemire asks whether C++ constructors should be defined with = default, claiming this can have notable negative performance effects with recent GCC versions. It points to his articles for details.
Choosing = default versus explicit constructor bodies may affect compile times or generated code, so it is worth verifying with your GCC version.
- C and C++Article
An Introduction to Lockless Algorithms
Paolo Bonzini introduces lockless algorithms and their relevance to the Linux kernel, where traditional locking primitives have limitations.
Useful background for engineers working on concurrency and Linux kernel code.
- C and C++Article
Rob Pike's Notes on Programming in C
A saved post shares Rob Pike's essay Notes on Programming in C, a set of style and design rules for writing C programs. The linked page is the primary source.
Pike's classic guidance on simplicity and clarity in C is still a useful reference for code reviews and style.
- C and C++Article
Static Allocation for Compilers by Alex Kladov
A post by Alex Kladov explaining static allocation as used in TigerBeetle: all memory is allocated at startup with no later deallocation, not fixed-size static arrays. The author applies this idea to compilers.
It offers a concrete allocation strategy for building fast, predictable compilers and long-running C/C++ systems.
- C and C++Article
A primer on concurrency for systems programmers
Matt Kline's article on Bit Bashing, shared as a guide to concurrency for systems programmers. The page preview shows only the title and the blog's general description.
Concurrency fundamentals matter for writing correct, performant C and C++ systems code.
- C and C++Article
The TTY demystified: how Unix terminals work
A long-form article by Linus Åkesson explaining the Linux/Unix TTY subsystem, the layer between terminal devices and programs. Shared as a saved link with no additional commentary.
Useful background for engineers debugging terminal I/O, line discipline, or pseudo-terminal behavior in C programs.
- C and C++Article
Chris Lattner on undefined behavior in C, part 1 of 3
A 2011 LLVM blog post explaining undefined behavior in C, prompted by SIGTRAP signals from Clang-optimized code. The post is the first of a three-part series.
Explains how compiler optimizations exploit undefined behavior, which matters for writing correct and safe C and C++.
- C and C++Article
Review of the C standard library in practice by Chris Wellons
A blog post by Chris Wellons reviewing the C standard library based on his practical experience using it. The post is linked from a social media share with no additional commentary.
Offers a practitioner's view on which C standard library parts are useful or problematic in real projects.
- C and C++Article
Writing a Linux Debugger, Part 1: Setup by Sy Brand
Part 1 of a blog series by Sy Brand on writing a Linux debugger, starting with project setup. The linked page describes the start of that journey.
Shows how a C++ debugger is built on Linux, useful for understanding process control and debugging internals.
- C and C++Paper
Agner Fog's guide to optimizing subroutines in assembly language
Shared post linking to Agner Fog's PDF guide on optimizing subroutines in assembly language. The preview contains no further page details.
Low-level optimization techniques from a well-known performance author are useful when tuning hot C and C++ code paths.
- C and C++Article
How to execute an object file: Part 1 (Cloudflare Blog)
Ignat Korchagin's Cloudflare Blog post explores executing an object file without linking, and using an object file as a library by decomposing it and importing code from it.
Explains object file internals and linking, useful for understanding how compiled C and C++ code is structured and loaded.
- C and C++Post14 days ago @Arikalabs
Simon Tatham's coroutine trick in standard C
Simon Tatham, creator of PuTTY, describes faking coroutines in standard C using a switch/case technique behind Duff's Device combined with __LINE__. The post says PuTTY still uses versions of it in SSH protocol code.
A portable, macro-based way to write resumable functions in C without threads or assembly.
- C and C++Article
Faster signed 64-bit floor division by constants
A Ben Joffe article describing a faster method for computing signed 64-bit floor division when the divisor is a constant. The page describes itself as the missing chapter of Hacker's Delight.
Relevant to C and C++ compilers and performance-sensitive code that divides by constants.
- C and C++Post15 days ago @abdimoalim_
Rob Pike on the byte order fallacy and C
A quoted passage from Rob Pike's essay on the byte order fallacy argues that C makes byte-order problems easy to create, while type-safe languages make byte-order-dependent code harder to write.
It gives a concrete view on why byte-order bugs arise in C and how language design affects them.
- C and C++Article
The byte order fallacy, by Rob Pike
Rob Pike's post argues that code asking for the native byte order is usually wrong or misguided. It recommends handling byte order explicitly instead.
Explains why hardcoding endianness assumptions in C and C++ serialization code tends to cause portability bugs.
- C and C++Article
Why C++ and Rust grew fastest among major languages, per Herb Sutter
Herb Sutter's post analyzes why C++ and Rust were the fastest-growing major programming languages from 2022 to 2025, citing power consumption and C++26 parallelism features such as SIMD types and std::execution.
It gives data-backed context on C++ adoption trends and the C++26 hardware-parallelism roadmap.
- C and C++Article
Understanding the fast inverse square root by Joe Groff
An article by Joe Groff explaining the famous fast inverse square root code associated with John Carmack, though not invented by him. It covers how the math function works.
A classic low-level floating-point trick that shows how bit-level tricks and numerical approximation work in C.
- C and C++Paper
What Every Programmer Should Know About Memory (Ulrich Drepper)
A widely shared PDF by Ulrich Drepper explaining how computer memory works, including RAM, caches, and how software can use them effectively. It is hosted on FreeBSD's people site.
Covers memory hierarchy and cache behavior, which directly affect C and C++ performance tuning.



