All Things Microsoft > Microsoft Software

Unstable releases!

<< < (3/3)

badkarma:

quote:Originally posted by lazygamer:
So does this all mean that Windows XP has tons of code(more like cold) in it that is over 13-15 years old?
--- End quote ---


probably even older seeing it's based on 2k which was based on NT which was based on some UNIX version which was probably based on something else ....

lazygamer:
WOW that's amazing! But surely ancient code can't all be bad. Linux is based on Unix, so that means that Linux would have code in it that dates back to the 70's. But that code it has is probably code that you don't mind having next to your modern cutting edge code.

After all, stuff that's designed to run on REALLY low power CPU's and RAM must be pretty optimized.

voidmain:
Well, not really. The "age" of code doesn't really mean anything. If you use a "printf()" function, that function as been around since the beginning of 'C' so does that mean your code is really old?  No.  And if a snippet of code is written properly in the first place, you would write it the same today as you did 10 years ago.

Now when Linux came about all of the source was written from scratch but it was written in such a way to function similar to and be compatible with UNIX. On the kernel side once you have a driver written for a 3Com 3C503 card, theoretically that driver should never have to be rewritten unless there was a problem. Now for every new piece of hardware that comes out a new driver has to be written. And some/all of the old drivers may have to be rewritten if there is a complete overhaul of the kernel (when the Linux kernel went modular for instance).

On the non-kernel side of Linux, if you wrote your own IMAP server today for instance, you would have to write it to function in a specific way according to the IMAP specifications. You could have two different sets of code that perform the same functions. The "ls" command in Linux functions very much the same as the "ls" command on old UNIX systems, plus some added functionality.  The code for that command was written from scratch but it performs similar functions to the original version and is compatible with it. But unless you need to add functionality there is little need for changing the code.

The gcc compiler (thing that turns that source code into machine code capable of running on whatever processor you are running) is continually evolving for many reasons. To compile the source code more optimally. To add new and changing processor types.  To fix bugs. etc.  So every time you compile source code with a new compiler, even if it is the same source code you basically have different object/machine code.  Would that be considered old code or new code?

Navigation

[0] Message Index

[*] Previous page

Go to full version