Warum werden die Variablen "i" und "j" für Zähler verwendet?

179

Ich weiß, dass dies eine absolut dumme Frage zu sein scheint, aber ich bin zu neugierig, um sie nicht zu stellen ...

Warum wurden "i" und "j" DIE Variablen, die in den meisten Kontrollstrukturen als Zähler verwendet werden sollten?

Obwohl mir der gesunde Menschenverstand sagt, dass sie genau wie X sind, das zur Darstellung unbekannter Werte verwendet wird, kann ich nicht anders, als zu glauben, dass es einen Grund geben muss, warum jeder immer wieder auf die gleiche Weise unterrichtet wird.

Liegt es daran, dass es tatsächlich für Best Practices oder eine Konvention empfohlen wird, oder hat es einen unbekannten Grund dafür?

Nur für den Fall, ich weiß , dass ich ihnen einen beliebigen Namen geben kann und dass Variablennamen nicht relevant sind.

Carlos
quelle
17
i = Iteration während j = nach Interation
Ajreal
7
seltsames 'c' wurde nicht gewählt? wie im Intel 'cx' Zählerregister.
12
Kartesische Koordinaten
Nick Dandoulakis
16
Warum werden aktuelle Fragen zu Community-Wikis, nur weil sie beliebt sind? Das erinnert sehr an den Kommunismus. Wenn jemand etwas wirklich Cooles erfindet, stiehlt die Regierung die Erfindung, um sie mit der Community zu teilen.
Orokusaki
9
Falsch geschlossen: Die Antworten hier sind informativer als zu den anderen ...
Charles Stewart

Antworten:

330

Es kommt letztendlich aus der Mathematik: Die Summationsnotation verwendet traditionell i für den ersten Index, j für den zweiten und so weiter. Beispiel (von http://en.wikipedia.org/wiki/Summation ):

\ sum_ {i = 1} ^ {n} i = \ frac {n ^ 2 + n} {2}

Es wird auch auf diese Weise für Sammlungen von Dingen verwendet, z. B. wenn Sie eine Reihe von Variablen x 1 , x 2 , ... x n haben , wird eine beliebige Variable als x i bezeichnet .

Ich stelle mir vor, dass SLaks richtig ist, weil ich der erste Buchstabe im Index bin.

zwol
quelle
93
@ SLott: Und warum wird iin der Mathematik verwendet?
SLaks
13
@ Slaks: Das ist eine gute Frage. Ich denke tatsächlich, dass "i" von einer ganzen Zahl mehr als vom Index kommen könnte. Ich denke auch, dass es einfach ist, an eine Tafel zu schreiben. In den 70er Jahren wurden wir gewarnt, dass wir unser "i" und "j" auf absolut unterschiedliche Weise geschrieben haben. In der Tat wurde uns gesagt, wir sollten unser "i" genau wie ein rückwärts gerichtetes "j" zeichnen, um vollkommen klar zu sein.
S.Lott
26
@ S.Lott: Ich bezweifle, dass es von einer ganzen Zahl kommt. Wir verwenden ℤ (Tafel fett Z) für die ganzen Zahlen, weil es für das deutsche Wort Zahlen steht , was Zahlen bedeutet . Unter der Annahme, dass die Summationsnotation ungefähr zur gleichen Zeit entstand, wäre die deutsche Notation zu erwarten - und das deutsche Wort für Index ist Index , der ebenfalls mit einem i beginnt . Und ich kann mir nicht viele Briefe vorstellen, die besonders schwer an eine Tafel zu schreiben sind. Nun, außer ξ :-)
Antal Spector-Zabusky
14
"Diese Konvention existiert, weil diese Konvention schon einmal existiert hat." So funktioniert Etymologie: Niemand weiß, warum ein bestimmtes Geräusch in PIE eine bestimmte Bedeutung hat. Es wäre schön, die mathematische Konvention zu erklären, aber die Frage lautet: "Warum werden sie als Zähler in Kontrollstrukturen verwendet?" Bis jemand eine Antwort liefert, die weiter zurückreicht, ist dies die beste. Es spekuliert zumindest, warum es in der Mathematik verwendet wird. Ein richtiger mathematischer Historiker könnte es herausfinden, vielleicht mit einem binären Chop. Euklid hat es nicht benutzt, ich wette, von Neumann hat es benutzt. Wie wäre es mit Cauchy? Er benutzte viel Indizes
Steve Jessop
14
Ich denke, es war Lagrange, der empfohlen hat, a, b, c für Konstanten einer Funktion und x, y, z für Variablen einer Funktion zu verwenden. i, j, k bezeichnen die 'Richtungen' eines Vektors, und die Faktoren einer solchen formalen Summe können als Freiheitsgrade [Richtungen, unter einem anderen Namen] der Gleichung ausgelegt werden.
David
200

