![]() ![]() Older programs that rely on the previous version continue to use that, and programs that are ready for the new one use it. And, indeed, that was the original vision.īut you know where this is headed: version changes turn out to be a problem, because when a new version of the support library is released, it has to be installed in such a way that it does not overwrite the previous version. In that ideal world – you know, the one we don’t live in – there would only be one copy of the support library on each machine, and all the programs that needed it would use it. What that means is that a program built (and shipped) using support library version 1 might have problems if that support library were updated to version 2. We don’t live in an ideal world. In practice, version 2 works mostly like version 1, and has some new functionality. In an ideal world, version 2 of a support library would work exactly like version 1, plus new and useful functionality. Bugs (errors) are created and bugs are fixed.The software that those programs are built on – like Microsoft Visual C++ – are asked to change and improve as well, to provide the functionality required to make those customers and market happy.Programs change and improve in response to customer and market demand.The idea is that by providing all this functionality in one package, programs are easier and faster to write, since they don’t have to duplicate all this effort. They’re not nearly as simple as just changing the case of characters in a string (though it is included), but they are things that are very common to programs written in Microsoft Visual C++ (a programming language), specifically for Windows. The Microsoft Visual C++ Runtime is nothing more than a large collection of those kinds of functions. The software developers don’t have to write, test, and include their own version of that function. Any program that wants to convert a string of characters to lower case simply uses this library function. It’s not at all uncommon for many different programs to require that feature. So rather than writing or including a case-conversion function into every program that might want it, we package it up into what’s called a “library”. ![]() 1 It takes a string of characters like “Ask Leo!” and converts it to “ask leo!”. The origin of the problem is very simple: programmers trying not to duplicate work that’s already been done.įor example, let’s say as I’m working on a program, I write a little bit of code that does something moderately useful perhaps it’s a simple function to convert all alphabetic characters in a string to lower case. This is a symptom of a problem faced by software vendors that, at it’s core, is unsolvable in any pragmatic sense. When I started looking into this a little more deeply on one of my own Windows machines, I was pretty shocked to find no fewer than 59 different files all related to the Microsoft Visual C and C++ runtime. Fifty-nine! ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |