Rufen die Leute im 0-basierten Indexsystem das Element bei Index 0 das "erste" oder das "nullte" Element an?

8

Sagen Sie beispielsweise beiläufig in Java / C ++, dass 'a' das erste Zeichen von "abc" oder das null ist?

Sagen die Leute beides und es wird immer mehrdeutig sein, oder gibt es eine tatsächliche Konvention?

Ein Zitat aus Wikipedia auf Zeroth Artikel:

  

In der Informatik beginnen Arrayreferenzen oft auch bei 0 , sodass Computerprogrammierer in Situationen, in denen andere möglicherweise zuerst verwendet werden, z. B. Null verwenden.

Dies scheint die Hypothese zu stützen, dass es immer mehrdeutig sein wird.

Danke an Alexandros Gezerlis ( siehe seine Antwort unter ), um dieses Zitat zu finden, von Wie man wie ein Informatiker denkt: Lernen mit Python von Allen B. Downey , Jeffrey Elkner und Chris Meyers, Kapitel 7 :

  

Der erste Buchstabe von "banana" ist nicht a . Es sei denn du bist ein Informatiker. Aus perversen Gründen beginnen Computerwissenschaftler immer damit, von Null an zu zählen. Der 0. Buchstabe (null-eth) von "banana" ist b . Der 1. Buchstabe (one-eth) ist a und der 2. Buchstabe (zwei-eth) ist n .

Dies deutet darauf hin, dass wir als Informatiker die natürliche Semantik von "first", "second" usw. ablehnen sollten, wenn wir mit 0-basierten Indexierungssystemen arbeiten.

Dieses Zitat legt nahe, dass dort vielleicht ARE offizielle Entscheidungen für bestimmte Sprachen sind, also habe ich diese Frage [language-agnostic] gestellt.

    
polygenelubricants 08.04.2010, 14:17
quelle

8 Antworten

25

Es ist das erste Zeichen oder Element im Array, aber es befindet sich im Index Null.

    
Jason Coco 08.04.2010 14:21
quelle
9

Der Begriff "first" hat nichts mit dem absoluten Index des Arrays zu tun, sondern einfach seine relative Position als niedrigstes indiziertes Element. Turbo Pascal zum Beispiel erlaubt beliebige Indizes in Arrays (sagen wir von 5 bis 15). Das Element in Array [5] wird immer noch als erstes Element bezeichnet.

    
Jason Nichols 08.04.2010 14:27
quelle
6

Um aus diesem Wikipedia-Artikel zu zitieren:

  

Der Begriff "null" ist nicht er selbst   mehrdeutig, es schafft Mehrdeutigkeit für   alle nachfolgenden Elemente des   Sequenz, wenn Kontext fehlt, da   sie werden "erste", "zweite",   etc. im Konflikt mit dem normalen   Alltagsbedeutungen dieser Wörter.

Also würde ich "zuerst" sagen.

    
anon 08.04.2010 14:26
quelle
4

Wahrscheinlich subjektiv, aber ich nenne es das erste Element oder Element Null. Es ist das erste und, Isaac Asimovs Gesetze der Robotik beiseite, ich bin nicht einmal davon überzeugt, dass Zeroth ein echtes Wort ist: -)

Per Definition wird alles, was dem ersten vorausgeht, zum ersten und alles andere um eins verschoben.

    
paxdiablo 08.04.2010 14:21
quelle
2

Definitiv zuerst, hörte nie null bis heute!

    
dominic 08.04.2010 14:35
quelle
2

Ich würde den meisten Antworten hier zustimmen, die sagen, das erste Zeichen, das auf Null Index ist, aber nur für den Rekord, ist das Folgende aus Allen Downeys Buch "Python for Software Design":

  

So ist b der 0. Buchstabe ("null-eth") von   "Banane", a ist der 1. Brief   ("One-eth"), und n ist der 2.   ("Zwei-eth") Brief.

Somit entfernt er die Mehrdeutigkeit, indem er entweder:

verwendet

a) eine Zahl und dann "th", oder b) ein Wort und dann "-eth".

    
Alexandros Gezerlis 08.04.2010 16:45
quelle
2

Die C- und C ++ - Standards sagen "Anfangselement" und "erstes Element", was dasselbe bedeutet. Wenn ich mich erinnere, um eindeutig zu sein, sage ich "Anfang", "null" oder "zuerst von Null". Aber normalerweise sage ich "zuerst". Dieses Bananen-Zeug ist entweder eine humorvolle Übertreibung oder ein bisschen bonkers (ich vermute ersteres - es ist nur eine Möglichkeit, 0-Indizierung zu erklären). Ich glaube nicht, dass ich jemanden kenne, der "zuerst" "Index 1 eines 0-indizierten Arrays" sagen würde, es sei denn, sie hätten im selben Absatz zuerst "null" gesagt, um klar zu machen, was sie bedeuten / p>     

Steve Jessop 08.04.2010 17:22
quelle
1

Es hängt davon ab, ob Sie ein Fan von Isaac Asimovs Roboter -Reihe sind oder nicht.

    
Judge Maygarden 08.04.2010 14:28
quelle