

Agreed. I wasn’t trying to say they are always better just explain the difference.
I almost exclusivity use Linux and it handles this great. .so libraries are stored with a version number and a link to the latest. So math3.so and math4.so with math.so being a link to math4.so. that way if needed I can set a program to use math3.so and keep everything else on the latest version.
I’m going to agree with a lot of the other posters and say QT with QT creator. It’s a tested and well though out implementation. It’s signals and slots event system is straight forward and easy to learn.
Whatever route you take learn Model View Controller (MVC). It gets in the mindset of keeping your data model seprate from things that use the data and things that change the data.
https://en.m.wikipedia.org/wiki/Model–view–controller