Lo stile C # suggerisce di usare CamelCase negli identificatori per delimitare le parole. La tradizione Lisp suggerisce invece di usare trattini.
È mai esistito un linguaggio di programmazione in cui l'uso degli spazi negli identificatori non era solo consentito, ma un linguaggio comunemente usato quando si impiegano identificatori a più parole?
È possibile avere identificatori con spazi in alcune implementazioni di Scheme , ma non è una pratica ampiamente diffusa. Ecco un esempio:
Petite Chez Scheme Version 8.4
Copyright (c) 1985-2011 Cadence Research Systems
> (define |hey there| 100)
> (define |x y z| 200)
> (list |hey there| |x y z|)
(100 200)
alert({'some Prop':'bob'}['some Prop']);
ma se quei nomi di proprietà di stringa non superano il test identificatore / etichetta non è possibile utilizzarli con la notazione punto.
define_singleton_method "sjdlkfjsljk#$SDEF SDFSDF@# @#$!!~" do; puts 42; end;
e poi puoi: send "sjdlkfjsljk#$SDEF SDFSDF@# @#$!!~"
ma non è comune.
bobs_utilities :: string_functions :: scramble
. Questo è un nome e possiamo includere spazi bianchi arbitrari se vogliamo perché è sintassi, non un semplice token. I nomi con più componenti vogliono essere sintassi astratta; Le informazioni sullo spazio dei nomi in un singolo identificatore sono fondamentalmente un hack "manomissione del nome" per rappresentare la struttura all'interno del testo in cui manca il meccanismo per rappresentare la struttura.