Seite 2 von 2

Verfasst: Dienstag 23. September 2008, 07:16
von dor_neue
BlackJack hat geschrieben: Und zu "Mappen" gibt's ja eine Definition, nämlich "Abbilden" von einem Wert auf einen anderen, oft äquivalenten Wert.
Ich weiß was Du meinst, aber diese Definition gibt es eben nicht - leider...
Somit kann jeder den Begriff ein wenig anders auslegen - Problem dabei - ich muss mit meinem Dozenten arbeiten und mir somit angewöhnen welche Fachbegriffe er wann verwendet. Eine Korrektur klingt zwar einfach, aber wer sich mal an seine Schulzeit zurückerinner und überlegt wie es war den Lehrer zu belehrern - weißt was ich meine?!?

Somit bleibt für mich ein Berg Eindrücke die ich hier zu dem Thema sammeln konnte und das Wissen wie es andere Leute verstehen wenn ich sage eine XML-Datei parsen oder mappen.
Grundsätzlich würde ich auch mappen mittlerweile mehr als Abbildung verstehen - hab auch ein Beispiel gelesen gehabt mit binären schreiben von structs in Datei (unter C) und das wiederauslesen wurde dann als mappen bezeichnet - ich glaube das kommt meiner Definition am nächsten (oder eben Dein Beispiel mit Hibernate unter Java)

Verfasst: Dienstag 23. September 2008, 07:49
von BlackJack
Doch diese Definition gibt es. "to map" und "abbilden" sind Fachbegriffe in der Mathematik und damit auch in der Informatik. Es ist halt bloss ein sehr allgemeiner Begriff, da sich sehr vieles als Abbildung auffassen lässt. Funktionen bilden Werte auf andere ab, Dictionaries bilden Schlüssel auf Werte ab, Listen bilden Indizes auf Werte ab, ORMs bilden Objekte auf Datenbankinhalte ab und umgekehrt, usw.

Verfasst: Dienstag 23. September 2008, 16:59
von keppla
Auch ich kann mich dem anschliessen, dass Mapping (mindestens auch) ein Fachbegriff für "Abbildung" ist. Typische Mappings aus den Vorlesungen waren hashfunktionen.
Den Unterschied zwischen Mapping und Parsing sehe ich da, dass ich beim Mapping erwarten würde, dass die Mächtigkeit einer eingabemenge die der ausgabemenge ist (korrigiert mich).
Beim Parsing kann aus mehreren Eingabeelementen ein Eusgabelement entstehen (z.b. aus vielen zeichen ein token, aus tokens ausdrücke, etc).

Verfasst: Mittwoch 24. September 2008, 12:21
von Panke
Auch ich kann mich dem anschliessen, dass Mapping (mindestens auch) ein Fachbegriff für "Abbildung" ist. Typische Mappings aus den Vorlesungen waren hashfunktionen.
Den Unterschied zwischen Mapping und Parsing sehe ich da, dass ich beim Mapping erwarten würde, dass die Mächtigkeit einer eingabemenge die der ausgabemenge ist (korrigiert mich).
Eine typische Hashfunktion wär für die Mächtigkeitsgeschichte schon ein Gegenbeispiel.

Verfasst: Mittwoch 24. September 2008, 15:20
von keppla
Eine typische Hashfunktion wär für die Mächtigkeitsgeschichte schon ein Gegenbeispiel.
Ok, ich habe hier "menge" etwas ungenau genutzt.
Gemeit war, dass ich für jeden Eingabewert genau einen Ausgabewert habe, auch wenn ich vielleicht bei mehreren Eingaben die gleiche Ausgabe bekomme. Um das mal besser zu formulieren:

Code: Alles auswählen

assert len(some_list) == len( map(hash_function, some_list) )
Du meintest sowas wie

Code: Alles auswählen

assert not len(set(some_list)) == len( set(map(hash_function, some_list) )

Verfasst: Donnerstag 25. September 2008, 10:42
von Panke
Ach, so hast du das gemeint. Also mir würde das als Begriffsdefinition für 'mapping' nicht reichen. Mein Vorschlag wäre ja, so schwammige Begriffe schlichtweg zu vermeiden und bei Konfrontation mit ihnen einfach nachzufragen.

Verfasst: Donnerstag 25. September 2008, 11:12
von Pekh
Wie wäre es mit folgendem Ansatz:

mappen: Abbilden von etwas (in diesem Fall einem Dateiinhalt) auf etwas anderes (in diesem Fall eine Datenstruktur). Definiert sind Ausgang und Ziel, nicht aber der Weg dorthin (Was, aber nicht wie).

parsen: Sehe ich mehr als eine Beschreibung des Weges, als die Frage wie ich die eine Struktur umwandele.

Mappen wäre also eine mathematische/funktionale Beschreibung des Vorgangs, Parsen eine algorithmische.

Verfasst: Freitag 26. September 2008, 08:10
von dor_neue
Pekh hat geschrieben:Wie wäre es mit folgendem Ansatz:

mappen: Abbilden von etwas (in diesem Fall einem Dateiinhalt) auf etwas anderes (in diesem Fall eine Datenstruktur). Definiert sind Ausgang und Ziel, nicht aber der Weg dorthin (Was, aber nicht wie).

parsen: Sehe ich mehr als eine Beschreibung des Weges, als die Frage wie ich die eine Struktur umwandele.

Mappen wäre also eine mathematische/funktionale Beschreibung des Vorgangs, Parsen eine algorithmische.
würde ja heißen, dass jeder Parser eigentlich auch ein Mapper ist...
Neee, die Definition find ich doof :P