Returning to C++

published at 18.05.2023 16:19 by Jens Weller
Save to Instapaper Pocket

Not that I've been away from C++, its just that for the last few years I've been busy with other things to start new projects. And hence mostly did take care of written, productive code. But this has changed now, and I'd like to take my time and learn whats new in C++ land and how to apply this to my new code.

During spring I've started to play around with C++20, beginning with std::variant, later looking into other features such as boyer_moore_horspool and polymorphic allocators. This was all driven by planning and using quick bench for playing around with ideas, as this is a bit of a site project. I do take my time and don't want to rush things.

One of my goals is to gain a better understanding of the things that shall drive my new code. CMake, package management with Conan 2.0 and/or CPM. And thats what I currently do, I've looked at Conan 2.0 - which is great, but does not yet support some libraries I'd need. Like Qt6 or Dlib. And I've decided for now, the best thing to do would be to learn CMake first. As I'd need to understand the CMake code from any generator, to adopt it to my own needs. CMake has become the driver of building C++ libraries and applications. So thats where I'm currently at, working through the official CMake tutorial. My next goal is then to start with a small library and its tests.

My long time goal is to write to applications for the butterfly monitoring, which I've been talking about a bit in a lightning talk in 2021. Since then I've made one major advancement: I have a sample set of pictures to train on, and with that could start writing an application for this. But with a few years of monitoring data, one other idea is likely easier to get started with: read the CSV export of my data and use this to search, get graphs and answer some of the questions that might come to my mind. But first I'd like to learn CMake.

The other part is to port my productive code to Qt6 and C++20 and keep maintaining this part that drives Meeting C++. So far I've resisted the temptation to rewrite parts of this code base.




Join the Meeting C++ patreon community!
This and other posts on Meeting C++ are enabled by my supporters on patreon!