July 2019

Expressiveness, Nullable Types, and Composition (Part 1)

How do you do it?

Expressiveness, Nullable Types, and Composition (Part 1)

by Rafael Varago

From the article:

We’re software developers, our mission is to provide software that solves problems. And in its essence, writing software is all about composition.

We have a big problem to solve, so we break it up into smaller pieces that can be more easily comprehended, and then we compose these smaller pieces together into working software...

The Regular Expression Library—Rainer Grimm

A quick introduction.

The Regular Expression Library

by Rainer Grimm

From the article:

My original plan was it to write about the rules of the C++ Core Guidelines to the regex and chrono library, but besides the subsection title, there is no content available. I already wrote a few posts about time functionality. So I'm done. Today, I fill the gap and write about the regex library.

ReSharper C++: Better Ways to Test C++ with doctest

doctest stands out with its ability to write tests in a new and easier way, unlocking the potential for more thorough, up-to-date, and uniform testing.

ReSharper C++: Better Ways to Test C++ with doctest

by Viktor Kirilov

From the article:

What truly sets doctest apart is the ability to use it alongside your production code. This is made possible because of 5 main properties:

Going a step further – doctest can even be used as a general-purpose assert library within the production code itself - outside of a testing context!

Here is a direct question/answer thread of a user interested in mixing production code and tests.

Cevelop: New Release 1.12

A new release 1.12 of the free C++ IDE Cevelop is available.


by the IFS Cevelop Team

About the release

Notable new features include the expanded and improved AUTOSAR/MISRA and Core Guideline Codeanalysator beta plug-in with Checkers and Quick-fixes.

General stability and performance improvements, i.e., in our Constificator beta plug-in, for making your code more const correct.


A new technology for C++—Erkam Murat Bozkurt

In this article, a new programming technology for C++ has been introduced.

A new technology for C++ and its application to the multithreading

by Erkam Murat Bozkurt

From the article:

 This technology acts as a separate intelligent actor simplifying software development process. In fact, this technology is a new meta-programming system which builds application specific libraries for its users. The tools that are built on the library construction process collect status information from the process and act as autonomous process management systems. This new programming technology may offer a good alternative for interpreters that are used on high level languages.


Yuri Minaev - Don’t take on C++ programmers support

It's a kind of humorous talk about the life of a development team which also deals with supporting C and C++ programmers. Actually, working with programmers is a lot of fun, and it is very productive. Not only can they send you a memory dump, but sometimes even partially solve the problem themselves and give you a hint. However, there's a flip side. If they have a technical issue, be ready to consume pints of coffee and loads of cookies. I shall tell you about our interesting and funny experience related to technical support of the PVS-Studio analyser - for example, how the tool goes nuts when coming across a 26mb string literal.

Don’t take on C++ programmers support

by Yuri Minaev


  • About tech support
  • We test a lot, but...
  • 9 circles of testing
  • Stories
  • Don't trust standard library functions (sprintf)
  • More on standard functions (isspace)
  • Preprocessor fairy tales
  • 26mb ought to be enough for anybody
  • On logics
  • Initialisation is easy
  • When robots get tired
  • Detour (#include in weird places)
  • WinAPI is fun
  • The scariest bug (warning filters)