Why Aren't There C Conferences?
Why Aren't There C Conferences?
November 21, 2018
nullprogram.com/blog/2018/11/21/
This article was discussed on Hacker News.
Most widely-used programming languages have at least one regular<br>conference dedicated to discussing it. Heck, even Lisp has<br>one. It’s a place to talk about the latest developments of the<br>language, recent and upcoming standards, and so on. However, C is a<br>notable exception. Despite its role as the foundation of the<br>entire software ecosystem, there aren’t any regular conferences about<br>C. I have a couple of theories about why.
First, C is so fundamental and ubiquitous that a conference about C<br>would be too general. There are so many different uses ranging across<br>embedded development, operating system kernels, systems programming,<br>application development, and, most recently, web development<br>(WebAssembly). It’s just not a cohesive enough topic. Any conference<br>that might be about C is instead focused on some particular subset of<br>its application. It’s not a C conference, it’s a database conference,<br>or an embedded conference, or a Linux conference, or a BSD conference,<br>etc.
Second, C has a tendency to be conservative, changing and growing very<br>slowly. This is a feature, and one that is often undervalued by<br>developers. (In fact, I’d personally like to see a future revision<br>that makes the C language specification smaller and simpler,<br>rather than accumulate more features.) The last major revision to C<br>happened in 1999 (C99). There was a minor revision in 2011 (C11), and<br>an even smaller revision in 2018 (C17). If there was a C conference,<br>recent changes to the language wouldn’t be a very fruitful topic.
However, the tooling has advanced significantly in recent years,<br>especially with the advent of LLVM and Clang. This is largely driven<br>by the C++ community, and C has significantly benefited as a side<br>effect due to its overlap. Those are topics worthy of conferences, but<br>these are really C++ conferences.
The closest thing we have to a C conference every year is CppCon. A<br>lot of CppCon isn’t really just about C++, and the subjects of many<br>of the talks are easily applied to C, since C++ builds so much upon C.<br>In a sense, a subset of CppCon could be considered a C conference .<br>That’s what I’m looking for when I watch the CppCon presentations each<br>year on YouTube.
Starting last year, I began a list of all the talks that I thought<br>would be useful to C programmers. Some are entirely relevant to C,<br>others just have significant portions that are relevant to C. When<br>someone asks about where they can find a C conference, I send them my<br>list.
I’m sharing them here so you can bookmark this page and never return<br>again.
2017
Here’s the list for CppCon 2017. These are roughly ordered from<br>highest to lowest recommendation:
Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler’s Lid”
Chandler Carruth “Going Nowhere Faster”
James McNellis “Everything You Ever Wanted to Know about DLLs”
John Regehr “Undefined Behavior in 2017 (part 1 of 2)”
John Regehr “Undefined Behavior in 2017 (part 2 of 2)”
Piotr Padlewski “Undefined Behaviour is awesome!”
Tobias Fuchs “Multidimensional Index Sets for Data Locality in HPC Applications”
John D. Woolverton “C Pointers”
Charles Bailey “Enough x86 Assembly to Be Dangerous”
Tony Van Eerd “An Interesting Lock-free Queue - Part 2 of N”
Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
Fedor Pikus “Read, Copy, Update, then what? RCU for non-kernel programmers”
Ansel Sermersheim “Multithreading is the answer. What is the question? (part 1 of 2)”
Ansel Sermersheim “Multithreading is the answer. What is the question? (part 2 of 2)”
Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”
Alfred Bratterud “Deconstructing the OS: The devil’s In the side effects” (counterpoint)
P. McKenney, M. Michael & M. Wong “Is Parallel Programming still hard? PART 1 of 2”
P. McKenney, M. Michael & M. Wong “Is Parallel Programming still hard? PART 2 of 2”
Adrien Devresse “Nix: A functional package manager for your C++ software stack”
Mathieu Ropert “API & ABI Versioning…”
Paul Blinzer “Heterogeneous System Architecture - Why Should You Care?”
Mathieu Ropert “Using Modern CMake Patterns to Enforce a Good Modular Design”
Allan Deutsch “Esoteric Data Structures and Where to Find Them”
D. Rodriguez-Losada Gonzalez “Faster Delivery of Large C/C++ Projects with…”
2018
The final CppCon 2018 videos were uploaded this week, so my 2018<br>listing can be complete:
Robert Schumacher “Don’t package your libraries, write packagable libraries!”
Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
Fedor Pikus “Design for Performance”
JF Bastien “Signed integers are two’s complement”
Alan Talbot “Moving Faster: Everyday efficiency in modern C++”
Geoffrey Romer “What do you mean “thread-safe”?”
Chandler Carruth “Spectre: Secrets, Side-Channels,...