Förra veckan ringde jag ett tiotal framstående utvecklare och frågade om valet av paradigm för programmering (imperativ, objektorienterad, funktionell, etcetera) påverkar produktiviteten för utvecklare. Det framkom en hel del intressanta saker under samtalen, förutom det uppenbara att ”det beror på projekt och tillämpning”.

Den allra mest intressanta synpunkten kom från Fredrik Normén som är konsult på Squeed. Han hänvisade till undersökningar som visar att programmerare lägger mycket mer tid på att läsa programkod än att skriva den. En typiskt fördelning vad gäller kodrelaterat arbete kan vara att 78 procent av tiden går åt till att förstå existerande kod, 20 procent till att modifiera existerande kod och 2 procent till att skriva ny kod.

Läs också: Med crowdtesting kan utvecklare finslipa sina appar med hjälp av studenter

Om den här fördelningen stämmer, och det tror jag i många fall, så kan man definitivt dra en slutsats: Det viktiga för en programmerare är inte att hitta ett effektivt sätt att skriva kod, utan att hitta ett sätt som ger kod som är enkel att läsa och förstå.

Om vi då tittar på de tre paradigmerna som jag nämner ovan och antar att målgruppen är en diversifierad grupp utvecklare med olika erfarenheter av olika paradigmer. Anta vidare att imperativ kod (kommandon rätt upp och ner som talar om vad en dator ska göra) är enklare att förstå än objektorienterad eller funktionell kod för en person som inte har programmerat alls. Jag tror att det krävs en större ansträngning att förstå objektorienterad kod än imperativ, och en större ansträngning att förstå funktionell kod än objektorienterad, för de allra flesta.

Mejlbomba mig om jag har fel!

Så, till slutsatsen:

Om målet är att skriva kod som är enkel att läsa och förstå för en oidentifierad skara av programmerare så är det bättre att skriva imperativ kod än objektorienterad, och bättre att skriva objektorienterad kod än funktionell.

Läs också: Därför är mikrotjänster så populärt bland utvecklare

Om vi antar att det påståendet stämmer så är nästa fråga hur viktig läsbarheten och förståelsen är i jämförelse med eventuella vinster vad gäller mindre felbenägenhet för och enklare design av objektorienterad och funktionell kod. En annan följdfråga är hur stor andel av nytillkomna förmågor inom programmering som är stöpta inom till exempel det funktionella tänkesättet.

Så många frågor, så lite tid.

Vad tycker du?