NachrichtHallo,
und genau *das* ist der Denkfehler, "etwas was programmierbar ist"
sollte es schon sein. Ich glaube aber nicht, das die Aufgabe
(selbst wenn so eine Datebank existieren würde) "Überprüfe ob eines der
Ausgabe-Pattern der Funktion Fx[] mit einem der
Eingabe Pattern der Funktion Fy[] übereinstimmt" programmierbar ist.
Man nehme nur mal eine Matrix von reellen Zahlen daß kann
z. B.
_?MatrixQ
m:{__?VectorQ} /; Equal @@ (Length /@ m)
m:{__List} /; Length[Dimensions[m]]==2
m_ /; Length[Dimensions[m]]==2
m:{{__}..} /; Equal @@ (Length /@ m)
sein.
ich halte es schlicht für unmöglich die äquivalenz
dieser Muster zu überprüfen, und selbst wenn es bei diesem
einfachen Beispiel möglich wäre bin ich sicher, das es für ein
allgemeines Objekt nicht geht.
Das es nicht geht, liegt daran, das ein Pattern in einem bestimmten
Zusammenhang gebraucht wird, es aber durchaus sein kann,
das es noch weitere Zusammenhänge gibt, die von dem Pattern erfüllt werden
die sich aber nicht in dem aktuellen Pattern wiederspiegeln.
Um solche nicht expliziten Zusammenhänge zu erkennen wurde Mathematica
eine allgemeine Beschreibung eines Objektes benötigen und die kann ein
Computer-Programm nicht haben. Ein Computer kann auch nicht erkennen,
das die Beschreibungen:
"es quakt und lebt am See"
"es ist grün und hat Schwimmhäute"
"es entwickelt sich aus einer Kaulquappe"
alle eine Frosch meinen. Dazu müßte es eine allgemeine
Vorstellung von einem Ding das "Frosch" heißt haben.
Hat es aber nicht ! weil es doof und ein Computer-Programm ist.
Tja und eben weil Mathematica bloß Turing vollständig ist,
geht das nicht.
Und noch was, "objekt-orientiertes Programmieren" funktioniert weder
in Mathematica noch sonst irgenwo ... und selbst wenn es funktionieren
würde, könntes es ein Problem, das eben nicht berechenbar ist nicht lösen.
Man kann so ein System, für ein spezielle Aufgabe, z. B. eine Bild- oder
Signalverarbeitungskette, schreiben, auch in Mathematica. Dann muß man aber
sehr enge Grenzen für die Daten und Parameter setzen. Das wichtigste daran
ist ein "style guide" für die Programmierer damit eine Matrix eben *immer*
mit _?MatrixQ beschrieben wird und nie anders und damit alle Funtionen
immer eine Matrix zurück geben und nie Liste von Ersetzungsregeln mit den
Matrizen. Allgemein für Mathematica geht es nicht.
Gruß
Jens
----- Original Message -----
From: Harald Berndt
To: Jens-Peer Kuska ; Nowak Robert ; charivari@XXXXXXX.de ; demug@XXXXXXX.ch
Sent: Monday, May 23, 2005 10:03 PM
Subject: Re: Mathematica & G-Programmierung
Aber Jens-Peer! Sie wollen doch nicht etwa sagen dass etwas was programmierbar ist (also jede "Maschine"- Hallo, Herr
Turing!) nicht in Mathematica programmierbar ist? Die graphischen Darstellungen die da benötigt werden sind ja nur
Representationen von Objekten, und Objekt-orientiertes programmieren funktioniert in Mathematica ja nachweisbar. Und
Mathematica hat ja sogar schon eingebaute database connectivity. Ich sehe da kein Problem!
Grüsse,
Harald
----- Original Message -----
From: Jens-Peer Kuska
To: Nowak Robert ; charivari@XXXXXXX.de ; demug@XXXXXXX.ch
Sent: Monday, May 23, 2005 12:35 PM
Subject: Re: Mathematica & G-Programmierung
Hallo,
das diese Behauptung Unsinn ist, kann man sich sehr leicht
überlegen. Damit eine solche "graphische Programmierung"
funktioniert, braucht man eine Datenbank aller Funktionen die
alle Eingabe-Parameter mit ihren Eingabe-Pattern und die möglichen
Ausgabe Pattern enthält. Nur so kann man nämlich sicherstellen das
die graphisch verbundenen Elemente einander nicht völlig
sinnlose Eingaben übergeben.
Jetzt erinnert man sich aber, das Mathematica
a) keine Datentypen kennt
b) Pattern eine viel allgemeinere Struktur sind als ein bloßer Datentyp
ein solches System müßte also überprüfen können, ob eines der möglichen
Ausgabepattern einer Funktion mit einem der möglichen Eingabepattern
einer anderen Funktion äquivalent ist. Ich glaube nicht, dass das
auch nur "theoretisch" möglich ist.
Sowas funktioniert nur in Sprachen mit einem strengen Typenkonzept
aber *nicht* in Mathematica, weil Mathematica das völlige Gegenteil
zu einer getypten Sprache ist.
Gruß
Jens
----- Original Message -----
From: Nowak Robert
To: charivari@XXXXXXX.de ; demug@XXXXXXX.ch
Sent: Monday, May 23, 2005 6:04 PM
Subject: RE: Mathematica & G-Programmierung
theoretisch ja,
praktisch ist mir keine erweiterung bekannt.
müsste ein spezielles frontend sein welches mit dem mma kernel kommuniziert.
l.g. robert
-----Original Message-----
From: charivari@XXXXXXX.de [mailto:charivari@XXXXXXX.de]
Sent: Sunday, May 22, 2005 10:31 PM
To: demug@XXXXXXX.ch
Subject: Mathematica & G-Programmierung
Hallo,
ist es möglich mit Mathematica auch grafisch zu Programmierungen?
(Vorbild ist hier Labview)
Besten Dank und Gruss,
chari
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193