The Beauty of Code

Voor veel softwareontwikkelaars staat het schrijven van code gelijk aan het maken van kunst. Het is als een schrijver die een boek schrijft of een schilder die schilderij maakt. Maar hoe kun je code beoordelen op schoonheid en wanneer kunnen we spreken van mooie code?

Verschillende elementen

Volgens Yukihiro Matsumoto, de bedenker van de programmeertaal Ruby, moeten we bij het beoordelen van code niet alleen naar de code zelf kijken, maar ook naar de werking van het programma. Mooie code is volgens Matsumoto het werk van een gelukkige programmeur, die de code snapt, verandert en uitbreidt. Goede eigenschappen van mooie code zijn daarbij beknoptheid, vertrouwdheid eenvoud, flexibiliteit en balans. Geen van deze elementen kan op zichzelf zorgen voor mooie code, maar elk van de elementen moet harmonieus samenwerken met de andere elementen om tot mooie code te komen.

rubyworld-change-the-world Yukihiro Matsumoto, de bedenker van Ruby

Code moet begrepen worden

Matsumoto vindt verder dat code begrepen moet worden wanneer deze gelezen wordt. Hij vergelijkt de code van een programma met de tekst in een essay. Bij een essay is de belangrijkste vraag die veel lezers stellen waar het over gaat. Bij code wordt juist gevraagd wat het precies doet. Maar het zijn volgens Matsumoto geen vragen die gesteld zouden moeten worden, omdat zowel code als essays gelezen en begrepen moet worden door mensen. Hij lijkt hierbij echter wel vergeten dat het vooral bij code soms makkelijker gezegd is dan gedaan. Complexe programma’s bestaan uit miljoenen, tientallen miljoenen en soms zelfs honderden miljoenen regels code en die code is soms dermate complex dat het begrijpen van de code een onbegonnen taak is die jaren in beslag zou nemen.

Beautiful code?

Matsumoto beschreef zijn visie op mooie code in het boek Beautiful Code en veel programmeurs op het internet lijken zich te kunnen vinden in die visie. Toch is het nog maar de vraag of er veel mooie code overblijft wanneer we Matsumotos mening aanhouden als maatstaf. Een hacker die voor de Amerikaanse regering werkt en exploits opspoort liet onlangs namelijk weten dat de meeste software in elke drie tot vijf regels code een bug bevat. Het is dan ook mogelijk dat we op een nieuwe generatie programmeertalen moeten wachten voordat we echt mooie code mogen aanschouwen.