açúcar , na programação, geralmente se refere àquelas adições doces , principalmente atalhos, que tornam alguns constructos mais fáceis de digitar e ler (sendo este último, na prática, o mais importante durante o ciclo de vida de seu programa).
A Wikipedia tem uma definição de açúcar sintático, mas você deve notar que nem todo açúcar é, em essência, sintático (nem todas as adições recentes de doces foram apenas alterações do compilador).
Aqui estão alguns exemplos :
- os operadores de incremento postfix e prefix (
i++
e ++i
). Seu único propósito é evitar escrever uma declaração adicional. Eles são açúcar puro.
+=
, |=
, &=
, Etc, são feitos do mesmo tipo de açúcar.
- A conversão implícita entre tipos e objetos primitivos também é um açúcar.
- a inferência de tipo também é açúcar.
- A expressão lambda, que vem com o Java 8, é algum outro tipo de açúcar (este não é apenas sintático )
Java é amplamente visto como não sendo conciso o suficiente, especialmente em comparação com as linguagens modernas. É por isso que essas adições que ajudam a tornar o código mais rápido de ler são bem-vindas.
Para terminar, eu apenas observaria que, embora a falta de açúcar possa tornar seu programa gordo, um excesso de açúcar, levando a muitas maneiras diferentes de escrever as mesmas coisas, pode tornar sua linguagem enjoativa e seu programa menos coerente e mais difícil de manter . Outro tipo de açúcar, o açúcar API, é geralmente uma praga que torna o API mais difícil de entender, especialmente quando é feito de adições (sobrecarga, por exemplo).
Dito isto, desugaring refere-se a
- o processo pelo qual você remove tudo o que é redundante em um idioma
- o processo pelo qual um processador de código descobre o que está por trás de uma instrução açucarada (isso pode, por exemplo, envolver inferência de tipo)