was ist der unterschied zwischen mathematik und programmen?

...komplette Frage anzeigen

7 Antworten

Ich würde es andersherum sehen: Die Mathematik ist ein (Universal-)Werkzeug, dessen sich Programmierer bedienen.

Mit Iteration, Selektionen usw. wäre es nicht getan. Programmieren bedeutet heutzutage mehr, als mathematische Algorithmen zu implementieren. Vom Design der Oberfläche über das Abfragen von Daten aus einer Datenbank bis hin zu firmenspezifischen Anforderungen.

Man müsste die Mathematik schon enorm erweitern, damit sie das leisten könnte, wozu die Informatik zuständig wäre. Aber dann könnte man sie auch fast schon Informatik nennen ;-)

Nein, umgekehrt lässt sich die Informatik auch nicht so erweitern, dass daraus Mathematik wird. Sehe die Mathematik als Werkzeug für den Informatiker, genauso wie sie ein Werkzeug für die BWLer, die Ingenieure, die Physiker, Geographen, Architekten und noch vielen mehr dient.

Die einzige Disziplin, die die Mathematik übergeordnet betrachtet, ist die Philosophie, die Wissenschaft der Wissenschaften.

Suboptimierer 12.04.2012, 22:07

Außerdem lässt sich Mathematik und Informatik schon gar nicht miteinander vereingbaren, weil die Informatiker hei 0 anfangen zu indizieren, die Mathematiker erst bei 1. ;-)

0

Man kann Mathematik nicht auf Formeln reduzieren und Softwareentwicklung nicht auf den Sourcecode (bzw das Eintippen desselben).

Sowohl für mathematische Formeln als auch für das Schreiben eines Programms ist ein Arbeits- und Erkenntnisprozess schon vorausgesetzt. Und den kann man nicht weglassen.

Für die Softwareentwicklung muss man ja nicht nur eine Programmiersprache können, man muss auch das Problem verstehen und analysieren können, das in Software umgesetzt werden soll. Nur bei kleinen Tools zB kann einer gleich loshaken. Bei größeren Projekten sieht das anders aus: Da muss ein Lastenheft erstellt werden, eine Spezifikation, das Design, Modularisierung, Spezifikation der Schnittstellen. Und dann kann man anfangen zu programmieren. Wobei auch dann "sprechende Namen" verwendet werden und Kommentare in den Code geschrieben werden müssen - denn das Programm muss auch später noch von Menschen verstanden werden.

Auch Formeln in der Mathematik sind erst das Ergebnis eines Erkenntnisprozesses - wie kommt man überhaupt auf eine Formel? Was bedeutet sie? Wie beweist man sie? - Das ist das, was Mathematik ausmacht. Irgendwelche Formeln auswendig lernen und dann bei Bedarf "blind" was einsetzen, das kann jeder. Daher enthalten mathematische (wissenschaftliche) Fachtexte oft mehr Fließtext ("Prosa") und weniger Formeln als ein Mathe-Schulbuch.

Mathematik und ein Softwareprogramm sind zwei völlig verschiedene Dinge, die man nicht vergleichen kann.

Ein Softwareprogramm führt eine Aufgabe durch, für die es entworfen wurde, dafür schreibt ein Entwickler Sourcecode, kompiliert, debuggt, testet, bevor das Programm laufen gelassen wird. Die Aufgabe kann dabei eine Berechnung sein oder die Abfrage und Verarbeitung von Informationen, wobei letzteres deutlich häufiger ist. Berechnungen durchzuführen, ist nicht die Hauptaufgabe der meisten Softwareprogramme.

Die Mathematik ist eine exakte Naturwissenschaft, eigentlich die exakteste überhaupt. Mathematik kann man auch nicht auf die Berechnung von irgendwelchen Algorithmen oder Funktionen reduzieren, sondern in der Mathematik leitet man anhand eines Systems von wenigen Axiomen (grundlegenden Annahmen, die nicht beweisbar sind) Sätze her, die man dann beweist. Die Erkenntnisse der Mathematik sind häufig, aber nicht immer, nützlich für Anwendungen im praktischen Leben.

Also nein, eine Programmiersprache ist definitiv keine Weiterentwicklung der Mathematik, sondern manchmal, nicht immer, die Anwendung von mathematischen Erkenntnissen in der Praxis.

Mathematische Formeln kann man auch nicht mit der Ausführung eines Programms gleichsetzen.

Beispiel: der Satz des Pythagoras besagt, dass in einem rechtwinkligen Dreieck die Summe der Kathetenquadrate gleich dem Hypothenusenquadrat ist, oder kurz gesagt:

a^2 + b^1 = c^2.

Eine solche mathematische Formel hat nichts mit einer Berechnung in einem Programm zu tun.

