Sugar , en programación, generalmente se refiere a esas adiciones dulces , en su mayoría accesos directos, que hacen que algunas construcciones sean más fáciles de escribir y leer (siendo estas últimas, en la práctica, las más importantes durante el ciclo de vida de su programa).
Wikipedia tiene una definición de azúcar sintáctico, pero debe tener en cuenta que no todo el azúcar es, en esencia, sintáctico (no todas las adiciones dulces recientes fueron solo cambios del compilador).
Aquí están algunos ejemplos :
- los operadores de incremento de sufijo y prefijo (
i++
y ++i
). Su único propósito es evitar escribir una declaración adicional. Son pura azúcar.
+=
, |=
, &=
, Etc., están hechos del mismo tipo de azúcar.
- La conversión implícita entre tipos primitivos y objetos también es azúcar.
- la inferencia de tipo también es azúcar.
- La expresión lambda, que viene con Java 8, es algún otro tipo de azúcar (este no es solo sintáctico )
En general, se considera que Java no es lo suficientemente conciso, especialmente en comparación con los lenguajes modernos. Es por eso que esas adiciones que ayudan a que el código sea más rápido de leer son bienvenidos.
Para terminar, solo señalaré que, si bien la falta de azúcar puede hacer que su programa sea más pesado, un exceso de azúcar, que lleva a muchas formas diferentes de escribir las mismas cosas, puede hacer que su lenguaje sea mareado y su programa sea menos coherente y más difícil de mantener. . Otro tipo de azúcar, el azúcar API, suele ser una plaga que hace que la API sea más difícil de comprender, especialmente cuando está hecha de adiciones (sobrecarga, por ejemplo).
Dicho esto, desugaring se refiere a
- el proceso mediante el cual elimina todo lo que es redundante en un idioma
- el proceso mediante el cual un procesador de código descubre qué hay detrás de una declaración azucarada (esto puede, por ejemplo, implicar la inferencia de tipos)