Ich glaube, es geht auf Fortran zurück. Variablen, die mit I bis Q beginnen, waren standardmäßig ganzzahlig, die anderen waren real. Dies bedeutete, dass dies Idie erste ganzzahlige Variable und Jdie zweite usw. war, sodass sie in Schleifen verwendet wurden.

Ignacio Vazquez-Abrams
quelle
53
Ich denke, das kommt von der Art und Weise, wie Mathematiker i, j, k gerne als handliche Indizes für Summations- und Matrixmultiplikationsindizes verwenden und was nicht. Ich erinnere mich, dass ich in einem frühen Fortran II-Handbuch etwas darüber gelesen habe. (Ja, Fortran II.)
S.Lott
5
Ja, FORTRAN hat diese Konventionen entwickelt.
Jé Queue
9
Ich wurde nicht Idurch unterrichtet . Google scheint größtenteils zuzustimmen. (verschiedene Versionen von FORTRAN?)NQ
Hugh Allen
2
Und alles andere in Fortran war standardmäßig echt. Was zum Witz "Gott ist real, wenn nicht als Ganzzahl deklariert" führt.
Lagerbaer
4
@learnvst - weil Mathematiker i, j schon mindestens ein Jahrhundert zuvor benutzt hatten.
Martin Beckett
195

Mathematiker verwendeten i, j, k, um Ganzzahlen in der Algebra (Indizes, Reihen, Summierungen usw.) zu bezeichnen, lange bevor es Computer gab (z. B. 1836 oder 1816 ) (dies ist der Ursprung der Standardeinstellungen für FORTRAN-Variablentypen). Die Gewohnheit, Buchstaben aus dem Ende des Alphabets unter Verwendung von (..., x, y, z) für die unbekannten Variablen und von Anfang an (a, b, c , ...) für Konstanten wird allgemein zugeschrieben zu René Descartes (siehe auch hier ) also nehme ich an, dass i, j, k ... n (in der Mitte des Alphabets) für ganze Zahlen wahrscheinlich auch auf ihn zurückzuführen ist.

timday
quelle
17
Für mich ist dies eindeutig die beste Antwort. (Lobende Erwähnung für Michael Borgwardts Antwort, die ebenfalls mathematische Konventionen zitiert, aber nicht so spezifisch ist.) Es tut mir leid, dass Ihre nicht die akzeptierte ist. Alles was ich tun kann, ist meine positive Stimme abzugeben.
John Y
3
Dies ist genau der Grund, warum wir in der Lage sein müssen, für eine von der Community akzeptierte Antwort zu stimmen (und ja, ich weiß, dass dies zu uservoice gehört).
Kredns
Heh. Ich aktualisiere gelegentlich den Link zu einem alten Google-Buch in dieser Antwort, weil Google ständig Dinge herumhackt. Durch Zufall stelle ich fest, dass das Dokument von 1816, das jetzt verlinkt ist, Charles Babbage (vermutlich den Ruhm der Differenz-Engine / Analytical-Engine) als Autor enthält. Es ist also wohl ein Beispiel für die erste Verwendung einer ganzzahligen Variablen "i" durch einen Computerprogrammierer: ^)
Timday
..OK der 1816 Link geht nicht zu einer Seite mit "i", aber sie sind da.
Tag
129

