Kürzlich bin ich im Internet herumgelaufen und habe verschiedene Meinungen darüber getroffen, ob und wie viel ein Programmierer wirklich Mathematik braucht. Ich werde versuchen, alles zusammenzufassen und zusammenzufassen.
Zunächst sollte angemerkt werden, dass Mathematik fast überall in unserem Leben vorhanden ist. Physik ohne Mathematik ist undenkbar - hier ist meiner Meinung nach alles klar und es besteht kein Grund zur Erklärung. Chemie auch. In der Biologie ist der Einfluss der Mathematik spürbar geringer, aber auch dort vorhanden (zum Beispiel Pflanzenstrukturen, viele davon sind Quasifraktale).
Musik kann in mathematischer Form dargestellt werden. Design ist ohne Mathematik undenkbar - Geometrie ist unbedingt vorhanden - ein Zweig der Mathematik. Was ist da - selbst der Historiker braucht Mathematik (wenn auch nur, um Daten zu zählen).
Es stimmt, es gibt ein „aber“: Was ist Mathematik im Allgemeinen? Die Frage ist überhaupt nicht untätig, denn die Frage „Wie viel braucht man, um Mathematik zu lernen?“ Ist eher vage. Mathematik ist ein Komplex von Wissenschaften: Die Grundlage selbst ist Arithmetik, dann kommt Algebra, Elementargeometrie, Matte. Analyse, analytische Geometrie. Die höheren Abschnitte sind diskrete Mathematik, Boolesche Algebra, Topologie, Zahlentheorie (höhere Arithmetik) und viele andere Abschnitte sowie Wahrscheinlichkeitstheorie und Statistik. Nun stellt sich eine klarere Frage: Was muss ein Programmierer daraus wissen?
Der erste Punkt wird nicht diskutiert - Arithmetik muss natürlich allen Menschen bekannt sein. Ohne sie ist es unmöglich, auch nur das einfachste Programm zu komponieren, und ohne sie ist keine Wissenschaft undenkbar.
Aber dann ist alles etwas komplizierter - die Abschnitte der Mathematik, die ein Programmierer benötigt, werden durch die Spezifikation dessen bestimmt,
was er schreibt. Wenn Sie ein Musikstudio a la Cubase schreiben müssen, müssen Sie die Physik des Klangs und die damit verbundenen Abschnitte der Mathematik kennen. Wenn es sich um ein Grafikstudio handelt, sollten Sie die Geometrie professionell kennen (und wenn das Studio dreidimensional ist, dann auch Topologie und Matrixalgebra). Und wenn wir über ein dreidimensionales Spiel sprechen, müssen wir die Vektoralgebra und zusätzlich die Newtonsche Mechanik kennen.
Da es sich bei der Programmierung hauptsächlich um Algorithmen handelt, sollte jeder Programmierer die Theorie der Algorithmen, die Graphentheorie, die Boolesche Algebra und die diskrete Mathematik sehr gut kennen, um nicht nur funktionierende, sondern auch gut funktionierende Programme zu schreiben. Oder besser: sehr gut arbeiten.
Wird sie wirklich gebraucht oder nicht?
Und ich sage das im Allgemeinen: Wenn es zum Beispiel in der Antike bereits Programmierung gegeben hätte, hätte der damalige Programmierer die Mathematik nicht nur gut gekannt. Ein solcher „Programmierer“ wäre auch in der Lage zu boxen, zu fechten, Reiten zu arrangieren, zu navigieren, zu basteln, acht Fremdsprachen zu sprechen, Fugen und Tokkats zu komponieren, er wusste, was ein Hexameter ist, er malte (mit Schwerpunkt auf A) Bilder und vieles mehr . Und manchmal tat er es gleichzeitig mit einer solchen Geschwindigkeit, dass jeder moderne „Intel-Kern“ leise am Rande raucht.