Dan Bricklin on Software That Lasts 200 Years
Lansdowne writes "Dan Bricklin, author of VisiCalc, has written a great new essay identifying a need for software that needs to last for decades or even centuries without replacement. Neither prepackaged nor custom-written software is fully able to meet the need, and he identifies how attributes of open source might help to produce long-lasting 'Societal Infrastructure Software'."
I think the subject line says it all. You can't worry about your software working for that long until your hardware can last that long.
~D
It seems like most open source has been less than 1.0 for at least 200 years. But all for a quality product right? Oh you found a bug? Well thats because its pre-1.0!
No company in the world will ever try and develop software that never needs (costly) upgrades and add-ons. Take a look at Micrsofts behaviour with MS Office, it's a complete cash cow because they can update it when they want and force people into upgrading with changed document types. Even the open source community will be too interested in improving and adding on to thier pet projects to consider leaving it alone.
this article seems pretty flawed.
We need to start thinking about software in a way more like how we think about building bridges, dams, and sewers.
The fundamental difference being bridges cost more to alter than software does. And the capabilities of hardware allows more freedom in software, to which there is no correlation in bridges.
hmmm, just my 2 euro-cents.
I think the trick is to use simpler hardware, which is easy to replace.
Take todays computer: motherboard with one big black chip, CPU on it, network card also one chip on it, videocard is too impossible to figure out how it works. Due to the integrated design, you can't fix it if it is broken. And in five years you won't be able to replace it one-on-one.
On older hardware (8 bitters), you were able to repair it yourself because you knew how it worked and you know you were capable of replacing a failing chip. Even if you didn't have exactly the same chip, you can use one of a newer family which did the same but would be capable of switching much much faster.
bash$
I disagree. It's got nothing to do with the software but the data.
If the data format is clearly documentented, then it doesn't matter whether the application that generated it is open or closed.
True, you could argue that since the code is open the data format is also documented, but personally I'd find it easier if it was written in a properly structured document.
Otherwise you'd have to resort to learning and then plouging through an application written in some 200 year old programming language (by someone who possibly hacked it up with a hangover at the time) to try and understand what they were doing and why.
Avantslash - View Slashdot cleanly on your mobile phone.
I wonder if there will still be holes/bugs in Microsoft Internet Explorer 6 SP1 in 2204?
:-)
Now excuse me while I get back to writing my "Hello World" application that will last two centuries
vi
Constant standards are what is needed to make software last that long.
Language standards don't even last 200 years, how do we expect something as new as software standards to be more uniform than language standards? Language has been around for thousands of years and we still can't agree on that.
The preceding message was based on actual events. Only the names, locations and events have been changed.
Standards are what must be designed to last for decades, not the software that conforms to the standards. Things like XML, RDF and POSIX will be supported for decades, if not centuries. Who cares if it is Linux running your POSIX apps, or FreeBSD, or HURD? I don't think it matters if software uses libxml2 to parse your XML data, or some yet-unconceived API--as long as it understands XML!
If it is stability and reliable infrastructure that is desired, it is standards that must remain constant and software that must evolve to make the standards work with new technology.
The point that the author makes here is really that without electricity we will lose great parts of recent history.
When I was at secondary school, in Britain during the 1980s, we participated in a UK-wide project to create a modern version of the "Domesday Book", the 11th-century record of people and property.
The project we worked on was recorded onto a (state-of-the-art) laserdisc so it would "last through the generations".
Last year I read an article saying that dedicated enthusiasts were desperately trying to assemble a working laserdisc system, in order to archive all the data collected just 20 years earlier.
Moral: it's not just electricity we need to worry about - media and the equipment necessary to access specific media is vital, too.
This is where the serious fun begins.
Those Duke Nukem guys should have this problem pegged by now...
davejenkins.com |
Sure it is possible to write a program that is platform independent and could possible run for 200 years. But the problem is this. How many organizations can last for 200 years without changing their policies or without society changing. Lets compare us Now and 200 years ago 1804. How many companies have lasted sense 1804 not to many. And all of them have changed the way that they did business since then. How many companies 200 years ago would have enough foresight to allow policies for IT workers. Maybe 1 who was swiftly locked away for his crazy talk. Also a lot of todays terminology will go away in 200 year. I predict the term "Race" would be an out dated word confined to the old literature and newspapers, this is because with the steady decline in racial prejudice and inter racial marriages. It would be like 200 years ago a business man will ask you for your religion in order for them to decide to do business with or not, and now there would be some problems even if they asked as just a personal question. Or say we get visited by space aliens, Sex: M F X A I C. Who know what new and unheard of categories will be added or perhaps a method of doing things is drastically changed who even what the company does changes, heck the company I worked for started repairing mainframes, now we do mostly IT Consulting, and that is in 10 years imagine 200 year.
So to make a program this customizable you need to make it a programming language with everything to you need to add and delete change and alter over time. Now even programming languages think Fortran 30 years ago it was the most popular language out there. And now it is tossed aside for the newer languages, even with fortran compilers for linux, most people will rewrite their fortran code to a more modern language then just port it. To take advantage of new features such as GUI, Internet Connectivity, Color Printing, Web Access. More thing that seemed useless or impossible 30 years ago, are now becoming important. Sure it is possible to make a program run for 200 years. But is is possible to make it useful for 200 year. And beside all this extra design time to make a program that can run for 200 years will cost a lot of money and time to do. Are the users of the applications are willing to pay $1,000,000 for a java program that number crunches their numbers. Or will they pay $50,000 for a program that will last them 10 years, and will be a lot less bloated and simpler to use.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
- TeX user manual
- TeX commented source code
- Metafont user manual
- Metafont commented source code
- The Metafont programms to generate the computer modern fonts
What is that good for?If you, say in 500 years, get a copy of these 5 volumes (and if they are printed on good paper, there is good chance that these survive). You just need some kind of computing device and the skillset to implement some easy pascal like programming language. Then you type in the programms and fonts from this book and voila, you have working a TeX system!
Of course you need to write a .dvi driver for whatever output device you want to need and have at that time.
If you now find some .tex source of one of Knuth's books, be it in print or some crude hyperflux memory cube, you are then able to reproduce that book in the quality Knuth intended it to have!
Thus TeX is explicitly developed to transfer the typographic quality of Knuth's books into the future, without depending that lots of software vendors establish lots of data format (e.g. Word 2325 to Wort 2326) converters!
Regards,
Marc
I think 200 years isn't long enough. They just don't make software like they used to. For example, last time I visited Atlantis, and used the Amulet of Chr'Thalis to activate the ancient computers laying dormant beneath the Temple of the Dawn, they just started working perfectly. True, they only speak Ancient Atlantean, but the software's just fine. And we're talking about systems that haven't been maintained since the Temple Wardens vanished sometime during the Fourth Age; that's several hundred years at least since their last debugging. Of course, some of the hardware's a bit run-down (in the case of some the Temple traps that's a good thing), and the Orb of Kings is still inactive, but the Temple software works perfectly.
The violin dates from the 1600s. While it has undergone a certain amount of "support" since then it is essentially the same tool as designed by Amati. Some consider it one of the finest tools ever devised by man. Many of the older ones are considered superior to the newer ones.
I have an automotive body hammer that is nearly identical to a 1500s war hammer, although the upgrade to a fiberglass handle is a nice touch for reducing shock. The basic design goes back some thousands of years with little more than some minor updates in materials.
My 100 year old desk holds up my computer just fine. It is as technologically advanced as what I can get new at Office Max, except I expect it can last another few hundered years due to the quality of its construction.
I'm wearing woven fabric clothing, a technology that reaches back at least 10,000 years. There have been a number of attempts to replace this technology over the past 40 years or so. They've all proven inferior except for certain special applications. Hell, even indigo dye for work clothes has proven to be a durable technology for thousands of years that you can still purchase in nearly any clothing store and the "jeans" that are the most common example of the type are about 400 years old (Jacob Davis added rivets to the existing design. He didn't invent the jeans themselves).
I've been watching a new office building go up in town. It's post and beam, about as old a house building technology as you can get, although the building is considered "modern."
I also have a couple of fires that burn continuously in my home. It proves rather useful, although the technology is a bit long in the tooth.
I fully expect that ASCII will be just as viable a way to represent the Latinate alphabet 200 years from now as it was a few decades ago, and the Latinate alphabet is another example of a multithousand year old technology.
Innovation for innovation's sake often "progresses" to the rear.
Build it right and build it good. Don't be afraid to change it when there's damned fine reason to on solid theoretical and practical grounds, but otherwise leave it the hell alone if it works.
That isn't being a Luddite. That's being an engineer.
KFG
We build disposable software, because computers are still disposable.
Not because they can't be built to last, but because they quickly become obsolete.
If Moore's law continues to hold for 40 years, computers will be over a million times more powerful than they are now, the cheapest drive you could buy would hold more than a petabyte, and we'll be saying things like "I remember when a thousand bucks for a terabyte of ram seemed like a good deal, and now I can't even buy a ram stick that small".
Once the breakneck pace of expansion stops (or at least slows to a reasonable rate) then we should look at making software that lasts.
Video compression technology is big business today, but it's probably going to seem like a silly idea in the future.
We don't need buggy whips that last 200 years.
-- less is better.
Many things in society are long-term
Not really true.
Those historical buildings? They've been gutted and rebuilt from the inside out at least once during the past 50 years for the installation central air conditioning and elevators for the handicapped. And they're the exception to the rule. Few commercial buildings go more than 15 years without major renovation and few residential buildings make it more than 30.
Roads? Sure, US Route 1 does still travel approximately the same route but its repaved frequently, expanded and changed frequently, and its been supplanted in its original purpose as the major east-coast north-south route by Interstate 95. And even Route 1 has existed for less than a century. Before automobiles at the begining of the 20th century, there was no need for anything like it. Before automobiles, who could conceive of a multilane asphalt highway that needed to sustain speeds over 500 miles per day? How could yesteryear's engineers possibly plan for it?
The US constitution, the foundation of our law, has seen two major overhauls in the past two centuries: first due to the civil war and again because of the great depression. Even where parts of the text remain the same, their meanings have been drastically altered by the courts. Free speech has become freedom of expression. The right to bear arms somehow doesn't exist at all inside Washington DC except for police. The states have gone from being the primary seats of governance to being almost entirely subsidiary to the federal government. We're living under an almost totally different government than what saw the dawn of the 19th century.
Even the Catholic Church publishes a new catechism each year, a book which defines the religion. You'd think during two millennia they'd figure it out once and for all, yet it continues to evolve and change.
Few things last, either in their original purpose or their original design. They're continuously rebuilt, redesigned and reinvented... Even things like roads, buildings and governments for which our design experience goes back thousands of years.
Our software experience goes back 40 years, if you can call what we did 40 years ago software by any current definition. Why should we build it to last longer than than the roads and buildings, and indeed longer than software in any form has existed?
I'm sorry, but I'm not smart enough to successfully plan ahead two centuries and neither are you.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.