For quite some time, I have been bothered by this thought: Individual programming languages (C++, Rust, Go, etc.) are traditionally viewed as walled gardens. If your main() function is written in C++, you had better find yourself C++ libraries like Qt to build the rest of your codebase with. Do you want to use Flutter […]
Blog Archives
Embedded Rust Training Remote training provided by Ferrous Systems
We’re delighted to announce that Ferrous Systems has partnered with KDAB to offer its online training ‘Embedded Rust’ training as an addition to KDAB’s regular Scheduled Training courses
CXX-Qt Safe Rust Bindings for Qt
At KDAB, we have been investigating how to integrate Rust with Qt in a safe and idiomatic way. The solution we are currently working on is called CXX-Qt. It’s available in the GitHub and on crates.io. This blog post discusses the journey of CXX-Qt — where it started, where it can be used right now, […]
The Practical Programmer’s Guide to C++20
C++, How it Got Here, Where it’s Going
We talked to a panel of C++ experts, evangelists, and devotees to understand more about C++, its current position, its history, and its future.
Qt, range-based for loops and structured bindings Part 1
Qt has a long history. The first stable version was released before the first version of C++ was standardized and long before the different C++ compiler vendors started shipping usable implementations of the C++ standard library. Because of this, Qt often followed (and still follows) some design idioms that feel unnatural to the usual C++ […]
Getting rid of “volatile” in (some of) Qt
The upcoming version of the C++ Standard (C++2a) is proposing to deprecate certain usages of the volatile keyword, by adopting the P1152 proposal (Deprecating volatile). Despite the somewhat “flamboyant” title, the actual deprecated parts are very limited and indeed the paper limits the deprecation to somehow language/library corner cases and/or dangerous antipatterns. For instance certain […]
An Unexpected C++ Journey Can you use Umlaut in variable names?
Some of you may know that KDAB employees enjoy flexibility on working hours as well as location, and some choose to work from home, with the opportunity to share childcare, do part-time study or simply enjoy an out-of-the-way location. All that’s required is a decent bandwidth for KDAB work. About once a year, all of […]
QStringView Diaries: The Eagle Has Landed QStringView merged for Qt 5.10
After two months of intensive reviews, discussions, fixes, and stripping down the initial commit, feature by feature, to make it acceptable, I am happy to announce that the first QStringView commits have landed in what will eventually become Qt 5.10. Even the docs are already on-line. This is a good time to briefly recapitulate what […]
Clang-Tidy, part 1: Modernize your source code using C++11/C++14 Automated refactoring of your source code using powerful open-source tooling
This blog series will introduce the clang-tidy utility from the Clang/LLVM project and show how to use it to automatically refactor