nullprogram.com/blog/2018/11/21/
This article was discussed on Hacker News.
Most widely-used programming languages have at least one regular
conference dedicated to discussing it. Heck, even Lisp has
one. It’s a place to talk about the latest developments of the
language, recent and upcoming standards, and so on. However, C is a
notable exception. Despite its role as the foundation of the
entire software ecosystem, there aren’t any regular conferences about
C. I have a couple of theories about why.
First, C is so fundamental and ubiquitous that a conference about C
would be too general. There are so many different uses ranging across
embedded development, operating system kernels, systems programming,
application development, and, most recently, web development
(WebAssembly). It’s just not a cohesive enough topic. Any conference
that might be about C is instead focused on some particular subset of
its application. It’s not a C conference, it’s a database conference,
or an embedded conference, or a Linux conference, or a BSD conference,
etc.
Second, C has a tendency to be conservative, changing and growing very
slowly. This is a feature, and one that is often undervalued by
developers. (In fact, I’d personally like to see a future revision
that makes the C language specification smaller and simpler,
rather than accumulate more features.) The last major revision to C
happened in 1999 (C99). There was a minor revision in 2011 (C11), and
an even smaller revision in 2018 (C17). If there was a C conference,
recent changes to the language wouldn’t be a very fruitful topic.
However, the tooling has advanced significantly in recent years,
especially with the advent of LLVM and Clang. This is largely driven
by the C++ community, and C has significantly benefited as a side
effect due to its overlap. Those are topics worthy of conferences, but
these are really C++ conferences.
The closest thing we have to a C conference every year is CppCon. A
lot of CppCon isn’t really just about C++, and the subjects of many
of the talks are easily applied to C, since C++ builds so much upon C.
In a sense, a subset of CppCon could be considered a C conference.
That’s what I’m looking for when I watch the CppCon presentations each
year on YouTube.
Starting last year, I began a list of all the talks that I thought
would be useful to C programmers. Some are entirely relevant to C,
others just have significant portions that are relevant to C. When
someone asks about where they can find a C conference, I send them my
list.
I’m sharing them here so you can bookmark this page and never return
again.
2017
Here’s the list for CppCon 2017. These are roughly ordered from
highest to lowest recommendation:
2018
The final CppCon 2018 videos were uploaded this week, so my 2018
listing can be complete:
There were three talks strictly about C++ that I thought were
interesting from a language design perspective. So I think they’re
worth recommending, too. (In fact, they’re a sort of ammo against
using C++ due to its insane complexity.)
2019
Only three this year. The last is about C++, but I thought it was
interesting.
2020
Four more worthwhile talks in 2020. The first is about the C++ abstract
machine, but is nearly identical to the C abstract machine. The second is
a proverbial warning about builds. The rest are about performance, and
while the context is C++ the concepts are entirely applicable to C.
2021 and 2022
CppCon’s current sponsor interferes with scheduling and video releases,
deliberately reducing accessibility to the outside (unlisted videos,
uploading talks multiple times, etc.). Since it’s too time consuming to
track it all myself, I’ve given up on following CppCon, at least until
they get better-behaved sponsor.
Bonus
Finally, here are a few more good presentations from other C++
conferences which you can just pretend are about C: