APT is written in C++ and YUM is written in Python.
Besides the Python2->3 thing, are there actually any practical advantages to using a lower-level language for managing packages?
Besides the Python2->3 thing, are there actually any practical advantages to using a lower-level language for managing packages?
Would be fun to see some benchmarks.
A smaller binary and no external dependencies is more audit-able, has fewer dependencies for bootstrapping itself on a server or a container image.
When you multiply this by the total number of images, this makes a big difference.
Those legacy tools never were updated for Python 3 because they had no maintainers or developers. When the distribution switched to DNF, they were able to adopt actively maintained software that replaced those that were ported to Python 3.