Os sistemas técnicos que eu uso e respeito quase fazem distinção entre maiúsculas e minúsculas: seja sistema operacional ou linguagem de programação ou qualquer outra coisa.
As exceções que eu pude pensar agora são as tags HTML e algumas implementações do SQL e a linguagem de programação Ada.
Mesmo nesses casos, acho que há fortes tendências para realmente escrever tags HTML em minúsculas e a semântica de consultas SQL em maiúsculas (e parâmetros em maiúsculas). (Corrija-me se estiver errado.) Quanto ao Ada, o modo Emacs o corrigirá se você digitar, por exemplo, um nome de procedimento em minúsculas, embora isso não importe ao compilar. Portanto, mesmo quando há distinção entre maiúsculas e minúsculas, parece que as pessoas concordam que é uma má ideia.
O motivo é que você obtém um poder muito mais expressivo com distinção entre maiúsculas e minúsculas. Não só quantitativamente - CD
é um, mas CD
, Cd
, cD
, e cd
são quatro - mas mais importante, você pode expressar propósito, a ênfase, etc. usando maiúsculas e minúsculas de forma sensata; Além disso, ao programar, você aprimora a legibilidade.
Intuitivamente, é claro que você não ler hi
e HI
da mesma maneira!
Mas, para dar um exemplo no mundo dos computadores, na linguagem de programação Ada (da década de 1980), a primeira linha de um bloco de código de procedimento pode ser assim:
procedure body P(SCB : in out Semaphore_Control_Block) is
como você vê, os nomes dos procedimentos e dos parâmetros são maiúsculos, assim como os tipos de dados, tudo o resto é minúsculo. Observe também que o nome do parâmetro "all uppercase" nos diz que é um acrônimo. Agora, compare isso com
procedure body p(scb : in out semaphore_control_block) is
Isso é possível, pois o Ada não diferencia maiúsculas de minúsculas (ou, para ser exato, o compilador o mudará para o primeiro exemplo, mas é claro que não mudará seu código). Ou, que tal:
PROCedure body P(Scb : IN Out semaphore_CONTROL_BLOCK) iS
Esse é um pouco ridículo, eu sei; mas alguém seria estúpido o suficiente para escrever dessa maneira (bem, talvez não). A questão é que um sistema que diferencia maiúsculas de minúsculas não apenas força as pessoas a serem consistentes, mas também é ajudado por elas (legibilidade) e as utiliza em proveito próprio (exemplo de acrônimo acima).