When you get a new computer, you'll want to install your favorite software and get everything running just way you want it to. Then you'll likely add some new stuff, possibly over a period of next couple of months. Beyond this point, hesitate to add more. Here's why.
Shared Library Files
Many software firms use DLL (Dynamic Linked Libraries) in developing programs. They are kind of like a tool box from which programmer chooses one needed. Even though program being created may need only a couple of "tools" from this DLL, using them saves programming time, which is expensive. This is a safe and efficient procedure, for code in library is well tested and will run reliably.
Other software developers use same library. Some DLLs are used in many programs. For you, this means less disk space required on your system, for only one copy of library is needed.
You also benefit in that you pay less for software and it runs reliably. It's hard to see anything negative in such a procedure. Or in software using any other shared procedures. For example, you might have several programs that use a common routine that is part of connecting your system to Web over a phone line.
All About Versions
Most companies developing software will use latest version of a DLL. It contains changes and enhancements over earlier ones. Thus differences exist between them.
This is true of different versions of other software. The latest version of IE (Internet Explorer), for example, contains changes and enhancements over previous one. Migrating from current version to latest, can mean installing what amounts to almost a new program.
The Catch In Upgrading Or Installing Software
When you install an upgrade or a new piece of software, any DLLs used will also be installed. Windows makes rules in this. An older version of a DLL is not allowed to overwrite a later one. But a newer one IS allowed to overwrite an older one. Here's how things can go wrong.
Suppose you have a program call SPLAT, another called SPRANG, and a third call SPUNK. Suppose they all use a DLL called STUFF. If you upgrade SPUNK, and upgrade includes a new version of STUFF, then quite suddenly SPLAT and SPRANG may not run properly. That is, they are now forced to use a version of STUFF programmer had not planed for.
While it's quite likely a new DLL will run just fine with older programs, it may not. If your older programs won't run well enough to suit your needs, you may be forced to upgrade to later versions. Unfortunately, this may not solve problem if older DLL is still in use.