Software's Dirty Little Secret

In other disciplines, engineering in particular, there exist treatises on architecture. This is not the current case in software, which has evolved organically over only the past few decades. All software-intensive systems have an architecture, but most of the time it's accidental, not intentional. This has led to the condition of most software programming knowledge being tribal and existing more in the heads of its programmers than in some reference ... Full Story »

Posted by Kaizar Campwala

See All Reviews »

Review

Bill White
4.1
by Bill White - Oct. 1, 2008

Grady Booch is a very well known guy in the world of commercial application development. He sort of gets it right. He states that there is no real architectural vision for most software projects. But what does he mean by architecture, anyway? I always thought architecture was a set of mental models for understanding the structure of something - a building, or a computer program, or a government project, or anything. The problem with this is that there is (1) no real continuity principle in software, and (2) not much in the way of a theoretical basis for understanding software. For (1), a single bit failure in the wrong place can cause unbounded havoc with a program. There's no idea of a "small" deviation from perfection. For (2), I always ask "What's the software equivalent of Maxwell's equations?" The theoretical results all seem to be negative. For example, Gödel's theorem, the unsolvability of the halting problem and the undefinability all tell us what we can't compute. It seems like it would be good to have some sort of theoretical tools which we could use tell us "Do this and your programs will work reliably and robustly."

See All Reviews »

Bill's Rating

Overall
4.1

Good
from 7 answers
Quality
4.0
Fairness
4.0
Information
4.0
Sourcing
4.0
Context
4.0
Popularity
4.5
Recommendation
4.0
Credibility
5.0
More How our ratings work »