Escrever tudo em letras maiúsculas na Internet, diz a netiqueta, é como gritar. Não é bem visto, então o normal é que se escreva respeitando o uso de letras maiúsculas e minúsculas da gramática espanhola. Acontece que se você quiser salvar dados, ainda deve escrever tudo em letras minúsculas e esquecer as letras maiúsculas.
Todas as letras ocupam um byte. Como explicou muito bem um desenvolvedor chamado Nathaniel em seu blog, todas as letras, sejam elas maiúsculas ou minúsculas, utilizam a mesma quantidade de dados: um byte. Nem mais nem menos. O engraçado é que a forma como a Internet funciona significa que usar mais letras minúsculas quando possível permitirá que você salve dados.
Inglês abusa (um pouco) de letras maiúsculas. Em inglês é comum encontrar títulos e manchetes em que palavras significativas são maiúsculas. Vemos isso constantemente em nomes de filmes ou jogos ('(The Legend of) Zelda: Tears of the Kingdom'’, 'Spider-Man: Across the Spider-Verse'), mas é uma prática incorreta de acordo com o Pan- Dicionário Hispânico de Dúvidas (Capitais, 5.2.24: “Não é correto escrever todos os elementos significativos com letra maiúscula (⊗Libro de Buen Amor), pois o uso obrigatório de itálico os delimita suficientemente.”
Olha, eu salvei 31 bytes para você. O autor da descoberta fez um experimento: converteu o “Title Case” (letras maiúsculas de cada palavra significativa do título) em “Sentence Case” (apenas no início da frase ou em nomes próprios) na capa do Hacker News . A página é minimalista e consiste nas 30 notícias do dia, mas fazer essa alteração ainda economizou 31 bytes. Como é possível se letras maiúsculas e minúsculas ocupam o mesmo espaço?
Compressão. Como explicou Nathaniel, o segredo está na compressão de texto na Internet. Em arquivos ZIP, por exemplo, é utilizado o algoritmo 'deflate', que por sua vez faz uso de dois métodos de compressão: codificação Huffman e LZSS, e em ambos os casos o uso de letras minúsculas ou maiúsculas altera muito a quantidade de informação final. Em Huffman, por exemplo, as árvores são utilizadas com base na frequência de cada letra: se eliminarmos as letras maiúsculas desnecessárias (gramaticalmente), aquela árvore é otimizada, pois as letras minúsculas ganham frequência, as árvores ficam menores e com menos ramificações, e melhora a compressão final. Algo semelhante acontece com o LZSS, que detecta fragmentos repetidos nos dados e os substitui por referências curtas.
Você economiza em bytes… e em emissões de CO2. No teste de Nathaniel, o HTML na capa do Hacker News ocupou 5.992 bytes, mas a remoção de todas as letras maiúsculas, exceto as gramaticalmente corretas, resultou no HTML ocupando 5.961 bytes. Você não economizou apenas em dados, mas também em emissões de dióxido de carbono. Pelo menos, de acordo com Sustainable Web Design, onde cada visita ao Hacker News economizaria 0,00001059642 g. Não é muito, mas quando você multiplica por milhões de visitas, as coisas somam (ou subtraem, dependendo de como você olha).
Desenvolvedores da Web, é fácil para vocês. Existem ferramentas que permitem justamente fazer algo assim em qualquer desenvolvimento web. As chamadas minificadores, ferramentas que reduzem o tamanho do código alterando a forma como o código funciona, podem aplicar uma série de regras para evitar letras maiúsculas. Eles normalmente “minificam” o código JS e CSS para otimizá-lo e assim tornar nossos sites mais leves e carregar mais rápido, mas também podem fornecer esses tipos de substituições no código HTML. Isto é evidente, por exemplo, em cores hexadecimais (de 'color:#ABCDEF' a 'color:#abcdef') ou em codificações de caracteres (de '' a ''. São pequenas mudanças, mas tudo ajuda se, como dizemos, esse tipo de código acaba sendo carregado milhões de vezes.
Imagem | Ariano Dhiman
Em Xataka | 20 GOTO 10: Quando o código espaguete, letras maiúsculas e números de linha atormentavam os programadores