Welche Art von Mathematik braucht man beim Programmieren?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Sehr viele Informatiker kommen mit sehr wenig Mathematik durch's Berufsleben. Für elektronischen Zahlungsverkehr oder für Steuerbescheide, Kindergeldbescheide und dergleichen reichen die vier Grundrechenarten aus. (Dafür geht bei der Bearbeitung derartiger Aufgaben nichts ohne mindestens gute Datenbankkenntnisse!)

Für die Lösung von Gleichungen, linearen Gleichungssystemen und für viele andere häufiger vorkommende Aufgaben der praktischen Mathematik gibt es Programmbibliotheken (z.B.: GNU Scientific Library, Boost), die vorgefertige Prozeduren bereitstellen. Die Verwendung dieser Bibliotheken verlangt allerdings solide Kenntnisse in numerischer Mathematik. Das ist ein Know-How, das man bei Ingenieuren, Physikern und Mathematikern eher findet als bei Informatikern. Es ist daher nicht überraschend, dass für die Bearbeitung mathematiklastiger Aufgaben oft keine Informatiker, sondern eben Ingenieure, Physiker oder gelegentlich Mathematiker herangezogen werden.

Ein durchaus attraktiver Bereich, in dem sich gute Mathematikkenntnisse für Informatiker auszahlen können, ist die Programmierung von 3D-Grafik mit Bibliotheken wie OpenGL oder Vulcan. Hier lässt sich die Entwicklung der letzen 10 bis 15 Jahre ganz kurz so beschreiben, dass dem Anwendungsentwickler mit der Weiterentwicklung dieser Bibliotheken immer mehr Mathematik aufgepackt wurde. Die ersten 3D-Grafiksysteme hatten ein Bilderzeugungsverfahren, dessen Mathematik vorgefertigt war. In den aktuellen 3D-Grafiksystemen muss der Anwendungsentwickler mindestens Teile des Bilderzeugungsverfahrens selbst programmieren, in Vulcan sogar das ganze Verfahren. Das verlangt solide Kenntnisse in anlytischer Geometrie in zeitgemäßer Schreibweise - also mit Vektoren und Matrizen. Hier stehen Informatiker natürlich wieder im Wettbewerb mit Kollegen anderer Fachrichtungen, die ein gutes Mathematik-Fundament haben.

Woher ich das weiß:Berufserfahrung – Berufstätigkeit als Software-Entwickler

Ich habe schon sehr viel programmiert. Privat und beruflich. Ich habe nie mehr gebraucht als Plus, Minus, Mal, Geteilt, Modulo, Prozentrechnung. Habe ich etwas vergessen? Naja, halt die Grundlagen. Es kommt immer darauf an, in welchem Bereich der Programmierung du einsteigen willst. Es kann auch dazu führen, dass es sehr komplex wird. Dies kann bei 3D Spielen auftreten oder auch bei mathematischer Software oder anderen Dingen. Die Software, die ich schreibe, ist zwar auch komplex, doch benötigte ich meist nie mehr als die Basics

Grundsätzlich sind keine mathematischen Dinge beim Programmieren erforderlich. Es geht eher um das logische, mathematische Verständnis. Man darf keine Probleme haben komplexe und weitreichende logische Strukturen zu überblicken, verstehen und zu erweitern. Wer gut in Mathe ist, der hat auch oft dieses Denken.

Ansonsten kommt es naütrlich vor, dass man mathematische Probleme mittels Software löst. Der Entwickler sollte dann natürlich wissen, wie die Berechnung funktioniert, damit er sie in seine Software übertragen kann. Das gilt natürlich auch für andere Funktionen (z.B. Buchhaltung, Sprachen, ...)

Kommt stark drauf an was du machst. Logik, Anylsis, Algebra, Stochastik, Geometrie etc..
Wenn du z.B. ein spiel entwickelst, wirst du viel mit vektoren arbeiten. Wenn du einen kryptografischen algorithmus implementierst musst du ggf. mit elliptischen kurven arbeiten etc.

Das hängt letztlich davon ab, was für ein spezifisches Problem berechnet werden muss, um eine Lösung zu bekommen.

Hauptsächlich wirst du allerdings häufiger mit boolescher Algebra zu tun haben als mit tatsächlichen Berechnungen.
Schon eine einfache Überprüfung, ob eine bestimmte Bedingung innerhalb des Programmablaufes für die weitere Verzweigung im Code zutrifft, ist boolesche Algebra. Also jeder If-Then-Else-Block, jede While-Schleife, jede Select-Anweisung gehört dazu.