Mario Sedlak
Softwareentwicklung
Software
Computer
Hauptthemen

Programmieren

Ein Programmierer übersetzt die Anforderungen, die eine Software erfüllen soll, in eine Programmiersprache, die der Computer verstehen kann. Programmieren ist zentraler Bestandteil der Softwareentwicklung. Jede Software besteht aus den Befehlen, die ihre Programmierer zusammengestellt haben.

Schwierigkeiten des Programmierens

Wir alle wissen: Computerprogramme tun nicht immer das, was sie tun sollen. Softwarefehler gehören zum Alltag jedes Benutzers. Manch einer wird sich fragen, warum die Programmierer so schlampig arbeiten, dass ihnen derart viele Schnitzer passieren.

Dazu sollte man wissen, wie schwierig fehlerfreies Programmieren ist: Z. B. hatte das größte Programm, an dem ich gearbeitet habe, 70 000 Zeilen Programmcode. Das entspricht ausgedruckt gut 1000 Seiten Papier. Und auf keiner einzigen Seite darf irgendein Fehler sein! Stell dir vor, du musst einen Roman von 1000 Seiten Länge schreiben, und es darf kein einziger Rechtschreibfehler oder Sinnfehler drin sein – nicht einmal ein Beistrichfehler!

Hinzu kommt, dass Programme laufend weiterentwickelt werden. Und wenn man an irgendeiner Stelle etwas ändert, kann an einer ganz anderen Stelle im Programmcode plötzlich etwas falsch werden. Das ist so, wie wenn du in deinem 1000-Seiten-Roman ständig die Handlung umschreiben, Charaktere dazugeben oder ihre Eigenschaften ändern musst.

Das Programmieren ist auch deswegen nicht so einfach, weil man eine andere, exaktere Denkweise als im Alltag braucht. Ein Computer tut genau das, was man ihm sagt. Das ist ein Vorteil, aber auch ein Nachteil: Man muss alle Selbstverständlichkeiten ausdrücklich angeben, denn für einen Computer ist nichts "selbstverständlich". Erst wenn die künstliche Intelligenz Fortschritte macht, wird sich das ändern. Für Menschen ist es jedoch ungewohnt, sich logisch exakt auszudrücken. Dazu fallen mir folgende Beispiele ein:

  1. Am Geschirrwagen oben: "Gläser bitte hier"
  2. Beim Förderband für gebrauchte Tabletts: "Gläser bitte auf das Tablett stellen."

Der Widerspruch scheint niemanden zu stören, aber einen Computer würde er dazu veranlassen, nicht das Vorhergesehene zu tun.

Nur wenige Fehler kann der Computer automatisch finden. Er weiß ja nicht, was der Programmierer will. Auch ein geübter, professioneller Programmierer ist einen großen Teil seiner Zeit mit Fehlersuche beschäftigt. Wenn ich ein Programm schreibe und es funktioniert auf Anhieb, bin ich überrascht. Auch wenn man viel Programmiererfahrung hat, kommt das nur gelegentlich vor.

Es ist auch kaum möglich, durch gründliches Testen alle Programmierfehler zu finden, denn in jedem Programm, außer den allereinfachsten, gibt es nahezu unendlich viele Situationen.

Wenn man mit anderen Programmierern im Team arbeitet, wird das Programmieren noch komplizierter, da man sich untereinander absprechen muss. Wenn zehn Leute je ein Kapitel für einen 1000-Seiten-Roman schreiben, dann müssen sich die gut koordinieren, damit am Ende alle Kapitel zusammenpassen. Wahrscheinlich werden die zehn Leute auch unterschiedliche Auffassungen darüber haben, wie der Roman geschrieben werden soll. Unter Programmierern ist das meiner Erfahrung nach der Normalfall. Es gibt oft gravierende Meinungsverschiedenheiten über guten Programmierstil.

Weiter

Programmierweise

Weblinks

Seite erstellt am 11.2.2009 – letzte Änderung am 20.9.2013