C++ Package Manager - C++ Dependencies Don't Have To Be Painful! - Augustin Popa

preview_player
Показать описание
---

C++ Dependencies Don’t Have To Be Painful - Why You Should Use a Package Manager - Augustin Popa - CppCon 2022

According to recent surveys from the Standard C++ Foundation, a majority of C++ developers are manually managing their library dependencies. Curiously, one of the top pain points cited in these surveys was also “managing libraries”. I believe these two points are correlated.

In this talk, I will discuss how different types of package managers address these pain points, from system package managers like apt and Homebrew to build system centric package managers like NuGet and language package managers like vcpkg and Conan. There are pros and cons to every solution, and some package managers are more effective in some workflows than others. Managing libraries doesn’t have to be painful. If you configure your workflow right, you will save time not having to maintain additional git submodules, source code, or reading build instructions on GitHub.

I’ll also talk about a few scenarios related to dependency management: acquiring open-source libraries vs. private libraries, automatically building libraries from source, using libraries locally and in CI, using libraries with different build systems and operating systems, and acquiring developer tools from a package manager. You will come out of this talk with an understanding of how a package manager can rid you of your dependency woes.
---

Augustin Popa

Augustin is a Product Manager on the C++ team at Microsoft, working on vcpkg and Visual Studio setup. In the past he has worked on the Visual Studio productivity and getting started experiences.
__

#cppcon #programming #dependencies
Рекомендации по теме
Комментарии
Автор

This is a very good introductory talk, tidying up the status of package management in C++ focusing on the WHY and answering a ton on beginner questions. Very nice!

piotrarturklos
Автор

> Keeping dependencies up to date
> ...You want do keep your dependencies as close to recent versions of libraries as possible

Well, I get the point. But isn't it is kinda weird that I should force the users of my library to do the upgrades they probably don't want to?

Anyway, thanks for the talk. It is great that problem of package management in C/C++ is being solved!

nskeip
Автор

I'm all for a package manager for C++, but I also want the source of that project to be part of my build.

khatdubell
Автор

Great talk. It will save me a lot of my time

fifapcsportz
Автор

Ce jeune homme enfonce des portes ouvertes durant une heure.
Il fut un temps où cette conférence proposaient du contenu qui éveille notre esprit, mais ça semble être un temps révolu.

retropaganda
Автор

Thanks, I learnt quite a bit, i've never really used a package manager for Cpp except msys with windows and taht one that came with devCpp IDE long ago, because I never really work with teams or for a company with cpp, so dont get to hear about alot of toolchains there but when it come to rust, golang and javascript, packages managers have always been extremely beneficial. I'll give Conan a try but I do think cpp could use something mroe apart of an official standard, that compiler and build system owners can distribute .

havocthehobbit
Автор

I'm not too well informed but from a creative stance I wound up wondering if k anonymity could help

kaylamcclain
Автор

Has the C++ committee ever discussed package manager?

fbookzone
Автор

I can finally rest in peace with Conan 2.0 + Meson

destiny_
Автор

managing dependencies in cpp still pain at @$$ until now. there some solution in internet now but they still disgusting when compile using second choice compiler in platform(gcc in windows). I still prefer cmake with git submod despite its ugly script or do monrepo for managing dep.

umaktinah
Автор

One day we'll look back and laugh at the annual wedgie.

bakedbeings
Автор

He's contradicting himself when on one hand he still thinks using several language-specific packages is a necessity because it's supposedly not possible for one system to do everything right, but on the other hand, he recognise that we can put anything and not just code inside a package and that build tools should be packaged just like libraries and that classic system packages have been successful at that.
Consider something like nixpkg or guix and don't look back. Improve if needed. Don't waste time on born-obsolete Microsoft wastes like vcpkg or winget vaporware.

retropaganda
Автор

On the container: Slide's video is glitching terrible on YouTube. Microphone is too directional.
On the content: Seems that MS is (once again) duplicating something that already exists: conan

MaitreBart
Автор

The presenter moves his body so much that I get dizzy😵‍💫

lei
Автор

Why JSON, tho? A developer-unfriendly choice.

xy