Uforudsigeligt

I The Guardian er der en lang artikel om algoritmer, der opfører sig uforudsigeligt. Det er et særdeles vigtigt emne, og der er en vigtig pointe i artiklen, nemlig at mange stykker software derude simpelthen er så dårligt struktureret, at det er svært at forstå deres adfærd.

Desværre er det tydeligt, at en lægmand har skrevet artikel.  Jeg bemærker som fagperson desværre, at noget af det, der står i artiklen simpelthen er forkert eller det, der er værre. F.eks. står der at

At root, an algorithm is a small, simple thing; a rule used to automate the treatment of a piece of data. If a happens, then do b; if not, then do c. This is the “if/then/else” logic of classical computing. If a user claims to be 18, allow them into the website; if not, print “Sorry, you must be 18 to enter”.

En algoritme er bestemt ikke det samme som en betinget kommando! Jeg er også bekymret over at begreberne algoritme og program bliver rodet godt og grundigt sammen undervejs i artiklen. En udtalelse som

When programs pass into code and code passes into algorithms and then algorithms start to create new algorithms, it gets farther and farther from human agency. Software is released into a code universe which no one can fully understand.

fra forfatteren Ellen Ullman er enten fejlciteret eller tegn på begrebsforvirring hos hende. Jeg forstår den ganske enkelt ikke.

Men lad mig gentage mig selv: Emnet for artiklen er særdeles relevant, og uforudsigeligheden er et fremragende argument for at teorier og metoder til programanalyse er et vigtig emne inden for datalogi. Det, at man ikke nemt kan forudsige algoritmers (og dermed programmers) adfærd, er en central erkendelse i teorien for beregnelighed. Det er så desværre netop dét emne, der nu skal fjernes eller i bedste fald stærkt nedprioriteres på de datalogiske uddannelser på mit universitet (jeg fatter det stadig ikke!).