Coming: Failsafe software
Computerworld -
Richard P. Gabriel is Sun Microsystems Inc.'s open-source expert. He has written four books and more than 100 articles, mostly about programming languages and practices. He's leader of the Feyerabend Project, whose goal is "to repair the arena of software development and practice." It was inspired by the philosopher Paul Feyerabend, who wrote in 1975, "Given any rule, however 'fundamental' or 'necessary' for science, there are always circumstances when it is advisable not only to ignore the rule, but to adopt its opposite." Gabriel recently told Computerworld's Gary H. Anthes what's wrong with software today and how it might be improved.
What's wrong with today's programming languages? They are brittle. They were based on the assumption that computers were for scientific and engineering applications. They were designed when computers did thousands of instructions per second, not billions. And when computers cost millions, programmers cost $12,000 a year. Now developers cost $50,000 to $200,000 a year, and they can each have the equivalent of five Cray 2's [supercomputers] on their desk. So it's time to use some of that CPU power to help the programmer.
How could languages be less brittle? The software we build doesn't exhibit homeostasis - that's when an organism is perturbed, it tries to return to its normal state. When someone hacks into a Unix system and does something bad, it doesn't get better until someone repairs it and it is rebooted. But you could make every component in the system tend toward its default state over time. You could have the programming language set up so that your system kind of gravitates back toward its initial state. If you had proposed that in 1959, when programming language ideas were being thought up, they'd have said, "That's crazy. Why would we waste our computers' time doing that?"
What else could be done? From the late 1970s to the late 1980s, folks in the artificial intelligence world tried to program computers differently, with languages like LISP. They had expert systems, which is an easier way to program a computer and not as susceptible to errors. On the other hand, the results that you got might not be precisely what you expected. A rule-based system will give you robust, flexible behavior which is at the 95% level, but certainly sufficient. We have abandoned all of these ways of programming. Java goes a fair way to some of these goals, but still there is a relentless insistence on correctness and precision instead of flexibility and adaptability.
Are you suggesting we write applications today as expert, or rule-based, systems? Is that possible?
Additional Resources



Learn the important issues you must consider before starting your next mobility initiative. Get your mobility white paper from IDC now, compliments of Sybase.
White Papers & Webcasts
Differentiating With Technical Support: JBoss Customer Support Study
JBoss' expert technical support services is clearly acknowledged by its client base. The comprehensive nature by which their service is unsurpassed. Every category...
Managing And Protecting Your Ever Increasing Mobile Assets
(Source: Absolute Software) Your users are becoming more mobile each day. This is great for productivity - yet challenging for IT control. Natalie...
The JBoss SOA Assessment Tool: Spend Less, Do More
SOA does not have to be overly complex or expensive. The JBoss SOA Assessment Tool can help you chart a course to a...
IDC Webcast: Linux Adoption in a Global Recession
Join Al Gillen from IDC and Michael Applebaum from Novell in this on-demand webcast to see how Linux has emerged as an even...
The CIO's New Guide to Design of Global IT Infrastructure
Is it possible to eliminate the impact of distance? This paper explores the 5 key principles successful CIOs are using to redesign IT...
Novell Opens PR Video
Is the Linux desktop for me? Customers are looking for ways to be more flexible and save money. Using Linux offers a great...
IBM Lotus Notes Performance Brief
This is a Performance Brief that illustrates how Riverbed Steelhead appliances accelerate Lotus Notes R7....
2 Minutes to IT workload automation
Take just 2 minutes to watch this short CONTROL-M flash video. Well show you how BMC CONTROL-M can put money back into your...
Business Value of Performance IDC Whitepaper
Are you looking for a comprehensive solution that addresses insufficient or congested bandwidth, impaired application performance, slow remote backup and replication or obstacles...
Security Configuration Management
In this web video, follow along with Jim Hansen, Senior Product Manager with Big Fix, as he explains why Security Configuration Management is...
Subscribe to Computerworld
