News

CppCon 2022 How C++23 Changes the Way We Write Code -- Timur Doumler

Cpp22-Doumler.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

How C++23 Changes the Way We Write Code

by Timur Doumler

Summary of the talk:

C++20 was a huge release: coroutines, concepts, ranges, and modules profoundly changed the way we write code and think about C++. In comparison, C++23 is a lot smaller in scope: its primary mission is to complete C++20, to fill holes, and to fix issues. Nevertheless, some great new features made the cut this time around, both in the standard library and in the core language. This is even more remarkable considering that the entire feature design phase of C++23 took place during the COVID-19 pandemic, challenging the ISO C++ committee to completely reinvent how we work together.

This is not a firehose talk about C++23 that tries to cram as many additions and improvements as possible into one hour. Instead, we deliberately focus on just a handful of new features that are going to noticeably change and improve the experience of the everyday C++ programmer. We will talk about how `std::expected` improves error handling, the huge impact that `std::mdspan` will have on scientific computing, how deducing `this` greatly simplifies longstanding C++ idioms such as CRTP, and how `std::print` will forever change how we write "Hello, World".

ISO C++ Feb 2023 meeting trip report (core language) -- Jason Merrill

The C++ committee had its second hybrid meeting in Issaquah, WA in February, to finalize C++23. This was also the venue where we finished up C++14.

ISO C++ Feb 2023 meeting trip report (core language)

by Jason Merrill

From the article:

The C++ committee had its second hybrid meeting in Issaquah, WA in February, to finalize C++23.  This was also the venue where we finished up C++14.  I was there in person from Red Hat, while Thomas Rodgers and Jonathan Wakely attended virtually.  As usual, I spent most of my time in the Core working group.

The primary goal of the meeting was to finish responding to national body comments on the draft and advance the result for balloting to become C++23, and indeed we did; the week went smoothly from my perspective.  We also spent a fair amount of time reviewing papers and issues that were not expected to go into C++23.

Most of the C++23 fixes at this meeting were unremarkable, but a couple are worth mentioning:

CWG2518 clarifies that...

Functional Programming in C++ -- John Carmack

A classic, over a decade old and worth making the rounds again:

Functional Programming in C++

by John Carmack

From the article:

My pragmatic summary: A large fraction of the flaws in software development are due to programmers not fully understanding all the possible states their code may execute in. ... No matter what language you work in, programming in a functional style provides benefits.  You should do it whenever it is convenient, and you should think hard about the decision when it isn’t convenient.

... C++ doesn’t encourage functional programming, but it doesn’t prevent you from doing it, and you retain the power to drop down and apply SIMD intrinsics to hand laid out data backed by memory mapped files, or whatever other nitty-gritty goodness you find the need for. ... 

GCC 13.1 Released

The GCC developers are proud to announce a new major GCC release, 13.1.

GCC 13.1 Released

by Richard Biener

From the announcement:

The C frontend got support for several C23 features, the C++ frontend for C++23 features.  The C++ standard library experimental support for C++20 and C++23 was enhanced.  For the C family of languages you can now use -fstrict-flex-arrays[=level] to control the behavior for the various legacy forms of specifying flexible array members.

CopperSpice: Docker for Developers

New video on the CopperSpice YouTube Channel:

Docker for Developers

by Barbara Geller and Ansel Sermersheim

About the video:

Docker is a container, but what does it actually store? Our new video explains how Docker is beneficial to the development process and not simply a deployment tool. We also discuss the differences between Docker and a VM.

Please take a look and remember to subscribe.

What Is the C++ Small String Optimization (SSO)? -- Giovanni Dicanio

What is the Small String Optimization (SSO)?

Let's discover that in the following blog post:

The C++ Small String Optimization

by Giovanni Dicanio

From the article:

How do “Connie” and “meow” differ from “The Commodore 64 is a great computer”?

In several implementations, [...], the STL string classes are empowered by an interesting optimization: The Small String Optimization (SSO).

Italian C++ Conference 2023

A full day of C++ in Rome (Italy) on June 10:

Italian C++ Conference 2023

 

An event organized by the Italian C++ Community.

Sponsors: AIV, Luxoft, KDAB, ZURU, think-cell, Qubica AMF.

 

International attendees are welcome: talks are all in English.

 

In a nutshell

The Italian C++ Conference is the greatest international conference about C++ hosted in Italy. Organized by the Italian C++ Community, the conference is not-for-profit and this year (7th edition) takes place in Rome, hosted at Università degli Studi Roma Tre. The purpose of this one-day event is to bring together the C++ software developer community in Italy and to promote the understanding and use of modern C++ standards, and best practices, constantly evolving.

Also...The Italian C++ Community celebrates its 10th anniversary this year and we are going to celebrate somehow...NO SPOILER!

 

Who should attend the Italian C++ Conference 2023?

This event is made by passionate C++ professionals for C++ professionals, students and enthusiasts.

 

What can I find at the Italian C++ Conference 2023?

  • Talks10x50-min and 2x30-min tech talks.
  • Networking
  • Sponsors: some are hiring and will be there!
  • Food: 2 coffee breaks and one lunch included
  • Italian C++ Community's 10th anniversary celebration

You can refer to the detailed program for more information.

 

When does the Italian C++ Conference 2023 take place?

The event will be held on June 10, 2023 at Università degli Studi Roma Tre, in Rome.

Check-in at 8.45 AM. The event starts at 9.15 AM and will last for a full day.

 

Who supports this event?

Sponsors: AIV, Luxoft, KDAB, ZURU, think-cell, Qubica AMF.
 

Do I need to register?

The Italian C++ Conference 2023 is free, but you must register to facilitate the organization of the event. You can register here.

Model-View-Controller -- Rainer Grimm

The Model-View-Controller (MVC) is one of the classic architectural patterns from the book "Pattern-Oriented Software Architecture, Volume 1". It addresses interactive applications with a  flexible human-machine interface.

Model-View-Controller

by Rainer Grimm

From the article:

The MVC divides the program logic of a user interface into separate components model, view, and controller. The model manages the data and rules of the application. The view represents the data, and the controller interacts with the user.

Purpose

  • User interfaces need to be changed frequently
  • Different user interfaces must be supported
  • The data model is stable

Solution

  • The application is divided into the components Model (data model), View (output components), and Controller (input components)
  • Multiple output components can use the same data model