Weiterentwicklung der Informatik

In der Gründungsphase der Informatik als Wissenschaft
musste sich die Informatik erst einmal als Wissenschaft etablieren.
Als ich mich für die Informatik als Studienfach entschieden hatte,
hieß es noch: „Warum nicht gleich eine richtige Wissenschaft studieren,
nämlich Physik, Mathematik oder Elektrotechnik?“
So reden Macho-Wissenschaftler,
die als Platzhirsche ihren Platz verteidigen und
Neulinge verdrängen wollen.

Vor 30 Jahren musste sich die Informatik noch
als ernst zu nehmende Wissenschaft behaupten.
Dies tat sie durch ernst zu nehmende Wissenschaftlichkeit,
Theorie, Mathe, Quantifizierung und Objektifizierung.
Motto: Nur sagen, was sich rechnen lässt.
Über alles andere muss man schweigen.
Damit wurde aber leider auch Vieles totgeschwiegen:
Was sich nicht quantifizieren lässt, existiert nicht.
So reden Macho-Wissenschaftler,
die nur ihre Zahlen gelten lassen.

Als Wissenschaftler musste man abstrakt bleiben,
durfte sich nicht in die Niederungen der Anwendungen begeben.
Einer der Urväter der Informatik, Edsger W. Dijkstra,
definiert die Brandschutzmauer der Wissenschaft so:
Sobald sie sich mit Anwendungen beschäftigt,
ist sie keine Wissenschaft mehr.
Dies ist bekannt geworden unter dem Namen „Dijkstras Brandschutzmauer“.
Der Platzhirsch hatte seine Lichtung mit einer dicken Mauer versehen.

Damit entwickelte sie sich jedoch weiter weg von dem,
was man in der Berufspraxis als Informatiker tatsächlich braucht,
nämlich Anwendungsorientierung,
an der Anwendungsrealität orientiertes Abstraktionsvermögen,
ganzheitliche „systemische“ Sichtweisen,
Architektursicht,
Modellierungskompetenzen,
gestalterische Fähigkeiten,
kreatives Schreiben, Kreativität und Konstruktivität.

Die Fehlentwicklung war zeitweise so schlimm,
dass Berufspraktiker, die wissenschaftliche Informatik-Konferenzen besuchten,
sich fragten, was die Konferenzbeiträge für die Berufspraxis bedeuteten
und zu einem recht traurigen Ergebnis kamen.

Die Rolle der Theorie ist in der Berufspraxis eine andere:
Es geht um den Entwurf von Anwendungstheorien,
ständig neu, ständig im Entwurfsmodus,
für Systeme, die es noch gar nicht gibt,
für eine Gesellschaft, die wir noch nicht kennen,
für eine Zukunft, die wir so grundlegend mitgestalten,
dass uns das Bewusstsein der Verantwortung den Atem verschlagen würde.

Die aktuelle Diskussion „TDD is dead“ weist darauf hin,
dass es Ebenen der Programmiererpraxis gibt,
die wir besser nicht wissenschaftlich betonieren:
Programmieren als eine Art kreativen Schreibens,
als Kunstform, wie schon von Donald Knuth postuliert: „The Art of Programming„.
Hier spielt Schönheit eine wichtige Rolle.
Kent Beck spricht von „Wohlgeruch“ der Software,
oder „bad smell„, wenn Programmierkonstrukte zum Himmel stinken.

In der Diskussion „TDD ist tot“ heißt es:

  • Informatiker wollen Programmierung wie eine Wissenschaft betreiben. Das ist es aber nicht. Es ist mehr wie kreatives Schreiben.
  • Gute Software ist nicht das Produkt eines Ingenieurs. Software-Entwicklung ist kein Engineering.
  • Software-Entwicklung ist eher wie Schreiben.
  • Klares Schreiben ist besser als verworrenes Durcheinander.
  • Klarheit ist gut. Alles was sich sagen lässt, lässt sich klar und deutlich sagen. Alles was sich programmieren lässt, lässt sich klar und deutlich programmieren.
  • Klarheit ist so gut, dass sie die Nummer 1 der Ziele sein sollte, nicht Testabdeckung oder Testgeschwindigkeit.
  • Ein guter Programmierer zu werden ist genauso schwer wie ein guter Schriftsteller zu werden.
  • Genauso wie beim Schreiben geht der Weg zu einem guten Programmierer über das Schreiben und Lesen von sehr viel Software, immer mit dem Streben nach Klarheit.

Programmers want software to be a science, but it isn’t. It’s more like creative writing.
• Good software isn’t like engineering.
• It’s like writing. Clear concise writing is better than convoluted writing.
• Clarity is good. So good that clarity should be the number one goal, not test coverage or test speed.
• Being a good developer is as hard as becoming a good writer.
• Just like writing, the way to become a good programmer is to write a lot of software, read a lot of software, aim for clarity
.“

Klarheit als oberstes Ziel
passt gut in unseren Blog „klarlernen“.
Dies ist keine Abkehr von Grundlagen,
sondern eine höhere Ebene,
die zu etablieren und anzuerkennen ist.

Dieser Beitrag wurde unter Informatik, Lehre abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.