i = ganze Zahl

Kommt aus Fortran, wo ganzzahlige Variablen mit den Buchstaben I bis N beginnen mussten und echte Variablen mit den anderen Buchstaben begannen. Somit war ich der erste und kürzeste ganzzahlige Variablenname. Fortran war eine der frühesten weit verbreiteten Programmiersprachen, und die von Programmierern entwickelten Gewohnheiten wurden auf andere Sprachen übertragen.

EDIT : Ich habe kein Problem mit der Antwort, dass es aus der Mathematik stammt. Zweifellos haben sich hier die Fortran-Designer inspirieren lassen. Tatsache ist, für mich jedenfalls, als ich anfing, in Fortran zu programmieren, verwendeten wir I, J, K, ... für Schleifenzähler, weil sie kurz waren und die ersten gesetzlich zulässigen Variablennamen für ganze Zahlen. Als Student im zweiten Studienjahr an der HS hatte ich wahrscheinlich von Descartes (und einigen wenigen anderen) gehört, aber beim Programmieren nur sehr wenig Verbindung zur Mathematik hergestellt. Tatsächlich hieß der erste Kurs, den ich belegte, "Fortran for Business" und wurde nicht von der Fakultät für Mathematik, sondern von der Fakultät für Wirtschaft / Wirtschaft unterrichtet.

Zumindest für mich hatte die Benennung von Variablen wenig mit Mathematik zu tun, aber alles aufgrund der Gewohnheiten, Fortran-Code zu schreiben, den ich in andere Sprachen trug.

tvanfosson
quelle
4
Ich bin mir ziemlich sicher, dass es FORTRAN war.
Cade Roux
4
Ya, fortran ..... Es verrottet den Geist. Wir haben einen Programmierer, der i ii und iii als Schleifenvariablennamen verwendet. Das andere Symptom sind 6-stellige Variablen- / Funktionsnamen ohne Vokale.
EvilTeach
4
@tvan, ich bin mir ziemlich sicher, dass Variablen, die mit I bis N beginnen, standardmäßig eine Ganzzahl sind, aber Sie können sie trotzdem als real deklarieren, daher der Witz "Gott ist real, es sei denn, es wird eine Ganzzahl deklariert". +1 sowieso, da meine Erinnerung von vor so vielen Jahren möglicherweise NICHT perfekt ist.
Paxdiablo
10
Hey, die FORTRAN-Leute haben es von den Mathematikern geschafft!
Tag
6
Ich stimme @timday zu. Die Verwendung von i als Index einer Reihe ist seit mindestens zwei Jahrhunderten eine Praxis von Mathematikern.
Scottie T
91

isteht für I ndex.
jkommt nach i.

SLaks
quelle
12
Ich denke, er hat über Alphabet gesprochen, versuchen Sie, etwas Fantasie zu verwenden :)
Jack
33
@ Jack: Ich denke, @Pete scherzte ;-)
Chris Pfohl
13
@Cpfohl: Ja, wollte nur langweilig sein: D
Jack
4
@ Peter Kirkham: Vielen Dank, Pete, es war das beste Lachen, das ich im letzten Monat hatte.
AMissico
@SLaks ... Ich glaube, Ihr Recht tut es i = Index, der aus der in Math en.wikipedia.org/wiki/Index_notation verwendeten Indexnotation stammt, oder hier ist eine nette Referenz physics.ucsb.edu/~physCS31/fall2010/index- notation.pdf
John Hartsock
63

Diese Symbole wurden lange vor der Erfindung elektronischer Computer als Matrixindizes in der Mathematik verwendet.

erickson
quelle
52

Ich denke, es wird höchstwahrscheinlich vom Index abgeleitet (im mathematischen Sinne ) - es wird häufig als Index in Summen oder anderen satzbasierten Operationen verwendet und wurde höchstwahrscheinlich schon früher verwendet, bevor es Programmiersprachen gab.

