Voorkom voortijdige optimalisaties

An article, posted 21 days ago filed in javascript, programming, premature optimisation, optimisation, premature, optimalisatie, versnellen, tijd & kostbaar.

Voortijdige optimalisatie, of premature optimisation, is een bekende neiging van veel software ontwikkelaars. Het is een idee verbonden aan Donald Knuth:

> We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%

Veel ontwikkelaars halen eer uit het maken van "slimme" oplossingen die het draaien van de code net een beetje sneller zouden kunnen maken. De nadruk ligt op zouden omdat het veelal niet gebaseerd is op het daadwerkelijk meten aan de applicaties. Slechts door het applicatiegedrag goed te monitoren kunnen de échte performance problemen geïdentificeerd worden.

Erger is dat er kosten verbonden zijn aan zulke voortijdige optimalisaties:

  1. Het kost vaak extra tijd om een feature op te leveren (wat mij betreft niet het ergste)
  2. Het levert vaak code op die minder i…

Computers worden steeds slimmer

An article, posted more than 14 years ago filed in interactie, automatisering, watson, deep blue, ibm, computer systemen, mens-machine interactie, slimmer, verstandl, iq, optimalisatie, investering, aandelenhandel, kasparov & algoritmes.

Onlangs zagen we het weer: Watson heeft gewonnen van de mens. Computers worden steeds slimmer. Er zijn situaties waarin computers betere beslissingen maken dan mensen. Computers schaken tegenwoordig beter dan mensen (de voorloper van Watson versloeg jaren geleden al de Kasparov) en moderne aandelenhandel is niet meer bij te houden door mensen: algoritmes maken veel sneller beslissingen dan mensen kunnen (een leuk inzicht daarin werd onlangs nog gegeven door VPRO's tegenlicht).  Geweldig natuurlijk dat dit kan. Toch moet dit niet gezien worden als 'overwinningen' van de computer. Niet alleen omdat deze machines toch ook wel weer door mensen zijn gemaakt. Belangrijker nog is dat aan deze winnende computersystemen gigantische investeringen vooraf zijn gegaan. Het resultaat: machine's die geleerd hebben enkele zwaktes uit te buiten van zaken waarin mensen niet zo goed zijn. Zoals bij iedere investering moet men zich afvragen: Is dat het op zich waard? Blijkbaar wel voor kapitaalbe…