Honestly, I would argue that git submodule should count as a package manager. I simply list out the repos I want to pull in and update them as needed.
I can see the usability of this depending on the application though. My work is primarily in embedded; I only ever need to pull in a handful of small libraries.
Honestly, I would argue that git submodule should count as a package manager. I simply list out the repos I want to pull in and update them as needed.
I see your point, but I think that when developers refer to package managers, implicitly that means accessing standalone precompiled binaries that are ready to just be integrated into a project.
With git submodules, unless they are used to track standalone projects or even precompiled binaries, you still have to resolve their dependencies, which is the responsibility of a package manager and the main reason they are used.
No mention of nuget, the one built into Visual Studio?
I think that this article is missing the most obvious and perhaps most used package manager for C and C++ projects: Linux distro’s package repositories.
It should be stressed that package managers are a requirement for Windows and, to a far lesser degree, macOS. On any Linux distro, you’d just
apt install <dependency>-dev
and you’d be mostly set. It’s mainly Windows development that draws this need to install packages to be able to develop anything.