News

C++ is awesome, here's why...--Vinit Jogani

What do you think?

C++ is awesome, here's why...

by Vinit Jogani

From the article:

C++ is, hands down, one of the most misunderstood languages in software developer pop culture today. People often compare it to C because it is a "low-level" language. Consequently, it has received a reputation of being an esoteric language that only the performance paranoid care about. This is far from true. I have been programming in C++ as my primary language for a while now and the developer experience is actually really good -- much better than I had imagined it would be.

In this article, I want to debunk some common myths about C++ that I heard before I started using it. Then, I want to talk about the actual superpowers that C++ provides you that most other languages do not...

Four more days for CppCon Early Bird discount -- EB ends July 31

cppcon-004.pngIf you've been thinking about registering for CppCon 2021 in person or online, this week is a great time -- you have a few days left to get the Early Bird discount!

Early Bird Deadline is This Week

by Jon Kalb

The article:

If you’ve been thinking about registering for CppCon 2021 onsite or online, now is the time — EarlyBird discount ends this week!

Because of the health and travel situation, we know that many who want to attend onsite don’t know for certain yet if they can make it onsite. Here are some things to help ease your mind about registering:

  • Any Online Early Bird registration can be upgraded later (even after the Early Bird deadline) to an Early Bird rate onsite registration. So if you get an Online Early Bird registration now, you will lock in the Early Bird rate if you later convert it to any of our onsite registration options.
  • Any onsite registration can be converted to an online registration with full refund of the difference in rate, no questions asked.
  • Any registration can be cancelled for a full refund with no questions asked until the day before the conference (October 23rd). So if you plan to attend onsite and get an Early Bird onsite registration now, you can get your money back in full if it turns out international travel restrictions or any other issues get in the way.
  • The Gaylord Rockies‘ refund policy for hotel room reservations is a complete refund with notice that is three working days prior to arrival date.

These registration/refund policies and the low price on Online Early Bird registration make that a no-brainer. Online registration gives you exclusive early access to all the videos that we’ll be adding to the CppCon YouTube channel, but it is easy to justify the cost of Online Early Bird registration even if you are only able to spend one day (or even just a couple of evenings) watching sessions and engaging online with CppCon attendees in our awesome virtual venue. Early access to session videos is just an amazing bonus.

Don’t let COVID deprive you of the opportunity to engage with the C++ community in 2021!

In any case, you can register now to lock in the Early Bird rate. We look forward to seeing many of you in person or online at CppCon 2021 for what will surely be one of the most memorable CppCons ever.

CppCon 2020 Practical Memory Pool Based Allocators For Modern C++--Misha Shalem

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from our most recent in-person conference in 2019 and our online conference in 2020. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2021 to attend in person, online, or both!

Practical Memory Pool Based Allocators For Modern C++

by Misha Shalem

Summary of the talk:

Runtime-deterministic memory allocations are a crucial aspect of any safety-critical real-time system. One of the simplest and widely adopted allocation mechanisms used in such systems is a memory pool with fixed block sizes. Unfortunately, the need to know the exact sizes of the memory blocks makes any practical usage of memory pools with standard C++ allocator-based approach rather problematic since users often “hide” real properties of allocations which are made under the hood. For example: STL’s node-based containers like 'std::map' as well as other standard mechanisms like 'std::promise' or 'std::allocate_shared'.

Being a company which focuses on real-time safety-critical applications, we still see a significant value in keeping compatibility with the standard allocator model as well as in following common conventions which are familiar to every C++ developer.

This talk presents an approach which uses a combination of a memory allocator implementation which instruments the code, and an external LLVM-based tool which extracts the instrumentation information and generates static memory pool definitions, allowing the allocator to switch from the heap to a memory pool without any further changes to the code. The presentation will walk through a simplest possible implementation of this approach.

Migrating VAST to C++20 - A Field Report--Benno Evers

Does it help you?

Migrating VAST to C++20 - A Field Report

by Benno Evers

From the article:

Recently, the VAST developers had a reason to celebrate. No, not the latest release—finally all our supported platforms have a working C++20 compiler available. Given that VAST is still comparatively moderate in size at around 70,000 lines of code and already uses C++17 extensively, we did not expect too much hassle. So we seized the chance, rolled up our sleeves and started converting.

The process was indeed mostly painless, but some errors still had us stumped for a while. Below we describe our experiences, in the hopes that they might be useful to others who attempt the same.

Software Architecture with C++, Book Review--Bartlomiej Filipek

Will you read it?

Software Architecture with C++, Book Review

by Bartlomiej Filipek

From the article:

In April, we got a new book - from two Polish authors - Piotr and Adrian - on C++ Software Architecture. This one is fascinating and refreshing. While it won’t teach you all the latest C++ features or low-level tricks in our favorite language, it will move you to a higher level with architecture, building, patterns, design, and development for the cloud.

Let’s see what’s inside.

CppCon 2019 How to Herd 1,000 Libraries--Robert Schumacher

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from our most recent in-person conference in 2019 and our online conference in 2020. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2021 to attend in person, online, or both!

How to Herd 1,000 Libraries

by Robert Schumacher

Summary of the talk:

In the current C++ world, it is a struggle to convince even a single external library to build and behave. Adding a third and fourth dependency causes quadratic grief as each library interacts with each other and One Definition Rule violations lurk around every corner.

How, then, is it possible to manage over 1,000?

In this talk, we'll talk about the techniques, shims, and hacks used in the Vcpkg package manager to persuade, connive, and coerce all these independent moving parts into a single robust ecosystem. We'll sample the myriad approaches used by real-world libraries to declare dependence and walk through how they can be guided to do the right thing at the end of the day.

Private package management systems still thrive in corporations and these approaches can provide method to the madness of consuming open source.

CopperSpice: Variable Templates

New video on the CopperSpice YouTube Channel:

Variable Templates

by Barbara Geller and Ansel Sermersheim

About the video:

We found a great place to use a variable template that is not simply the math constant PI. In this video, we showcase roughly 15 lines of code that uses method pointers, template argument deduction, overload resolution, parameter packs, function objects, and a variable template. This video answers the question "so, what are variable templates good for?"

Please take a look and remember to subscribe!

C++ Trainings aligned with Meeting C++ 2021

These trainings will go along with a talk at Meeting C++ 2021:

C++ Trainings at Meeting C++ 2021

by Jens Weller

From the article:

Today I can give you a first overview on the planned trainings that accompany Meeting C++ 2021. All trainings are held online, the date is chosen by the trainers.

This years Meeting C++ conference focuses on learning and giving you the best experience online. Meeting C++ has chosen some of the best trainers to give you an opportunity to learn even more about C++ in 2021. Rainer Grimm, Patricia Aas and Slobodan Dmitrovic are the trainers for the first 3 fantastic courses.