Jag är inte mycket för ”renhet” i ordets religiösa mening när det gäller programmering. Jag ser inga fel i att spräcka paradigm, eller att ta genvägar, eller att rent av fulhacka om det krävs.
Men det kan vara väldigt klargörande ibland att tillämpa ett programmeringsparadigm strikt. Begränsningar föder innovation och klarar tanken. Så är det till exempel välgörande att tänka helt i REST-banor när man gör webbapplikationer. Eller att tänka ”allt är en fil” när man skriver operativsystem.
I ett tankemässigt snårigt problem jag nyligen sattes att lösa blev det klargörande att tillämpa en väldigt strikt form av OO. En intressant och effektiv arkitektur uppstod.