June 2018

Overload 145 is now available

ACCU’s Overload journal of June 2018 is out. It contains the following C++ related articles.

Overload 145 is now available

From the journal:

Automate all the things
Automation can speed things up. Frances Buontempo considers how it can make things worse. by Frances Buontempo

How to Write a Programming Language: Part 1, The Lexer
Writing a programming language might sound very difficult. Andy Balaam starts his series with a lexer. by Andy Balaam

Type-agnostic Tracing Using {fmt}
Tracing compound and custom types is a challenge. Mike Crowe demonstrates how {fmt} provides a safe alternative to printf. by Mike Crowe

A Short Overview of Object Oriented Software Design
Object oriented design has many principles. Stanislav Kozlovski demonstrates good design through a role playing game. by Stanislav Kozlovski

IO2D demo: Maps--Michael Kazakov

Rendering maps.

IO2D demo: Maps

by Michael Kazakov

From the article:

This blog post describes another IO2D demo I wrote as a showcase of the library’s capabilities. The demo is a simple yet working GIS renderer. The OpenStreetMap service is used as a raw data provider, allowing for the visualization of any reasonably sized rectangular region. The demo supports querying OSM servers directly or loading existing data files. The entire source code of the sample is less than 800 lines of code, of which 250 lines deal with the rendering itself and another 360 lines handle the data model.

CppCon 2017: ThinLTO: Scalable and Incremental Link-Time Optimization--Teresa Johnson

Have you registered for CppCon 2018 in September? Early bird registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:

ThinLTO: Scalable and Incremental Link-Time Optimization

by Teresa Johnson

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Whole program optimization enables higher performance in C++ applications, because of the expanded scope for analysis and optimization. However, the memory and time required to optimize the entire program together as a single unit traditionally has made whole program optimization infeasible for complex and large C++ applications, such as those being built at Google. Additionally, traditional whole program optimization frameworks have not supported fast incremental builds. ThinLTO (Thin Link Time Optimization) is a new compilation model that was recently deployed in the LLVM compiler toolchain to enable scalable whole program optimization for these huge C++ applications, and additionally enables the fast incremental builds required for use in day-to-day development.

In this talk we’ll describe why whole program optimization is beneficial for C++ applications, how the ThinLTO compilation model enables scalable and incremental builds, and how ThinLTO can be integrated with distributed build systems for even faster whole program builds. Additionally, we’ll describe implications for C++ developers.

Guy Davidson's Rapperswil trip report

The dust is settling at Rapperswil: what actually happened?

2D or not 2D: that is the question: Rapperswil trip report

by Guy Davidson

From the article:

The summer 2018 ISO C++ committee meeting took place in Rapperswil, apparently something of a favourite with the members. Being a short flight from my home I was able to arrive on Sunday afternoon, ready to start on Monday without fear of jet-lag. The last time I was in Switzerland was by accident when I went Interrailing in 1989. It was good to return and see what state my German is in.

 

What’s New in ReSharper C++ 2018.1

ReSharper C++ 2018.1 comes with two new important features: Debug Step Filters and Includes Analyzer.

ReSharper C++ 2018.1 highlights

by Igor Akhmetov

From the article:

This release comes with two new important features. First, Debug Step Filters lets you avoid stepping into specific functions during debugging. Second, Includes Analyzer helps investigate the dependencies between header files that affect build times.

JetBrains Dev Ecosystem survey: key Trends for C and C++

Most interesting findings from this year’s study by JetBrains relating to C and C++.

The Developer Ecosystem in 2018: Key Trends for C and C++

by Anastasia Kazakova

From the article:

It seems that among all the respondents developing in C, 48% have abandoned all unit testing frameworks. This is a hike of 18% compared with last year. In contrast, among C++ developers the abandon rate soared by 20% this year.

The C++17 standard was officially signed last year and is now seeing growing adoption numbers: 18%, compared with 12% last year. However, while nearly half of all respondents who are not on C++17 yet plan to upgrade to one or another new standard, only 8% of those who are not on C++17 yet are considering moving to C++17 in the next 12 months.

Triple trip report from ACCU, C++ Russia and C++Now 2018 – Part 1--Jonathan Boccara

Were you there?

Triple trip report from ACCU, C++ Russia and C++Now 2018 – Part 1

by Jonathan Boccara

From the article:

Going to conferences is a great experience, to learn about your domain and meet people that work in it. Going to conferences can give you tools to write better code.

I’ve had the chance to go to (and speak at) three conferences over a month:

  • ACCU in Bristol, UK at the beginning of April,
  • C++ Russia in Saint-Petersburg, Russia in mid April,
  • C++Now in Aspen, US at the beginning of May.

I haven’t seen many people attending all three of them, so I figured I could make a combined trip report, to give you an idea of what they’re like. And more importantly what you would get by attending either one.

And a huge thanks to the company I work for, Murex, for sending me all over the world of C++!