Hallo,
[...] Dafür könnte man für ein Tupel aber zum Beispiel eine Methode implementieren, die einem die Position eines Elements zurück gibt, für die Lotto-Zahlen wäre das zum Beispiel recht nützlich.
ich habe noch nie Lotto gespielt und kenne vielleicht nicht die Feinheiten, aber: Ich dachte bisher immer, bei den Lottozahlen käme es gerade *nicht* auf die Reihenfolge bzw. Position an, weil die gezogenen Zahlen doch sowieso aufsteigend sortiert werden. Oder was hab ich da falsch verstanden?
Das Argument spielt sich augenscheinlich ausschließlich auf Datenstrukturebene ab. Natürlich sind Datenstrukturen nicht überflüssig oder irrelevant, aber nach meiner Wahrnehmung ist der relevantere Teil die einer Applikation innewohnende Businesslogik.
Ja, aber die kann auch nur dann optimal arbeiten, wenn die gewählten Datenstrukturen zur Aufgabe passen.
Datenstrukturen ziehen sich durch jede Anwendungsschicht, die wird man nur schwer wegabstrahieren können. Und selbst wenn das gelingt, dann sind sie in irgendeiner Schicht relevant. Bei der Eröterung von low-level Programmiersprachen-Features ist es nicht hilfreich, nicht darüber zu sprechen und uns bewusst Gedanken zu machen, wie wir sie wegabstrahieren.
Ganz im Gegenteil: In Low-Level-Programmiermodellen (z.B. Assembler, bedingt auch noch C) ist es sinnvoll, wenn nicht gar nötig, die zugrundeliegenden Datenstrukturen und ihre Zusammenhänge und Abhängigkeiten zu verstehen, ja, letztendlich zu verstehen, wie es "funktioniert" - etwas, das höhere Programmiersprachen gern verschleiern, weil's der gewöhnliche Programmierer nicht unbedingt wissen muss oder will.
Lottozahlen sind Tupel.
Nein. Lottozahlen sind eher Mengen (im datenbanktechnischen Sinn). Die Anzahl der Elemente ist zwar immer gleich, das könnte für Tupel sprechen; Tupel sind aber geordnete Konstrukte (sie haben eine eindeutige erste, zweite, dritte ... Position), und mehrere Positionen können den gleichen Wert haben. Koordinaten wären etwa ein schönes Beispiel für Tupel. Lottozahlen nicht.
So long,
Martin
Man sollte keinen Senf von sich geben, wenn man nicht auch das Würstchen dazu liefern kann.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(