Will man nun ein Programm schreiben, welches bei bekannter Hypothenuse und einer bekannten Kathete die Länge der anderen Kathete berechnet, dann sähe das ungefähr so aus (in vereinfachtem Pseudocode):

float a = 3; float c = 5;

b = sqrt( sqr(c) - srq(a) );

System.out.println( "Die Länge der Kathete b ist " + b + " cm." );

Übrigens, ob ein Programm fast nur aus Funktionen besteht, hängt ganz stark davon, was es machen soll und in welcher Programmiersprache/-technologie es verfasst wird.

chaostheorie314 13.04.2012, 14:01

und wo ist der unterschied zwischen

a = 3

c = 5

b = sqrt(sqr(c)-sqr(a))

und

float a = 3; float c = 5;

b = sqrt( sqr(c) - srq(a) );

? der einzige unterschied ist der syntax. das meine ich.

0
sibylle1969 13.04.2012, 14:28
@chaostheorie314

Der Satz des Pythagoras ist ja nicht nur die Formel, sondern erst einmal die Erkenntnis, die sich auch im gegebenen Axiomensystem beweisen lässt, dass in einem rechtwinkligen Dreieck die Katheten und Hypothenuse sich halt soundso verhalten.

Die Berechnung der Länge einer unbekannten Kathete ist nun eine konkrete Anwendung des Satzes des Pythagoras, jedoch definitiv nicht die einzige denkbare Anwendung.

Das kleine Programmbeispiel ist ebenfalls lediglich eine weitere konkrete Anwendung des Satzes des Pythagoras.

Also bitte nicht gleichsetzen, denn ein mathematischer Satz und überhaupt die ganze Mathematik ist nicht gleichzusetzen mit ihren Anwendungen.

Es gibt massenhaft mathematische Sätze (als studierte Mathematikerin kann ich davon ein Lied singen), für die es nach derzeitigem Wissensstand keine praktischen Anwendungen gibt (was natürlich nicht für immer so bleiben muss).

Und verabschiede dich auch von dem Gedanken, dass Softwareprogramme immer irgendwelche Berechnungen durchführen. Die allermeisten Softwareanwendungen verarbeiten hauptsächlich Informationen, weshalb sie auch oft Informationssysteme genannt werden, also das Anzeigen, Anlegen oder Ändern von Daten. Und das hat mit Mathematik meist recht wenig zu tun.

0
Mabur 13.04.2012, 17:22
@sibylle1969

Hey Sibylle,

gebe dir Recht außer in einem Punkt. Die Mathematik ist keine Naturwissenschaft.

Liebe Grüße Mabur

0

Ich denke nicht, das man das so ausdrücke kann, aber ich erkenne den Sinn der Frage auch nicht, daher werde ich einfach mal meinen Senf dazu geben :)

Ein Programm besteht letztendlich aus Befehlen, die mithilfe von Kontrollstrukturen in einer bestimmten Reihenfolge ablaufen. Nur aufgrund der Tatsache, dass einige/viele dieser Befehle etwas mit Mathematik zu tun haben, macht es das meiner Meinung nach nicht zu einer Erweiterung der Mathematik, sondern lediglich zu einem "Nutzer".

Hey chaos,

Also hast du schon mal was von theoretischer Informatik gehört? Stichwort Alan Turing ? Ich zitiere einfach mal aus Wikipedia:

Er ersetzte dabei Gödels universelle, arithmetisch-basierte formale Sprache durch einfache, formale Geräte, die heute unter dem Namen Turingmaschine bekannt sind. („Entscheidungsproblem“ verweist auf eine Problemstellung, die David Hilbert in seinen „Problemen“ formuliert hatte.) Turing bewies, dass solch ein Gerät in der Lage ist, „jedes vorstellbare mathematische Problem zu lösen, sofern dieses auch durch einen Algorithmus gelöst werden kann“.

Diese Turing_Maschinen sind im Prinzip Computer und er hat damit ziemlich viel Mathematik getrieben - bevor es überhaupt Computer gab!

Mathematik unterscheiden sich heutzutage natürlich trotzdem, in normalen Programmen geht es ja eher darum eine Aufgabe zu lösen, wie den Mauszeiger anzeigen und ähnliches natürlich steckt in den Funktionen, dann natürlich viel Mathematik hinter, aber das ist nicht so die Mathematik wie ich sie verstehe. Für mich besteht Mathematik aus Sätzen und beweisen. Wenn ein Programm dazu dient (gab es z.b. beim Vier Farben Problem) eine Sache wirklich zu beweisen, dann steckt für mich in dem Programm viel Anwendung, andernfalls würde ich eine Ansammlung auch von mathematischen Funktionen nicht unbedingt als Mathematik bezeichnen. Also so ein Haufen wie sin(x) x^2 e^ix usw. sind für mich noch keine Mathematik: dagegen der Beweis vom Satz von Pytagoras schon.

