4 ms·
Like the user you’re replying to, I to find the concept of a C package manager baffling. I don’t know what your background is, but some reasons for my reaction:
by karatinversion 5y ago
Like the user you’re replying to, I to find the concept of a C package manager baffling. I don’t know what your background is, but some reasons for my reaction:
- a plethora of details that are implementation specific;
- different compilers and platforms that differ in important details;
- as a consequence of above, most code ends up targeting some limited set is compilers and platforms;
- no standard build system to build package management on top of
- the header file system, which allows api declaration and implementation to be decoupled
By the time you’ve narrowed down enough to make these tractable, you might as well use a given operating system’s package management tools as your “C package manager”.
- maleldil 5y agoC++ has all of these problems, but Conan and vcpkg still exist. They aren't perfect, but they're so much better than nothing. You're also ignoring the fact that Linux isn't the only operating system in the world. Some of us write multi-platform software, and package managers make it so much easier.
- thinkharderdev 5y agoI recently started working in C++ again and my experience with C++ package managers were pretty dismal (I tried vcpkg and Conan). Just trying to setup a PoC project with only two dependencies took me multiple days and neither Conan nor vcpkg worked. And this was on an Intel MBP so not exactly some exotic platform.
- maleldil 5y agoI agree wholeheartedly with you on that. It's certainly a hard problem right now, which is why I don't like people that just say "it's not a problem with C/C++" or "just use the system's package manager".
- rk06 5y agoI once worked on a C program. It has been the worst experience of my programming career, right next to updating excel's vb macro to meet newer business needs. The mere fact that I could not build the project on my local machine (windows) and have to login to a Unix (IBM AIX) was baffling. Yep, Unix, not even linux. And because it was a business critical program which worked, business refused to make any drastic changes to it unless they were absolutely necessary, even if it was a bug fix to a frequently occurring issue. And I maintained it till 2018 when I left that job. I am pretty sure it is still there in same state. So, I understand the build tool woes, and cross platform issues. however, I understand it to mean that package manager is not feasible in current environment, not that it does not add value. Recently there was a post on zig, which aims for providing a standard build tool for C (& zig), and later, a package manager for C (and zig) So, I think such efforts are not only beneficial, but will become reality in future