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?
- 15 Non-Certified IT Skills Growing in Demand
- How 19 Tech Titans Target Healthcare
- Twitter Suffering From Growing Pains (and Facebook Comparisons)
- Agile Comes to Data Integration
- Slideshow: 7 security mistakes people make with their mobile device
- iOS vs. Android: Which is more secure?
- 11 sure signs you've been hacked
- What Datapipe customers need to know about the new PCI DSS 3.0 compliance standard This handy quick reference outlines what PCI DSS 3.0 is, who needs to be compliant and how Alert Logic solutions address the new...
- The 12 PCI DSS 3.0 requirements addressed by Peer 1 Hosting This handy quick reference outlines the 12 PCI DSS 3.0 requirements, who needs to be compliant and how Alert Logic solutions address the...
- Defense Throughout the Vulnerability Life Cycle This whitepaper provides insight into how to leverage threat and log management technologies to protect your IT assets throughout their vulnerability life cycle.
- The Critical Role of Support in Your Enterprise Mobility Management Strategy Most business leaders underestimate the importance of tech support when they choose an EMM solution. Here's what to put on your checklist.
- Live Webcast Best Practices for the Hyperconverged Enterprise Network To the Age of Constant Connectivity and Information overload
- Live Webcast Unmasking the Differences between Consumer and Enterprise File Sync & Share The consumerization of IT combined with the rapid pace of the modern mobile workplace is forcing enterprise IT teams to evaluate file sync...
- Live Webcast Government Agency Webifies Outdated COBOL Applications Let this CTO tell you how his agency converted 1980s-era green screens into an e-filing portal for the 100,000 cases handled each year...
- The New Way to Work Knowledge Vault This Knowledge Vault focuses on how, in today's increasingly virtual world, it's more important than ever to engage deeply with employees, suppliers, partners,...
- Getting Ready for BlackBerry Enterprise Service 10.2 Find out how BlackBerry® Enterprise Service 10 helps organizations address the full spectrum of EMM challenges, while balancing the needs of both the... All Applications White Papers | Webcasts