Liebe Grüße

Mabur

schuhmode 13.04.2012, 07:23

„jedes vorstellbare mathematische Problem zu lösen, sofern dieses auch durch einen Algorithmus gelöst werden kann“.

Eben: sofern!

Wenn ein Programm dazu dient (gab es z.b. beim Vier Farben Problem) eine Sache wirklich zu beweisen,

Ich betrachte sowas nicht als Beweis. Denn damit der gültig wäre, müsste auch ein Korrektheitsbeweis des Programms durchgeführt werden, das dafür geschrieben wurde. Ferner ein Korrektheitsbeweis des Compilers (bzw Interpreters). Sowie Korrektheitsbeweise des Betriebssystems und der Hardware (es wurden bekanntlich auch schon fehlerhafte CPUs produziert und vertrieben!). - das alles dürfte kaum möglich sein

Solange kein Beweis gefunden wurde, der von A bis Z von Menschen nachvollziehbar ist, betrachte ich den Vier-Farben-Satz als nicht bewiesen.

0
Mabur 13.04.2012, 08:34
@schuhmode

Hm aber warum ist die Hadware des Menschen vertrauenswürdiger als die des Computers? Also man hat doch auch schon von in Menschen geführten Beweisen Fehler gefunden? Und das obwohl ziemlich viele Augenpaare drüber geschaut habenl. Wenn 100 Computer auf dasselbe Ergebnis gekommen sind, oder sagen wir grob gesagt beliebig viele, dann frage ich mich warum die Hardware Mensch vertrauenswürdiger ist, denn würde ein Mensch auf 100 Seiten das 4 Farben Problem lösen und 1000 Menschen drüber schauen, würde ich 10 Computern mehr vertrauen, die mit einem "relativ" übersichtlichen Algorithmus den man leicht nachvollziehen kann, mir sagen es ist gelöst.

Aber zum Vier Farben Problem hatte ich auch mal einen Beweis formuliert der darauf beruhte, dass es äquivallent dazu ist, dass man eine Karte erzeugt in der ein Maximum an Gebieten jeweils untereinander eine Grenze haben muss, damit konnte ich dann schnell eine Karte erzeugen dergestallt, dass es unmöglich war ein Gebiet hinzuzufügen ohne eine Grenze aufzulösen - natürlich gehe ich davon aus das der Beweis falsch ist, aber ich finde den Fehler nicht.^^

0
Suboptimierer 13.04.2012, 09:57
@Mabur

Das hört sich plausibel an. Wie lautet der mathematische Ansatz (du weißt, Mathematiker sprechen am liebsten Mathematik)? ;-)

0
Suboptimierer 13.04.2012, 10:07
@Mabur

Bezüglich der Computerlösung:

Die Mathematiker wollen jeden Rechenschritt nachvollziehen können. Um das zu erreichen, müssten sie Maschinencode lesen können und selbst da sind sie auf die fehlerfreie Funktion der Bauteile angewiesen. Man kann die Fehlerwahrscheinlichkeit immer weiter verringern, aber niemals auf 0 bringen.

Es ist wahr, dass bei menschlichen Beweisen auch immer eine Fehlerwahrscheinlichkeit existiert, aber was auf dem Papiersteht, ist keine Blackbox wie beim Computer. Mal angenommen, Gott existierte. Dann würden Mathematiker einen Beweis selbst dann nicht anerkennen, wenn man Gott einen Zettel mit der Aufgabe geben würde und Gott dann sagen würde: "4 ist die richtige Antwort". Gott ist eine Blackbox. Klar weiß man, dass Gott niemals Fehler macht (genaugenommen kann man selbst das nicht wissen), aber man kann es einfach nicht nachvollziehen.

0
Mabur 13.04.2012, 11:45
@Suboptimierer

Hm also ich denke, Computerbeweise ist der Punkt in dem selbst Mathematiker subjektiv werden. Ein Teil sagt ja ein Teil sagt nein. Das ist eben Ansichtssache nicht jeder Mathematiker empfindet sie als falsch, aber ich kann nachvollziehen, dass man dazu nein sagt.

Der Ansatz ist eben folgender Satz: Das vier Farben Problem ist äquivalent dazu, dass es unmöglich ist eine Karte zu zeichnen auf der mehr als 4 Gebiete eine gemeinsame Grenze untereinander haben.

Der Rest ist Geometrie. Für mich ist dieser Ansatz so einleuchtend, dass ich nicht wüsste wie ich dazu noch was beweisen soll.

