per C++,
$ cat name.cpp
int main() {
int a = 74678;
int bcdefghijklmnopqrstuvwxyz = 5664;
}
$ g++ -S name.cpp
$ cat name.s
.file "name.cpp"
.text
.align 2
.globl main
.type main, @function
main:
.LFB2:
pushl %ebp
.LCFI0:
movl %esp, %ebp
.LCFI1:
subl $8, %esp
.LCFI2:
andl $-16, %esp
movl $0, %eax
addl $15, %eax
addl $15, %eax
shrl $4, %eax
sall $4, %eax
subl %eax, %esp
movl $74678, -4(%ebp)
movl $5664, -8(%ebp)
movl $0, %eax
leave
ret
.LFE2:
.size main, .-main
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-11.0.1)"
$
Come si può vedere, né a
nè bcdefghijklmnopqrstuvwxyz
riflettono nell'output assembler. Quindi, la lunghezza del nome della variabile non ha importanza in fase di esecuzione in termini di memoria.
Tuttavia, i nomi variabili contribuiscono enormemente alla progettazione del programma. Alcuni programmatori si affidano anche a buone convenzioni di denominazione invece di commenti per spiegare il design del loro programma.
Una citazione rilevante dal Hacker News,
codice dovrebbe essere scritto in modo da descrivere completamente la funzionalità del programma per i lettori umani, e solo incidentalmente essere interpretati dai computer. Abbiamo difficoltà a ricordare i nomi brevi per molto tempo, e abbiamo difficoltà a guardare i nomi lunghi più e più volte di seguito. Inoltre, i nomi brevi hanno una maggiore probabilità di collisioni (poiché lo spazio di ricerca è più piccolo), ma sono più facili da "trattenere" per brevi periodi di lettura.
Così, le nostre convenzioni per nominare le cose dovrebbero prendere in considerazione i limiti del cervello umano. La lunghezza del nome di una variabile deve essere proporzionale alla distanza tra la sua definizione e il suo uso e inversamente proporzionale alla sua frequenza d'uso.
nomi lunghi come in (2) richiedono più memoria nella testa del programmatore :) – Chubsdad
Il titolo dice "in qualsiasi linguaggio di programmazione", ma i tag dicono "C++" (prima che Martin aggiungesse il tag "linguaggio indipendente") . Quindi qual è? – sepp2k
Tutto quello che stai considerando è un numero intero di cui sto parlando, ma sto dicendo dove nella memoria a and a_long_variable_name_used_instead_of_small_one prendi un po 'di spazio o no – Guri