Michael Borgwardt
quelle
Gute Antwort. Dies scheint mir in der Tat die wahrscheinlichste Erklärung zu sein.
Noldorin
3
Jep. Die mathematische Notation für eine Summe wie steht Y = Σ Xivor jeder Programmiersprache.
Treb
Ich denke jedes Mal an Index, wenn ich benutze i. Aber ursprünglich benutze ich es hauptsächlich, weil der gesamte Code, den ich mir anderswo
Ehrfurcht vor dem
47

In der Mathematik wird bevorzugt, aufeinanderfolgende Buchstaben im Alphabet für "anonyme" Variablen zu verwenden, die auf ähnliche Weise verwendet werden. Daher nicht nur "i, j, k", sondern auch "f, g, h", "p, q, r", "x, y, z" (selten mit "u, v, w" vorangestellt), und "α, β, γ".

Jetzt werden "f, g, h" und "x, y, z" nicht frei verwendet: Ersteres gilt für Funktionen, letzteres für Dimensionen. "p, q, r" werden auch häufig für Funktionen verwendet.

Dann gibt es andere Einschränkungen für verfügbare Sequenzen: "l" und "o" werden vermieden, da sie in vielen Schriftarten zu sehr wie "1" und "0" aussehen. "t" wird oft für die Zeit verwendet, "d & δ" für Differentiale und "a, s, m, v" für die physikalischen Maße von Beschleunigung, Verschiebung, Masse und Geschwindigkeit. Das lässt nicht so viele Lücken von drei aufeinanderfolgenden Buchstaben ohne unerwünschte Assoziationen in der Mathematik für Indizes.

Wie mehrere andere bemerkt haben, hatten Konventionen aus der Mathematik einen starken Einfluss auf frühe Programmierkonventionen, und "α, β, γ" war in vielen frühen Zeichensätzen nicht verfügbar.

Charles Stewart
quelle
2
Einverstanden. Obwohl, a, b, cist eine ziemlich häufig verwendete Sequenz, obwohl asie mehrere Bedeutungen hat ...
Stobor
32

Ich fand eine andere mögliche Antwort, die sein könnte, dass ich, j und k von kommen Hamilton's Quaternions.

Alt-Text

Euler wählte i für die imaginäre Einheit.

Hamilton brauchte zwei weitere Quadratwurzeln von -1: ii = jj = kk = ijk = -1

Hamilton war wirklich einflussreich, und Quaternionen waren vor 1900 die Standardmethode für die 3D-Analyse. Bis dahin waren Mathematiker daran gewöhnt, (ijk) als übereinstimmenden Satz zu betrachten. Die Vektorrechnung ersetzte in den 1890er Jahren die quaternionische Analyse, da dies eine bessere Möglichkeit war , Maxwells Gleichungen zu schreiben. Aber die Leute neigten dazu, Vektorgrößen wie folgt zu schreiben: (3i-2j+k) statt (3,-2,1) . So wurde (ijk) zu den Standardbasisvektoren in R ^ 3.

Schließlich begannen die Physiker, mithilfe der Gruppentheorie Symmetrien in Differentialgleichungssystemen zu beschreiben. Also begann (ijk), "Vektoren, die durch Permutationsgruppen ausgetauscht werden", zu konnotieren, und wandte sich dann "indexähnlichen Dingen zu, die alle möglichen Werte in einer bestimmten Menge annehmen", was im Grunde genommen das ist, was sie in einer for-Schleife bedeuten.

Carlos
quelle
11
Endlich eine andere Herangehensweise an die Frage, interessanter Punkt +1
Fabian
30

durch Verwerfen (ein wenig voreingenommen)

a seems an array
b seems another array 
c seems a language name
d seems another language name
e seems exception
f looks bad in combination with "for" (for f, a pickup?)
g seems g force
h seems height

i seems an index                    
j seems i (another index)

