|
As long as the code can be used without change in new projects.
Legacey: When the code is no longer usefull without change.
INTP
|
|
|
|
|
.... is based on the fact the question asked about codes in a current application, which does not have to be mine.
My company is maintaining codes that are more than 10 years old, written by my CEO, when they used to be programmers. They won't allow us to rewrite or modify it cause they believe it's "perfect"
Oh, Incidently, I'm working in a software house.
Nick Seng (the programmer formerly known as Notorious SMC)
God, I pity me! - Phoncible P. Bone
|
|
|
|
|
...(i.e. >20 years ago) I worked on a DOS/FORTRAN engineering application that's still in daily use today. (The program generates AutoCAD DXF drawing files and bills of materials from data entered into forms.)
I was recently commissioned to perform a face-lift on this app and was surprised how quickly I could find my way around the old source code. It took about 2 days to get back into the swing of writing FORTRAN code after a >15 year break.
It's kind of gratifying to think that code written so long ago is still ticking along in daily use. There are plans in place to use it on another project next year too!
Yours in geezerdom,
Steve
|
|
|
|
|
Exactly! And should that code be forced to be public domain and lose it's copyright? That's what some non-programmers are suggesting publicly because they think source code is obsolete after 3 years.
------------
|
|
|
|
|
Just out of curiosity, are you going to use Lahey/Fujitsu Fortran for .NET to update the app.
The last time I worked with Fortran was back in 1985 and the fact that there is a .NET version is, for lack of a better term, cool.
Konstantine
|
|
|
|
|
G'day Konstantine,
> Just out of curiosity, are you going to use
> Lahey/Fujitsu Fortran for .NET to update the app.
Unfortunately no. The app uses some old third party libraries which can't be upgraded, so I'm stuck with the old libraries and Laheys 5.1 to compile.
Interestingly, I can run the compiler on my WinXP-Pro machine, but the finished application won't run on XP. I can run it on earlier versions of Window. Wierd...
Steve
|
|
|
|
|
> G'day Konstantine,
How did you know I was an Aussie?
> I can run it on earlier versions of Window. Wierd...
Have you tried running the app in compatibility mode on XP?
Konstantine
|
|
|
|
|
> How did you know I was an Aussie?
Actually, I had no idea. I'm in sunny Brisvegas and tend to start most of my emails with a 'G'day'. The northern hemispherans seem to get a giggle out of it.
> Have you tried running the app in compatibility mode on XP?
Yep. I've tried all sorts of things, but just can't get it to run on XP. It's not a major issue though, as I expect the program will be finally retired mid next year and the troops can continue running it on their existing systems until then.
Knowing the company that owns/runs the software, I doubt their workstations will be upgraded to XP any time soon - they're still running NT 4 on most of their systems.
There is some talk of replacing it with something a bit more modern, so I'm thinking maybe it's a chance to get my teeth into a fairly major C# application...
Steve
|
|
|
|
|
|
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.
|
|
|
|