Software Aesthetics
cconnell writes: "Most software design is lousy. Most software is so bad, in fact, that if it were a bridge, no one in his or her right mind would walk across it. If it were a house, we would be afraid to enter. The only reason we (software engineers) get away with this scam is the general public cannot see inside of software systems. If software design were as visible as a bridge or house, we would be hiding our heads in shame. This article is a challenge to engineers, managers, executives and software users (which is everyone) to raise our standards about software. We should expect the same level of quality and performance in software we demand in physical construction. Instead of trying to create software that works in a minimal sense, we should be creating software that has internal beauty." We had a good discussion on a related topic half a year ago.
My software is so ugly it's beautiful. I'm coding in Perl these days. :)
kind of like the innards of a biological organism.
Ever disected anything? It's MESSY.
-... ---
education, medicine, accounting, law,
and journalism.
That's the truth. I know every time I have to show someone my working code, I have to do a parental-visit-strength clean-up before letting them see anything. Of course, we should keep it clean as we go....
The key is to format the code so it looks like an ASCII figure of a bug. The viewer, if he is hip, will appreciate the irony.
Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
...Isreal and palestine should lay down their arms and live in peace; the oil companies should all band together to clean up the environment; all the children in the Third World should be fed; science should invent a cure for AIDS; and Palm should open-source BeOS.
In the meantime, the author of this article ought to turn his attention to explaining to managers *why* they should care about beautiful software design. Until management gives us the time and budget to do otherwise, we engineers are just going to keep on writing code as well as we can within the contraints we're given. It's not like we *enjoy* writing crappy software.
--
CPAN rules. - Guido van Rossum
In my experience, they all think they're smarter than men.
At a recent computer software engineering course in the US, the participants were given an awkward question to answer:
"If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?"
Among the ensuing forest of raised hands only one man sat motionless.
When asked what he would do, he replied that he would be quite content to stay on board.
With his team's software, he reasoned, the plane was unlikely to even taxi as far as the runway, let alone take off.
-----
If the company I worked for made the software, the plane would start to burn, slowly. The cabin crew run around busily telling everyone that the plane was NOT on fire. The crew wouldn't tell the captain. That's because the captain is passed out. The plane is slowly consumed by flames, however, the passengers don't notice, because the temperature only rises very slowly. The plane then explodes (too late to do anything about it, after all, they believed the cabin crew), killing everyone. Falling back to earth, the captain wakes up and starts screaming "REBOOT IT!!!!!".
How many of YOU would trust yourselves or the people you work with software that deals with life or death?
I mean what would we do with all this 1 GHz+ processors and 512mb+ chunks of ram? If everyone starts coding better we could go back to older machines and be faster than we are now.
The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin