Die These ist etwas provokativ formuliert, aber ich bin der Meinung, dass man sie durchaus ernst nehmen sollte.

Der Trend zu Multicore Systemen ist ungebrochen. Einfache Consumer-Computer (egal ob Smartphone oder Desktop) sind heute Multicore-Systeme, mit 4, 6, 10 oder mehr Cores. Zukünftige Architekturen werden noch mehr Cores haben. Das Entwicklen von sequentieller Software wird in Zukunft eher ein Sonderfall sein.

Parallele Programmierung erfodert jedoch andere Konzepte, die schon bei der Auswahl der Algorithmen berücksichtigt werden müssen. Es erfordert einen anderen “Frame of mind” als bei der sequentiellen Programmierung.

Und das sollten wir auch den Student/inn/en so vermitteln: wir sollten gleich mit der Entwicklung von paralleler Software beginnen, und dann die sequentielle Programmierung als Sonderfall schildern.

Hierzu sollten wir didaktische Konzepte entwickeln, die das parallele Denken unterstützen. Und auch eine Programmiersprache auswählen, die dafür geeignet ist.

Auslöser für diesen Artikel war ein Bericht im IEEE Spektrum.

Schaden wir den Student/inn/en, wenn wir sie sequentielle Programmierung lehren?