2008-02-03

Vackra bitar

Tjenare!

Jag håller på och läser en bok som heter "Beautiful Code", som består av en samling artiklar som mer eller mindre knyter an till bokens titel. Jag började skriva en C-uppsats i estetik om det här med vacker kod för några år sedan, men som vanligt när jag skriver C-uppsatser så kom jag inte så långt. Det var lite taskigt med material, eftersom det vackra aldrig förklaras, utan bara utropas.

Mönstret återkommer i ett flertal artiklar i den här boken: ett problem beskrivs, en lösning tas fram och förfinas i flera steg, varpå det hela avslutas med att den producerade lösningen beskrivs som "vacker". Ibland tar någon till en halvfläng motivering, i stil med "om kod som är såhär kompakt och effektiv inte är vacker, då vet jag inte vad som är det".

Att beskriva kod som vacker är okontroversiellt. Programmerare uppskattar att höra om vacker kod. Det skänker på något sätt en guldkant åt skärmarna i kontorslandskapet där man sitter. Man vill att det ska finnas kod som är vacker, gärna intrinsikalt så (såhär inom parentes så är programmerare dessutom ofta politiskt och filosofiskt naiva, så värderealismen är utbredd), eftersom det gör hela programmeringsverksamheten till något ädelt. Det blir till konst, snarare än hantverk.

Det hade varit trevligt om man i det här sammanhanget hade kunnat skilja betydelserna hos orden "bra" och "vacker" åt. Men när man säger att kod är "vacker" så menar man "bra", eller "riktigt bra". Anledningen till att man väljer "vacker" är att konnotationerna skiljer sig åt. "Bra" känns oförklarat, abstrakt, subjektivt och inte tillräckligt starkt. "Vacker" doftar mystiskt, det står tillsammans med sanningen och godheten över alla andra värden. Det låter som om man menar mer om man säger att en bit kod är vacker, än om man säger att den är bra.

Lustigt nog så låter det ungefär likadant om man byter ut "vacker" mot "sann" eller "god": man får ett starkt uttryck, där man binder samman objektet med andra objekt som tillskrivs det aktuella värdet. "Den här koden är god" kanske låter lite mer crazy än "den här koden är vacker", men jag tror att det skulle kunna uppfattas annorlunda inom en mer etiskt/religiöst orienterad kultur. Skönhet passar också lättare in i vårt tänkesätt, eftersom programkoden ligger i gränslandet till konsten: den består precis som litteraturen av text och den innehåller struktur och tanke på ett sätt som kan få oss att associera både till arkitektur och musik, och i undantagsfall även till bildkonst.

Oj, nu är klockan snart elva!

Linus

Inga kommentarer: