|
That almost HAS to be true, if you do the math.
"When a man sits with a pretty girl for an hour, it seems like a minute. But let him sit on a hot stove for a minute and it's longer than any hour. That's relativity." - Albert Einstein
|
|
|
|
|
|
I don't see your logic her. The dad will still grow older.. right?
--
Let me burn you down.
|
|
|
|
|
The way I see it, code more than about 10 years old can probably do with a re-write, unless it is core functionality/modules.
I will give 3 reasons:
1. The systems the code runs on have changed (unless U write code for anything other than MS-Windows), and can do with some optimization and better error trapping.
2. The same programmer has hopefully learnt new tricks since he joined, and can do a better job this time around by re-working it. (Except if it aint' broke in any way)
3. The users want new features, and providing them involves re-working some of the underlying modules, in order to keep up with software technology moves.
Most code in the heart of an application however is best left un-touched, since it's bug-count must be quite low after 10 years, however the same application probably handles 10 times the data it did back "when", and there will be areaas that can be optimized.
An example is memory on Windows NT 3.5, used to be very slow to grab, so you had to eliminate any code that fragmented or released memory often. With NT4, however RAM access seemed faster, so memory-hungry desighned apps actually ran better, even if they fragmented the heap. I assume there are more examples of tuning, using disk speed changes over time too.
Conrad - conradb@adroit.co.za
Always do badly to start off, that way when you get the hang of it suddenly, everyone is surprised.
|
|
|
|
|
I recently saw an article on why ms should release NT4 code and make it open source. The author stated that surely that none of the production code that was written in NT4.0 is being used in the current operating systems..
John
|
|
|
|
|
Yeh, right!
There is still code from even NT 3.1 in 5.2. This is not something I know for a fact, it's just common sense. Why would anyone throw away perfectly functioning code for the user->kernel-mode call "gate" mechanism? Why would they throw away the parts from the RPC code that actually works (disregarding the obvious security flaws that forced rewrite of parts for NT 5.2)? Why would they throw away the code for the I/O system infrastructure? The answer is obvious: No one in their right mind would.
|
|
|
|
|
Having seen the code, I guarantee you that there's code that hasn't been significantly modified in ten or more years.
|
|
|
|
|
This reminds me of the later OS/2 versions. Even though they were marketed as being 32-bit IBM made no secret of that the filesystem was 16-bit. The reason being it was hand crafted (I believe in assembly code) and tuned and tested over a period of 10 years. There could be no gain in rewriting this part of the O/S.
The later versions of Windows has lots of "compatibility" code so you can run your trusty old applications. As this code has migrated from the older versions it is still part of the O/S and will in my opinion never be publicized.
I still remember the feeling of my OS/2 box when I formatted a floppy disk and listened to a CD and typed away on my EMACS. You never noticed you had these background jobs. This is not the feeling I have using WinXP today. Probably because of Win16 legacy code there are some hiccups when a resource is accessed, be it floppy or a slow net. And I have a 1GB/2.7GHz machine! - my old OS/2 box was a 66MHz (double clock speed) with 4MB of RAM. Well this might also be the ramblings of an old man remembering times when everything was better
---
There exists three kinds of people. The people who can count and those who can't.
|
|
|
|
|
Mike Nordell wrote:
Why would anyone throw away perfectly functioning code
<Flamebait>Huh? There's working code in NT4? </Flamebait>
Granted, another reason, there are lots of people actively using NT 4 to this day. Publishing the source could expose a lot of security holes that will never get fixed...
"When a man sits with a pretty girl for an hour, it seems like a minute. But let him sit on a hot stove for a minute and it's longer than any hour. That's relativity." - Albert Einstein
|
|
|
|
|
Yes! Exactly and also because WIRED magazine published an editorial by a Harvard professor that proposed that all source code should become public domain after 3 years because no source code is still in use after that age and it would be a benefit to other programmers that are learning to have examples to work from!
His claim was that artists can view work by other artists and learn and build from it.
I fired off a letter to the editor pointing out such things as the existence of Codeproject and many other such sites, the fact that it ws complete ignorance to suggest that source code only lives for 3 years etc etc.
Then I saw the NT article and many similar suggestions in print and on the net and it struck me that people might actually believe that source code only lives that long and start buying into a movement to make shorter copyrights for source code, the sort of thing that creeps into laws etc.
I suggested this poll for that reason.
------------
|
|
|
|
|
Well this is another case where academia has no clue what the real world programming is about. This poll although not scientific shows how wrong this idea is.
John
|
|
|
|
|
Since I have been a programmer so long, I maintain a number of algorithms which have been carried through several languages. Some get retired when the language I'm using supports the functionality natively, others have just not been needed.
I had a DOS-based mouse/menu system which I used from 1984 through to 1998, it was originally developed in Turbo Pascal, and ported to Modula-2, Basic, C, C++ (and others) until finally retired when the need had vanished. The function names and parameters never changed much, and the module was heavily documented. In the original TP it was a couple thousand lines long, and worked great. It ended up as over 50K lines of C/C++ in 1998. In the early 1990s, it was updated to support VGA graphical displays, when I needed mouse code for the "Wolfenstein 3D(TM)/Spear of Destiny" Map Editor I released - if anyone even remembers the original Wolf3D.
deep magic
n. [poss. from C. S. Lewis's "Narnia" books] An awesomely arcane technique central to a program or system, esp. one neither generally published nor available to hackers at large; one that could only have been composed by a true wizard. Compiler optimization techniques and many aspects of OS design used to be deep magic; many techniques in cryptography, signal processing, graphics, and AI still are.
|
|
|
|
|
Ted Crow wrote:
if anyone even remembers the original Wolf3D.
Yes! I still have the game and I may play it soon. I have recently been playing Commodore 64 games on an emulator. There are a few things to be said about older games. One is that they are not for the most part too complicated and the game play is sometimes better than a lot of games today that are designed to provide you with the best graphical experience...
John
|
|
|
|
|
As for your old code ports. I am sure that there is some ported turbo pascal code in my MFC extension dlls that I use in all my applications.
John
|
|
|
|
|
Loved that game.... I wonder if I still have the diskettes lying around somewhere...
onwards and upwards...
|
|
|
|
|
I would guess that the myth of the 3 year lifespan for software relates to the average time developers spend at a single company.
I'm sure that software I wrote 10 years ago is still being maintained and I can guess that no one there even knows who I am. Perhaps they wonder who the heck "TEW" is and why he initialed, dated, and commented all of the modifications in each source file.
|
|
|
|
|
Tom Welch wrote:
Perhaps they wonder who the heck "TEW" is
Yeah, who is that bastard anyway? All these comments everywhere making the code a breeze to maintain. It's kind of hard to make myself indisposable if anybody else can take over. Grrr..
--
Let me burn you down.
|
|
|
|
|
It is sort of a bad question since it asks for the existence of such code. To be a truly good question, it should ask about significant portions of code. For example, "Is five or more percent of your code older than...". This eliminates outliers.
Then again, I am just being anal.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
I've got an application, originally developed in 1990, which is still being maintained. It's a diagnostic program used to exercise our hardware during maintenance and field service operations. The program is one of those things that everyone wants updated, but it's not sexy enough to spend the resources to rewrite .
Software Zen: delete this;
|
|
|
|
|
Hehe
mine is:
10 Print"Hello World"
20 goto 10
and its nearly 20 years old
Zhang Ziyi
|
|
|
|
|
Bit of a CPU hog though
|
|
|
|
|
No wonder my ZX-81 is really hot, and the 1KB expansion ram is glowing hot too
Zhang Ziyi
|
|
|
|
|
Since the poll was "What is the oldest significant piece of code you have in a current application?" I am curious what an INSIGNIFICANT piece of code would be...
C++/MFC/InstallShield since 1993
|
|
|
|
|
Paul Watson wrote:
"At the end of the day it is what you produce that counts, not how many doctorates you have on the wall."
George Carlin wrote:
"Don't sweat the petty things, and don't pet the sweaty things."
Jörgen Sigvardsson wrote:
If the physicists find a universal theory describing the laws of universe, I'm sure the a**hole constant will be an integral part of that theory.
|
|
|
|
|
You mean it's been running for 20 years and not terminated yet
Best ragards
|
|
|
|