k seems a constant k
l seems a number one (1) 
m seems a matrix
n seems a node
o seems an output
p sounds like a pointer
q seems a queue
r seems a return value
s seems a string
t looks like time
u reserved for UVW mapping or electic phase 
v reserved for UVW mapping or electic phase or a vector
w reserved for UVW mapping or electic phase or a weight
x seems an axis (or an unknown variable)
y seems an axis
z seems a third axis
Hernán Eche
quelle
3
Ich sehe n als number, normalerweise die Anzahl der Elemente in einer Menge.
Tom Leys
6
Oh Männer, und was scheint XXX zu sein? )) +1 für die Kreativität;)
Hovhannes Grigoryan
Manchmal bin ich froh, dass ich mich die meiste Zeit nicht darum kümmern muss, welche Art von Mnemonik andere Leute in ihren Köpfen für
Thies Heidecke
21

An einem sonnigen Nachmittag überlegte Archimedes, was er sich überlegte ( wie es an sonnigen Nachmittagen üblich war ) und traf seinen Kumpel Eratosthenes.

Archimedes sagte: "Archimedes zu Eratosthenes Gruß! Ich versuche, eine Lösung für das Verhältnis mehrerer kugelförmiger starrer Körper im Gleichgewicht zu finden. Ich möchte diese Körper mehrmals durchlaufen, aber ich habe eine schreckliche Zeit, den Überblick zu behalten von wie vielen Iterationen habe ich gemacht! "

Eratosthenes sagte: "Warum Archimedes, du reife Pflaume eines Kindes, du könntest nur aufeinanderfolgende Reihen von Linien im Sand markieren, wobei jede die Anzahl der Iterationen verfolgt, die du innerhalb der Iteration durchgeführt hast!"

Archimedes rief der Welt zu, sein großer Freund sei zweifellos ein leuchtendes Leuchtfeuer der Intelligenz, um eine so einfache Lösung zu finden. Aber Archimedes bemerkte, dass er gerne im Kreis um seine Sandgrube läuft, während er nachdenkt. Somit bestand die Gefahr, den Überblick darüber zu verlieren, welche Reihe oben und welche unten war.

"Vielleicht sollte ich diese Zeilen mit einem Buchstaben des Alphabets gleich nebenan markieren, damit ich immer weiß, welche Zeile welche ist! Was halten Sie davon?" Er fragte und fügte dann hinzu: "Aber Eratosthenes ... welche Buchstaben soll ich verwenden?"

Eratosthenes war sich sicher, dass er nicht wusste, welche Briefe am besten wären, und sagte dies auch zu Archimedes. Aber Archimedes war unzufrieden und forderte den armen Bibliothekar weiterhin auf, zumindest die beiden Buchstaben zu wählen, die er für seine derzeitige Sphärengleichgewichtslösung benötigen würde.

Eratosthenes, endlich müde von der unaufhörlichen Bitte um zwei Briefe, schrie: "Ich weiß es einfach nicht !!!"

Also wählte Archimedes die ersten beiden Buchstaben in Eratosthenes 'Ausrufungssatz und dankte seinem Freund für den Beitrag.


Diese Symbole wurden schnell von antiken griechischen Java-Entwicklern übernommen, und der Rest ist ... Geschichte.

Brendan
quelle
6
... und hatte den Brief j.
Andrew Grimm
Wow, das liest sich fast wie eine Schildkröten- und Achilles-Geschichte aus Hofstadters GEB
ProfK
15

Ich denke, das liegt daran, dass viele Schleifen eine Variable vom Typ Int verwenden, um das Zählen durchzuführen, wie z

