Software in der Wissenschaft : Programmieren wie vor 40 Jahren
- -Aktualisiert am
Kompatibel seit den Siebzigern: In manchen Forschungszweigen hält sich Software – wie auch Hardware – beharrlich über Jahrzehnte. Bild: Jens Gyarmaty
Wohl nirgends wird so altmodisch programmiert wie in manchen Bereichen der wissenschaftlichen Forschung. Einem Astrophysiker ist jetzt der Kragen geplatzt.
Für die meisten Menschen ist Software etwas, das man installiert und dann nutzt, ohne auch nur im Entferntesten eine Ahnung davon zu haben, was unter ihrer hübschen Oberfläche vor sich geht. Umsichtige Programmierer tragen Sorge, dass bei solch ahnungsloser Nutzung im Allgemeinen nichts schiefläuft. Ganz anders ist das in manchen Zweigen der Wissenschaft, insbesondere dort, wo Programmierer und Nutzer eine Personalunion eingehen. Da wird dann oft so unvoreingenommen drauflosgecodet, dass professionellen Software-Entwicklern die Haare zu Berge stehen.
Dabei liegt das Problem nicht nur an der verbreiteten Faulheit, die eigenen Entwicklungen so detailliert zu dokumentieren, dass sie auch für fremde Nutzer verständlich werden. Vielmehr wachsen manche Computerprogramme über Generationen von Wissenschaftlern – ein Doktorand nach dem anderen fügt Ergänzungen und Verbesserungen in den Softwarecode ein und wird damit Mitglied des Kreises der Eingeweihten, die das Programm kompetent anwenden können. Mancher Quellcode liest sich dabei wie das Expeditionstagebuch vorausgegangener Forschungspioniere: Große Namen des Feldes haben dort vielleicht Kommentare hinterlassen, Fragen eingefügt, Befehlszeilen auskommentiert, in die sie das Vertrauen verloren haben. Im Prinzip ist das eine schöne Tradition, die Software menschlich werden lässt.
Simon Zwart, Astronom an der Universität Leiden, ist nun trotzdem der Kragen geplatzt: „Altmodischer Code, der nur für diejenigen Wissenschaftler verständlich ist, die an ihm mitgeschrieben haben, behindert wissenschaftliche Entdeckungen“, beschwerte er sich kürzlich in „Science“. Als Alternative schwebt ihm eine Standardisierung astrophysikalischer Software vor. Wie beim Spielen mit Lego-Bausteinen sollen fundamentale Programm-Bausteine in der astrophysikalischen Forschung als Grundlage für komplexere Programme dienen. Dann wäre alles einheitlich, leicht verständlich und miteinander kompatibel.
Zwart ist nicht der Erste, der die Astrophysiker disziplinieren will. Schon seit Jahren gibt es entsprechende Versuche in Bezug auf eine Vereinheitlichung des Formats von Beobachtungsdaten. Funktioniert hat es auch da schon nicht so recht. Wahrscheinlich aber brauchen solch revolutionäre Ideen einfach ihre Zeit. Und astrophysikalische Zeitskalen sind bekanntlich die längsten.