C++ is late to the party: package management is only the beginning

Speaker: Diego Rodriguez-Losada, Luis Martinez de Bartolome

Audience level: Beginner | Intermediate

category

Bjarne Stroustrup recently said in the CppCon 2017 plenary that C++ needs better tooling, more precisely better build and package management systems. Because the truth is that C++ is the oldest language without a widely adopted common development infrastructure, which sometimes make incredibly difficult, specially beginners, to get started in new projects, using new libraries, etc.

On the other hand, C++, together with C, have been the backbone of the computer programming industry since decades, and still are. But that means that the amount of legacy, both in terms of code, but also in tooling is huge. C++ standards cannot and they do not deprecate easily that legacy, and backwards compatibility is taken to levels than any other language does. Modern tooling, build systems and packages managers cannot negate that reality.

Conan C and C++ package manager is quickly becoming adopted in the industry, because it embraces both the legacy and the modern tools, from autotools to Meson build system, integrating with them, as well as with CMake, Visual Studio and many other tools. It can create package binaries with ancient compilers, and with the latests ones, managing all of them simultaneously. We will introduce how Conan can be used to create, store and manage binaries with different configurations, and how those package binaries can be easily reused, providing the friendly experience we are looking for.

But package management is only the beginning. Most of other programming languages, that have featured a package manager from a long time ago, are enjoying incredible benefits from what the programming community is calling "devops". We will see how a package manager is just the gate to new processes: from much easier continuous integrations, to robust, fast and secure worldwide delivery of packages.