Dann zeichne ich einfach einen Kreis, und drei Gebiete ich meine exakt drei Gebiete mit einer gemeinsamen Grenze müssen eben einen gemeinsamen Punkt haben. (nen viertes Gebiet dazu könnte natürlich in die Mitte gezeichnet werden)., und wenn man dann nen bißchen überlegt und die Anzahl der Gebiete erhöht kommt man dann beim 5 Gebiet darauf, dass man es nicht zuzeichnen kann ohne eine gemeinsame Grenze von zwei Gebieten aufzulösen. Wobei diese graphische herangenhensweise vermutlich nicht mehr aktuell ist, ich weiß zumindest, dass sie damals angewendet wurde von Euler z.B..

Liebe Grüße Mabur

0
Suboptimierer 13.04.2012, 23:17
@Mabur

Aber gerade das gilt es doch zu beweisen, dass nämlich kein 5. Gebiet hinzufügbar ist, ohne das eine Grenze aufgelöst wird.

Du sagst einfach, dass dir keine Möglichkeit einfällt. Natürlich wird dir das niemals als Beweis abgenommen werden.

Wir wissen ja inzwischen, dass es beweisbar ist.

Aber schon dein Ansatz ist nur eine Möglichkeit, ein Versuch.

Warum wähltest du ausgerechnet einen Kreis. Du müsstest zudem zeigen, dass deine Überlegung nicht nur für Kreise, sondern für alle möglichen Formen von Ländern gilt.

Dazu ist eben theoretisches, mathematisches Grundlagenwissen im Bereich Graphen und Netze notwendig, denn meiner Erinnerung nach kann man eine Landkarte auch als planaren Graphen betrachten.

0
Mabur 14.04.2012, 00:05
@Suboptimierer

Nein der Ansatz ist kein Kreis sondern eine beliebige Fläche und es funktioniert so ähnlich, wie beim Königsbergerbrückenproblem. Ich weiß, dass es damals als Beweis (wenn denn kein Fehler drin wäre, von dem ich weiß das er drin sein muss, weil alles andere wäre sehr unwahrscheinlich), durchgegangen wäre. Der Beweis beinhaltet alle möglichen Länderkombinationen in egal welcher Form.

1 Gebiet = zwangsweise irgendeine Fläche, die wie auch immer geformt ist

2 Gebiete = zwangsweise Gebiete die sich berühren (weil jedes Gebiet muss ja eine Grenze mit jeweils anderen Gebieten haben)

3 Gebiete = haben zwangsweise einen gemeinsamen Punkt, weil sie zusammen eine gemeinsame Grenze haben müssen

es gibt dazu noch die Möglichkeit dass eine Fläche die anderen umschließt

4.Gebiete (mit jeweils gemeinsamer Grenze ) muss man mal aufmalen man sieht... es gibt nicht viele Möglichkeiten-> man kann logisch schließen wie die vier Gebiete jeweils aussehen müssen und ich meine mit Logik schließen, dass man sicher ist jeden Spezialfall der Beziehungen erfasst zu haben: Man kann es anlog umschreiben als alle möglichen Beziehungen der Flächen untereinder...

5 Gebiete ausgehend von den vierer Flächen sieht man es ist unmöglich 5 hinzuzufügen -> es ist unmöglich eine Karte zu zeichnen in der 5 Gebiete gemeinsame Grenzen haben

Liebe Grüße

Mabur

0
Mabur 14.04.2012, 00:15
@Mabur

Anders ausgdrückt wenn du willst das 4 länder eine gemeinsame Grenze haben, muss das 4te Gebiet zwangsläufig ein komplettes Land umschließen um eine Grenze mit allen 3 anderen Ländern haben zu können. Das 5 Gebiet kann man nicht mehr zuzeichnen weil ein Land umschlossen wird.

0

naja, mathematik ist schon etwas komplexer als normale Programme. Während das otto-normal Programm eigendlich (wenn überhaupt) nur addiert oder subtrahiert, vieleicht auch noch dividiert oder multipliziert, geht es in der Mathematik ja auch oft um flächenberechnung oder ...son komplitziertzes Zeugs halt :-l

chaostheorie314 12.04.2012, 21:23

man kann die mathematischen formeln fast 1 zu 1 in ein programm übertragen. das funktioniert dann eben nur als sehr schneller taschenrechner.

0

Hey chaostheorie314,

zum programmieren brauchst du zwingend mathematische Kenntnisse, wohingegen die Mathematik ganz locker ohne Programmierkenntnisse auskommt.

; ) lg

chaostheorie314 12.04.2012, 21:21

hmm kann ich so nicht bestätigen. ich bin das direkte gegenbeispiel dazu. ich habe früher ausschließlich programmiert und mich überhaupt nicht für mathematik interessiert, jetzt interessiere ich mich für mathematik und ich meine, dass ich durch das üben beim programmieren die logik hinter der mathematik viel besser als der durchschnitt verstehe.

0

Was möchtest Du wissen?