for (int i = 0; etc

und wenn Sie tippen, sprechen Sie es tatsächlich in Ihrem Kopf aus (wie beim Lesen), also sagen Sie in Ihrem Kopf 'int ....'

und wenn Sie direkt nach diesem 'int ....' einen Buchstaben erfinden müssen, sagen / geben Sie das 'i' ein, weil dies der erste Buchstabe ist, an den Sie denken, wenn Sie gerade 'int' gesagt haben.

Wenn Sie Kindern, die anfangen zu lesen, ein Wort buchstabieren, buchstabieren Sie Wörter für sie, indem Sie folgende Namen verwenden:

WORT buchstabiert William W, Ok O, Ruby R, Done D.

Sie sagen also Int I, Double d, Float f, String s usw. basierend auf dem ersten Buchstaben.

Und j wird verwendet, weil, wenn Sie int I getan haben, J direkt danach folgt.

Michel
quelle
7
ivor dieser Syntax.
SLaks
1
Das ist eine großartige Möglichkeit, den Mist eines Kindes zu verwirren. du bringst dir wirklich bei, so zu buchstabieren?!
Leichtigkeitsrennen im Orbit
14

Ich denke, es ist eine Kombination der anderen genannten Gründe:

Für den Anfang wurde 'i' häufig von Mathematikern in ihrer Notation verwendet, und in den frühen Tagen des Rechnens mit Sprachen, die nicht binär waren (dh auf irgendeine Weise analysiert und lexiert werden mussten), war dies die überwiegende Mehrheit der Benutzer von Computern auch Mathematiker (... und Wissenschaftler und Ingenieure), so dass die Notation in Computersprachen für Programmierschleifen verwendet wurde und seitdem irgendwie nur noch herumsteht.

Kombinieren Sie dies mit der Tatsache, dass der Bildschirmplatz in jenen frühen Tagen sehr begrenzt war, ebenso wie der Speicher. Es war sinnvoll, kürzere Variablennamen beizubehalten.

Alex Marshall
quelle
13

Möglicherweise historisch?

FORTRAN, wahrscheinlich die erste Hochsprache, definiert i, j, k, l, m standardmäßig als ganzzahlige Datentypen, und Schleifen konnten nur durch ganzzahlige Variablen gesteuert werden.

z.B:

mache 100 i = j, 100,5 .... 100 weiter ....

brett
quelle
FWIW, ich überspringe normalerweise den Buchstaben l, weil er der Nummer 1 zu sehr
ähnelt.
13

i = Iterator, i = Index, i = Ganzzahl

Was auch immer Sie denken, "i" steht dafür, es passt immer noch "zur Rechnung".

Wenn Sie nicht nur eine einzige Codezeile in dieser Schleife haben, sollten Sie die Variable iterator / index / integer wahrscheinlich mit einem aussagekräftigeren Namen versehen. Wie: employeeIndex

Übrigens verwende ich normalerweise "i" in meinen einfachen Iteratorschleifen; es sei denn natürlich, es enthält mehrere Codezeilen.

Chris Pietschmann
quelle
13

i = iota, j = jot; beide kleine Änderungen.

iota ist der kleinste Buchstabe im griechischen Alphabet; In der englischen Sprache ist seine Bedeutung mit kleinen Änderungen verbunden, wie in "nicht ein Jota" (aus einem Satz im Neuen Testament: "Bis Himmel und Erde vergehen, wird kein Jota, kein Punkt vom Gesetz vergehen". (Mt 5,18)).

Ein Zähler repräsentiert eine kleine Änderung eines Wertes.

Und von iota kommt jot (iot), was auch ein Synonym für eine kleine Änderung ist.

vgl. http://en.wikipedia.org/wiki/Iota

Stephen
quelle
13

Gut aus der Mathematik: (für lateinische Buchstaben)

a, b: verwendet als Konstanten oder als ganze Zahlen für eine rationale Zahl
c: eine Konstante
d: Ableitung
e: Eulers Zahl
f, g, h: Funktionen
i, j, k: sind Indizes (auch Einheitsvektoren und die Quaternionen)
l: im Allgemeinen nicht verwendet. sieht aus wie 1
m, n: sind Zeilen und Spalten von Matrizen oder als ganze Zahlen für rationale Zahlen
o: auch nicht verwendet (es sei denn, Sie sind in kleiner o-Notation)
p, q: oft als Primzahlen verwendet
r: manchmal eine räumliche Änderung der Variablen andere Zeiten in Bezug auf Primzahlen
s, t: räumliche und zeitliche Variablen oder s werden als Änderung der Variablen für t
u, v, w: Änderung der Variablen
x, y, z: Variablen verwendet

MaDMaD Mad
quelle
11

Viele mögliche Hauptgründe, denke ich:

  • Mathematiker verwenden iund jfür natürliche Zahlen in Formeln (diejenigen, die komplexe Zahlen zumindest selten verwenden), so dass dies auf die Programmierung übertragen wurde
  • von C , iHinweise auf int. Und wenn Sie eine andere brauchen intdann i2ist einfach viel zu lang, so dass Sie sich entscheiden j.
  • Es gibt Sprachen, in denen der erste Buchstabe den Typ bestimmt und idann eine ist integer.
Towi
quelle
10

Es kommt aus Fortran, wo i, j, k, l, m, n implizit ganze Zahlen sind.

Walter Bright
quelle
7

Es kommt definitiv aus der Mathematik, die der Computerprogrammierung lange vorausging.

Also, woher kam es, wenn ich in Mathe kam? Meine völlig ungebildete Vermutung ist, dass Mathematiker, wie ein Kollege sagte, gerne alphabetische Cluster für ähnliche Dinge verwenden - f, g, h für Funktionen; x, y, z für numerische Variablen; p, q, r für logische Variablen; u, v, w für andere Variablensätze, insbesondere im Kalkül; a, b, c für viele Dinge. i, j, k ist praktisch für iterative Variablen, und das erschöpft ungefähr die Möglichkeiten. Warum nicht m, n? Nun, sie werden für ganze Zahlen verwendet, aber häufiger für die Endpunkte von Iterationen als für die iterativen Variablen selbst.

Jemand sollte einen Historiker der Mathematik fragen.

David Lewis
quelle
6

Zähler sind in Programmen so verbreitet, und in den frühen Tagen des Rechnens war alles von höchster Wichtigkeit ...
Programmierer versuchten natürlich, Pixel zu sparen, und das 'i' benötigte weniger Pixel als jeder andere Buchstabe, um darzustellen. (Mathematiker, die faul waren, wählten es aus demselben Grund - als kleinste Glyphe).
Wie bereits erwähnt, folgte 'j' ganz natürlich ...

:) :)

