Perché il conteggio delle righe non è in Visual Studio basato su zero? [chiuso]

4

Mi ha appena colpito come una svista di Microsoft. Dal momento che gli array e le altre strutture di dati all'interno del framework .NET iniziano da zero (basato su zero) perché non abbiamo una linea 0 nella vista codice in Visual Studio?

Pensa a quello: -)

    
posta billy.bob 18.08.2011 - 13:11
fonte

6 risposte

40

Poiché hanno fatto un buon lavoro nel separare il modello utente dal modello di programmazione, ecco perché. Lo stesso motivo per cui la maggior parte delle app non ti chiede, ad esempio,

Please enter a varchar(200) representing your name.

Fai una lezione da questo.

    
risposta data 18.08.2011 - 14:43
fonte
27
  1. Tutti gli array e le strutture dati sono indicizzati in base allo zero, non solo in .NET.
  2. Gli indici di matrice sono numerati per il computer, le righe di testo in un documento sono numerate per noi.
  3. Guarda lo screenshot :)

    
risposta data 18.08.2011 - 13:16
fonte
21

C'è una differenza tra il conteggio e l'indicizzazione. L'indice può iniziare con qualsiasi numero (alcune lingue lo supportano), ma per molte ragioni è spesso pratico farlo partire da zero. Anche il conteggio inizia da zero, ma non appena si contano un set che non è vuoto, il primo elemento è 1 e così via.

    
risposta data 18.08.2011 - 15:11
fonte
4

Perché non è naturale supporre che la linea prima sia la linea 0. Molto come non è naturale che il primo elemento di array sia a 0. Comunque questo è il primo numero che può essere usato in un intero senza segno per indicizzare un array con. Quindi, invece di sprecare un elemento, lo usiamo.

    
risposta data 18.08.2011 - 13:16
fonte
3

Per convenzione, gli umani normali contano a partire da 1, mentre molti programmatori e alcuni matematici contano a partire da 0.

La domanda che hai sollevato sui numeri di riga non è specifica per Microsoft Visual Studio. Si applica a tutti gli altri strumenti di editor di testo, perché il conteggio delle righe da 1 è stato adottato come convenzione universale nel software.

Gli innumerevoli altri strumenti che contano le righe di testo da 1 comprendono Blocco note di Windows, editor di testo IDE, editor di testo su Linux, console JavaScript di Firefox, messaggi di errore del compilatore e così via.

Anche se non sarebbe sbagliato contare le righe a partire da 0, si romperà la convenzione stabilita e causerà un'enorme quantità di confusione a tutti gli interessati, dagli sviluppatori agli utenti.

Vedi anche:

risposta data 18.08.2011 - 16:02
fonte
-2

Un link che contrappone alcuni dei punti di Dijkstra (in un articolo che prima o poi uscirà in questa discussione).

Perché la numerazione dovrebbe iniziare a uno

    
risposta data 18.08.2011 - 16:32
fonte

Leggi altre domande sui tag