This year has been rather stingy with conferences. Talking with my friend Luis, Lambda World’s chief organizer, I got the impression that conferences are in distress. There are many causes, but the effects are clear: fewer conferences, fewer chances to network, fewer opportunities to learn.
The Italian C++ community is decidedly the exception to this trend: you can reliably count on a monthly meet-up and a yearly conference. In lucky years, even two! On October 17, 2026, the 10th C++ Day was held in Pavia. And no, “Day” is not the Italian word for “day”, so the title may be a bit misleading, since this is an event organized by Italians for Italians. But let’s be frank: “Giorno C++” sounds awful.
The conference was held at SeaVision headquarters, conveniently located on the outskirts of Pavia. But let’s get on with the review.
Demographic
More than 150 C++ programmers (or, at least, C++-interested people) attended. Considering that it was a Saturday and the venue was not easy to reach, this number is a good measure of the event’s success, even allowing for the fact that, as the wonderful Marco Arena, the community manager, put it, we come mainly for the free food.
C++Day attracted people of all ages: elders like me, yelling at Claude and remembering the good old times when mice were just rodents, and youngsters from primary school (well, maybe a bit older than that) bringing their energy and prompts. Mostly men, with a growing presence of women, but still mostly men. It is sad to think how much we lose as an industry because of this imbalance. Perhaps we are still paying for the sexist ads of the 1980s that marketed computers to boys… More than 40 years have passed since then, and I can’t believe that programming appeals to only one gender. To be clear, this is no fault of the organizers, who made the space thoroughly inclusive.
Stands / Sponsors
There were no sponsor booths, but the conference was sponsored by SeaVision, ThinkCell, Sigeo, and Deep Vision Consulting. Huge kudos to them: thanks to their sponsorship, the event was free of charge. SeaVision provided the venue, so it was highly visible yet very discreet: one of their employees gave a talk that was absolutely technical, with zero marketing.
It is refreshing to see companies that not only pay for their employees to attend conferences, but also believe enough in this form of learning and networking to sponsor the conference itself.
Food & Location
The plains around Pavia are plagued by thick fog at this time of year, so thick that you need a sharp knife to cut through it. You could carve gummy blocks out of it. I had to tie a knife to the front of my car just to get there. Still, I must admit that the SeaVision area looks good, with plenty of parking spaces.
SeaVision headquarters is a modern building with a large, tree-lined courtyard. Reception was warm and efficient, with four registration lanes split by the initial of the attendee’s surname. Plenty of staff were on hand to help visitors find their way to the conference area: a bright, spacious hall with a huge screen, a raised stage, and plenty of comfortable chairs.
Thanks to the good weather (the fog lifted shortly after I arrived) and the still-mild temperature, coffee breaks and lunch were served in the courtyard, which was large enough for tables and chairs next to the buffets.
The coffee breaks and the lunch buffet were very rich, with plenty of sweet and savory treats. No hot food, but no one missed it. Plenty of non-alcoholic drinks too. Marco said that this terrible lack will be addressed next year. Personally, I don’t mind.
Just a word about the coffee, in case my friend Luis is reading: it was great, exactly what you would expect at a conference. Luis, if you want, the coffee crew is available on October 29 and 30.
Workshops
C++Day featured two workshops. Unfortunately, they ran in parallel with the talks. I would have liked to attend at least one, but I felt I would miss too much, so I opted for the talks. In hindsight, since the talks were recorded and the slides will be made available while the workshops were not, maybe it wasn’t the best choice.
The two workshops were:
- “Shape of Change – How to design C++ system ready to evolve” by Daniele Pallastrelli
- “Waiting for Reflection – Everything you wish you never knew about macros” by Davide Bianchi
Talks
All talks but one were in Italian. This is fine, and probably makes the conference friendlier and more accessible to Italian programmers. Most of us understand spoken English quite well, but it is still a barrier.
C++26 Execution Control: an introduction
by Alberto Barbati – Senior R&D Video game developer at Nacon Studio Milan
Alberto is an ex-colleague and a dear friend, and a frequent speaker at C++ meet-ups and C++ Days. His talk covered the new concurrency model adopted in C++26. He gave a high-quality presentation: funny and captivating, with just the right level of detail to make the material understandable and to entice attendees to do their own research.
A couple of words on the subject. Senders, receivers, and schedulers are, in the end, a sound and modern abstraction for parallel programming. I find the most interesting part to be the decoupling between the task and the execution engine. It lets you use the standard library on custom, niche, or special-purpose operating systems. It is just a pity that the standard keeps steering away from a general monad abstraction, which would help unify composition across many different concepts.
Interesting Allocators in Games
Sergei Kushnirenko – Senior Software Engineer
This was the only talk in English.
Sergei presented several special-purpose memory allocators. The idea is that when you need high performance, determinism, or both, the default C++ allocator is not good enough, because a general-purpose allocator must handle usage patterns that are unknown in advance. By exploiting what you know about your application’s allocation patterns, you can design extremely optimized custom allocators.
Some allocators were quite straightforward; others were a bit more convoluted. Perhaps covering fewer allocators, with a few worked examples, would have improved the presentation. By the way, I really liked the slide graphics: diagrams that looked hand-drawn on old paper.
From Legacy Code to a Library of Modern Algorithms: Refactoring of Hundreds of Image Processing Operations.
Roberta Cisotti – Software Developer
There are talks that present the latest standard features, like the first one; talks about advanced techniques, like the second; and talks about war stories, like this one.
Roberta presented a huge, three-year refactoring of a legacy system. She described the steps her team went through to modernize the code, remove dead or deprecated code, add tests, and measure the improvements.
An admirable endeavor and, as an attendee pointed out during the Q&A, a sign of enlightened management that put up the money to make it possible.
Zero Overhead Dispatch – Exploiting __musttail and Custom ABI in C++
Paolo Severini – Senior Software Engineer at Microsoft
When you work shoulder to shoulder with die-hard C programmers, it is not unusual to hear criticism that C++ is too high-level or incapable of very low-level optimization.
Paolo led us through a set of incremental optimizations for a WASM interpreter. When it comes to interpreters, there is not much you can do to improve performance short of changing their nature (a JIT is no longer an interpreter). So the optimizations focus on the fetch-decode-execute loop. The techniques presented are centered on the __musttail attribute, which forces the compiler to emit a call as a guaranteed tail call or fail the compilation. By eliminating stack-frame setup and teardown, Paolo was able to squeeze every last bit of performance out of his interpreter.
No Cost GIS – Binary Format Parsing in C++23
Giorgio Bignotti – CS Student at University of Trento
Suppose you have a huge binary blob containing a very long array of floats or doubles, and you want to access any of them lazily. You face two problems: first, the numbers may be encoded with an endianness different from the native endianness of your processor; second, the data may not be properly aligned.
Giorgio presented a technique to create a view that materializes each float or double, ready for processing, directly from the blob.
During this talk I discovered that standard C++ provides a function named std::byteswap that swaps the endianness of its argument. Surprisingly, though, it is callable only on integral types. My granny would have said, “a job half done is a job badly done.” Also, C++ provides byteswap and the std::endian enumeration, but not the obviously needed functions to convert between little/big endian and native order.
Old-School C++ for the Agentic Age: Lessons from Sane C++ Libraries
Stefano Cristiano – Principal Research Scientist at NVIDIA
slides: https://pagghiu.github.io/SaneCppLibraries/talks/pavia-2026/?lang=en
This presentation was a mix of a library tour and a description of an AI workflow. Stefano talked about his library, SANE C++ (not to be confused with the SANE scanner-access API and its wrapping libraries). SANE C++ is a general-purpose, highly opinionated C++ library that abstracts the host operating system. In some areas it duplicates standard library features; in others it fills gaps.
The library follows guiding principles applied consistently throughout: no public header depends on the standard library; dependencies are kept to a minimum, at the cost of some code duplication; and exceptions are not used. Stefano showed how he handed development over to AI through skills and a defined process. Interestingly, the library itself ships with LLM skills.
Maybe you will never use this library; nonetheless, the talk was full of inspiration and offered a glimpse of things to come.
Personal Thoughts
C++Day was a really pleasant day, filled with energy and good vibes. All the talks were of high quality and worth attending. I noted several topics I’d like to explore in more depth in the near future.
Our industry is indeed shifting: it is clear what is behind us, but not so clear what is in front of us. The machines we invented and perfected in the course of our work are now eroding our profession. Three years ago you could laugh at ChatGPT’s inconsistencies and hallucinations; today you cannot help being surprised by how effective LLMs are at writing and reviewing code. Writing code, the activity we enjoy and take pride in, is likely to go the way of the dodo, alongside other arts and crafts like vacuum-tube manufacturing or punch-card operation.
This is the mood you breathe at every programming event, and C++Day was no exception. Everyone hopes that programming conferences will still be a thing next year.
Finally, huge kudos to the organizers, who worked hard to make this day a success. Everything went smoothly, and this is one of those cases where everyone notices when you get it wrong, but you fade into the background when you get it right.