2013-06-30 13 views
6

Perché alcuni nomi C++ sono brevi e talvolta difficili da comprendere come strcmp, cout, cin, ecc. Ma in altri linguaggi come il nome Java non sono brevi. Fa risparmiare tempo, memoria o cosa?Perché alcuni identificatori nella libreria C++ standard sono brevi?

+5

Perché le persone sono pigre e la pigrizia sposta il mondo. (: – Rubens

+0

Ma la leggibilità non è più importante –

+5

Negli standard pre C89, la parte significativa degli identificatori esterni è stata di 6 caratteri.I linker sono stati autorizzati a ignorare i caratteri rimanenti.Questo è il motivo per cui la lunghezza dell'identificatore limitata della libreria standard è di 6 caratteri. – dasblinkenlight

risposta

11

Ciò si applica principalmente alle porzioni della libreria C++ standard che sono state "ereditate" da C. Negli standard pre-C89 del linguaggio C la parte significativa degli identificatori esterni è stata limitata a 6 caratteri; i linker potevano ignorare i restanti personaggi. Questo è il motivo per cui la libreria C standard ha limitato la lunghezza dell'identificatore a 6 caratteri. C++ ha incorporato quella libreria "all'ingrosso", insieme a identificatori un po 'criptici.

+0

Che dire di cout e cin non potrebbero cambiare cout to echo e cin a leggere. –

+2

@Motubet Li scriverei come "cattiva influenza" della libreria C: in C, i descrittori di file standard sono chiamati 'stdin',' stdout' e 'stderr'; I progettisti C++ (molto probabilmente lo stesso Stroustrup) hanno sostituito 'std' (" standard ") con' c' ("character"), e mantenuto i vecchi suffissi. – dasblinkenlight

0

C++ eredita da C che è stato costruito molto tempo fa da programmatori che erano abituati a lavorare nell'assembler.

Ma penso che approfondisca lo sfondo matematico dei programmatori. Ci sono stati i primi tentativi di rendere le lingue più facili da capire usando termini inglesi, COBOL e SQL sono probabilmente gli unici sopravvissuti. Ma dal momento che le parole nei linguaggi di programmazione hanno un significato molto preciso, usare 'SELECT' invece di un due punti aiuta solo una piccola quantità, è comunque necessario conoscere tutti i dettagli di SQL per scrivere il resto della query.

Gli identificatori brevi rendono il codice più facile da capire per i programmatori esperti, è possibile vedere e analizzare più strutture in una sola occhiata. Se dovessi mai leggere articoli scientifici dal C17-C18 dove usano una pagina di prosa per descrivere ciò che scriveremmo in una singola equazione - capirai.

1

Alcune parti delle librerie C++ Standard derivano dalla libreria standard C precedente. La vecchia libreria standard C a sua volta era derivata dalla precedente libreria K & R che forniva alcune delle funzionalità di base attraverso funzioni che in altre lingue sono integrate nel linguaggio come Input/Output.

Questa sezione del manuale Rationale for the ANSI C Programming Language fornisce una descrizione delle convenzioni di denominazione per gli identificativi C.

Il linguaggio di programmazione C viene compilato e l'output del codice macchina del compilatore è collegato tra loro nelle applicazioni reali. Il software che esegue il collegamento fa generalmente parte degli strumenti standard offerti da un fornitore di sistemi operativi. Un'indagine sulle applicazioni di linker disponibili offerte da vari fornitori ha rilevato che la maggior parte dei sei caratteri di base forniti per gli identificatori esterni che potrebbero essere elaborati dai linker. Alcuni linker consentivano più tuttavia specificando un limite di sei caratteri, l'elenco dei computer di destinazione disponibili per i compilatori C era molto più grande.

Rimanendo con i limiti dei linker, ha permesso ai programmatori C di scrivere programmi C e librerie di funzioni che potevano essere utilizzate con software scritto in altre lingue e consentito l'uso di librerie scritte in altre lingue per essere utilizzate da Programmatori C

Problemi correlati