In article <45AE8162.4080209 at yahoo.co.uk>,
Jules Richardson <julesrichardsonuk at yahoo.co.uk> writes:
Hmm, I'm inclined to disagree. In a few years time
it will be impossible
to study the *current* generation of home computers because the expected
lifetime of the hardware and software is much less now, whilst the
complexity has increased.
I disagree with your characterization of software having a short
lifespan. Dusty decks from the 1950s are still with us and in use
today, we just store them in a .FOR file instead of storing them in a
physical card deck. Because few, if any, applications these days use
machine language, software is more portable and more long-lived than
ever. There are still OS and architecture dependencies that make some
transitions difficult and may cause an application to be rewritten
instead of modified. This may cause one lineage of the application to
be abandoned. However, the gap isn't insurmountable. If you're luck
you can just ditch the existing UI and write a new front end for the
application as most of the big changes in platform are at the UI end.
I've just spent some time since the holidays of moving the FRACTINT
code base from a 16-bit DOS application circa 1990 and moved it to the
Win32 environment circa 2006. There is a huge shift in the viewpoint
of the application there -- a DOS app polls for IO or runs brute force
at full blast ignoring any input until its ready. Some programs can't
even be ^C'ed in the middle until they try to print something and if
they take a long time to print something, you're at the mercy of the
application unless you decide to soft boot. Contrast that with an
event-driven architecture of any application built for window system
(whether its MacOS, X or Win32 or even Win16 doesn't really matter).
(FRACTINT v1 was released as open source software in 1988, BTW.)
This all assumes everything is written in a high-level language. If
your application is a 1960s or 1970s variety where large chunks of it
are written in assembly, then it may simply be easier to reimplement a
new version in a high-level language instead of transliterating the
assembly into a HLL. It would be interesting to see a survey of
software applications and their source languages over time.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://www.xmission.com/~legalize/book/download/index.html>
Legalize Adulthood! <http://blogs.xmission.com/legalize/>