Gerrat
quelle
24
In den frühen Tagen der Berechnung nicht Pixel vorhanden sind .
SLaks
1
@ Slaks, das ist ein gewinnender Kommentar. Sieh nur das Grinsen auf meinem Gesicht, das es liest, und die Stimmen. Nett!
ProfK
"Programmierer haben natürlich versucht, Pixel zu sparen, und das 'i' benötigte weniger Pixel als jeder andere Buchstabe, um es darzustellen." <<< das ist komisch.
ocodo
1
... und so wurde eine vorzeitige Optimierung geboren!
Gerrat
4

Ich benutze es aus mehreren Gründen.

  • Normalerweise basieren meine Schleifen auf int, sodass Sie auf der Tastatur ein vollständiges Dreieck bilden und "int i" eingeben, mit Ausnahme des Leerzeichens, das ich mit meinem Daumen behandle. Dies ist eine sehr schnelle Sequenz zum Eingeben.

  • Das "i" kann für Iterator, Ganzzahl, Inkrement oder Index stehen, was jeweils logisch sinnvoll ist.

Wenn meine persönlichen Verwendungen beiseite gelegt werden, ist die Theorie, dass sie von FORTRAN abgeleitet ist, richtig, wobei ganzzahlige Variablen die Buchstaben I - N verwendeten.

John T.
quelle
4

Ich habe FORTRAN 1965 auf einer Control Data Corp. 3100 gelernt. Variablen, die mit 'I' bis 'N' beginnen, wurden als ganze Zahlen impliziert. Beispiel: 'IGGY' und 'NORB' waren ganze Zahlen, 'XMAX' und 'ALPHA' waren Gleitkommawerte. Sie können dies jedoch durch eine explizite Deklaration überschreiben.

Pierre
quelle