Spolsky recently writes

Alain de Botton, writing in The Architecture of Happiness (Pantheon Books, 2006) has a section on elegance that any software designer will find familiar.

And I do find it drearily familiar: it is ignorantly dismissive and embraces the Le Corbusier fallacy and, (oddly) directly contradicts Spolsky’s argument. Le Corbusier was an architect who favored monumental “modern” structures and complexes and functional “clean” “elegant” design that has turned out to be unfriendly to human use. The Le Corbusier fallacy is the mistaken belief that the purpose of engineering works is to impress passersby with a show or spectacle or to exhibit the aesthetic sensibility of the “artist”. In architecture, this fallacy produces high rise slums that look striking from the highway but that are uninhabitable. In programming, the fallacy produces microkernel operating systems, “formal methods”, functional programming languages, and other “simple”, “clean”, “elegant” designs that do nothing interesting. De Botton compares the Salginatobel Bridge in Switzerland to Brunel’s Clifton Suspension Bridge in England and finds the first to be “elegant” and the second to be clunky and “ponderous”. Of course the Brunel bridge is bulkier than the swiss toy: it is far larger, carries much more and much heavier traffic, has been adaptable, and was built 100 years earlier with much less capable materials. But one might as well argue that clipper ships are ponderous compared to jet-skis, or that 727’s are not as lightweight as paper airplanes or that UNIX systems are more “bloated” than some academic proof of concept. The Salginotobel bridge is cute and features a bravura use of what was new technology in the 1930s when it was designed, but the Clifton bridge has been an engineering and aesthetic triumph since it was completed in the 1860s and it is a far more powerful work. If you are going to diss someone like Brunel, you should bring something more to the table than a sneer. Here’s the odd thing: Spolsky’s point is an important one – that users are interested in using the application to do their own work and not in how easy or clean the work is for the programmer. But we are so used to being hectored about “elegance” that he cites De Botton approvingly, while arguing the contrary.

I’ll continue this later, but want to recommend Richard Gabriel’s Patterns of Software and Jan Michl’s essay on design.

I’m thinking of a related essay about the superiority of Fortran over Haskell – the first was designed by working mathematicians and the second by computer science “logicians”.

Elegance shmelagance, the Le Corbusier fallacy again (rev3).

3 thoughts on “Elegance shmelagance, the Le Corbusier fallacy again (rev3).

  • January 8, 2007 at 11:32 am
    Permalink

    I wonder whether in your reference to the Le Corbusier fallacy you are criticizing Le Corbusier’s own ideas or the ideas of architects who tried to imitate him without understanding what he was trying to do. As it happens I live less than five minutes walk away from one of his buildings (La Cité Radieuse in Marseilles) and it is simply absurd to describe it as a “high rise slum that look striking from the highway but that [is] uninhabitable”. It does indeed look striking from the highway, but it is also thoroughly inhabitable. Most of the people who live there love it and live in it for years.

  • January 11, 2007 at 10:49 pm
    Permalink

    Well, the Plan Voisin was his, no? The idea of a city geometrically laid out, with a sterile business center, and grand highways is Le Corbusier as`well. And can’t we blame him somewhat for all the Pruitt-Igoes and Cabrini-Greens? But maybe I’m being unfair.

  • Pingback:OS design at keeping simple

Comments are closed.