Skip to content
0:00 / 0:00

#modernc#data-orienteddesign#memorymanagement

Modern C and What We Can Learn From It - Luca Sas [ ACCU 2021 ]

ACCU Conference

20K subscribers • 32 videos on Hallway • Conference channel

YouTube
  • Recommended by 7 people: 3 on Hacker News, 1 on Lobsters and 3 in engineering communities.
  • Presented by Luca Sas, software engineer

Intermediate. Assumes working knowledge.

130K views5 years ago7 recommendations

Programming languagesSystems programmingCC++Performance and optimization

Luca Sas explores modern C programming patterns, including data-oriented design, centralized memory management, and zero-is-initialization.

#Programming #Cpp #AccuConf Slides: accu.org/conf-previous/2021/schedule/ ACCU Website: accu.org ACCU Conference Website: conference.accu.org ACCU Twitter: @ACCUConf Streamed & Edited By Digital Medium Ltd: events.digital-medium.co.uk ------ C is often perceived as an antiquated language that is mostly used for legacy purposes, but many people still prefer coding in C or in a subset of C++ that is very close to C. This is sometimes labeled "Modern C" and the ideas behind it are becoming more popular alongside other paradigms such as Data Oriented Design (DOD), Zero Is Initialization (ZII) and Centralized Memory Management (CMM). In fact, many new systems programming languages, such as Rust, Go and Zig, also embody a lot of similar ideas as Modern C showcasing a high degree of interest in these paradigms. In this talk we will explore how programming looks like with this different approach to C and how it addresses matters such as API design, error handling and resource management as well as what are the benefits and costs of these techniques. By the end we will gain a better understanding of how these ideas can help improve the quality of our code, what new languages have adopted similar concepts and to what extent, and what lessons we can learn from this in order to improve our own existing codebases and styles of coding. ------ Luca Sas Luca Sas is a Core Systems Engineer at Creative Assembly who has been coding for almost a decade and is passionate about system architecture and low level programming. Some of his previous work includes mobile apps with some of the biggest NGOs in Romania and video game development. In Romania he was a national champion at programming contests and olympiads where he is now a judge. He enjoys attending conferences and talking to developers about their experience and learning about ways to improve software design as well as mentoring new programmers and giving talks. Previously he gave talks at programming events in Romania and the University of Leeds, and ACCU 2019. ------ Future Conferences: ACCU 2022 Spring Conference, Bristol (UK), Marriott City Centre: 2022-04-05 to 2022-04-09. -------------------------

Why it's here

7 people recommend this

What people say. Recommended as an excellent overview of modern patterns and techniques for writing clean, robust C code.

u/camel-cdrin r/C_Programming • Recommends

"Modern C and What We Can Learn From It - Luca Sas ACCU 2021" (Finally a conference talk mentions stb style libraries and compound literals)

u/slacka123in r/C_Programming • Recommends

Modern C and What We Can Learn From It - Luca Sas ACCU 2021

AlbertoGPon Hacker News • Recommends

On “Show HN: C programming language extension: Cedro pre-processor”

Yes, that’s a very clean and robust approach. In the “Deferred resource release → Related work” section, one of the links is to a video from the ACCU 2021 conference by Luca Sas titled “Modern C and What We Can Learn From It” that explains modern C techniques, and your one is mentioned at 23′15″: link to this video If you haven’t watched it, I can recommend it.

belteron Hacker News • Recommends

On “Why aren't there C conferences? (2018)”

"Modern C and What We Can Learn From It - Luca Sas ACCU 2021" - link to this video "Linux User/Kernel ABI: the realities of how C and C++ programs really talk to the OS - Greg Law" - link

thomon Hacker News • Recommends

On “Ask HN: Learn C in 2023?”

Modern C by Jens Gustedt is quite good. This video gives a good overview of some modern patterns in C: link to this video I think the best thing you can do is go find a unit testing library you like the look of, maybe some tools for address/leak sanitization, and spend a good amount of time learning CMake and creating a build/project workflow you're happy with. Coming from Rust you've got great tooling and good guardrails in place to keep you on the happy path, I think getting into that groove early in C where you can run experiments and break things in a sane environment is important.

twodayslateon Lobsters • Recommends

Modern C and What We Can Learn From It

u/Kayjukhin r/C_Programming • Recommends

Modern C and What We Can Learn From It - Luca Sas ACCU 2021

u/one_bit_devin r/C_Programming • Mentions

Modern C What are the best resources to learn modern C that you know?, things like new C11 or C2X new features. books, blogs and videos are welcomed. I can share this talk that I like it a lot: Modern C and What We Can Learn From It - Luca Sas \[ ACCU 2021 \ - YouTube](link to this video

u/one_bit_devin r/C_Programming • Mentions

On “Learn C as a High-level programmer?”

I'd recommend this talk: Modern C Talk , also I'd recommend books like **Effective C An Introduction to Professional C Programming by Robert C. Seacord** and **Modern C.** And I know learning the basics again and again might be tedious but as others recommended don't skip those chapters. When we assume we've learned everything about a topic we stop learning, there is always nuances to learn.

u/irqlnotdispatchlevelin r/C_Programming • Mentions

On “Good talks on C?”

Modern C and what you can learn from it: link to this video

u/imperium-slayerin r/C_Programming • Mentions

On “Share your thoughts on Modern C Philosophy of minimizing pointer use”

Here's the link to this video. You can find the topic being discussed at 20:20 mark. Although I would suggest going through the whole talk.

u/Hairy-Raspberry-7069in r/C_Programming • Mentions

On “Book recommendations for learning C really thoroughly”

I can't recommend a book but I can show you what I used to learn C. https://en.cppreference.com/w/c This is the C reference of the cpp referenece site which goes into all the requirement to write a valid c program. [video I would then add this video that I saw recently which showed some of the more comfortable features of C that you didn't know exist as well as syntactic sugar. Here some additional videos that I am still watching but seem pretty interesting. [video [video For some study of macros, I would look at https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms https://stackoverflow.com/questions/66556552/a-way-to-count-the-number-of-va-a…

u/rickpoin r/C_Programming • Mentions

On “Share your thoughts on Modern C Philosophy of minimizing pointer use”

There are a lot of really interesting ideas in the video and I think it's well worth watching. For many of these ideas, I think I'd want to design applications/libraries from the ground-up using them. Things like getting rid of zero-terminated strings and propagating error values and defer and temporary allocators can be pretty fundamental to the structure of a project, and I don't think I'd like to shoe-horn them into an existing large codebase. I'm not sure I'd describe all this stuff as "getting rid of pointers". It seems more like taking advantage of the efficiency of passing around small structs by value to simplify APIs. Lots of good ideas and interesting enough to experiment wit…

u/operamintin r/C_Programming • Mentions

On “Good talks on C?”

Modern C and What We Can Learn From It - Luca Sas \[ ACCU 2021 \](link to this video CONF@42 - Advanced Tips and Tricks in C (english presentation, french audio)