Ответ 1
"Сахар" в программировании обычно относится к тем приятным дополнениям, в основном ярлыкам, которые облегчают ввод и чтение некоторых конструкций (последние на практике являются наиболее важными в течение жизненного цикла вашей программы).
В Википедии есть определение синтаксического сахара, но вы должны заметить, что не весь сахар, по сути, является синтаксическим (не все недавние добавления сладостей были просто изменениями компилятора).
Вот несколько примеров:
- операторы постфиксного и префиксного приращения (
i++
и++i
). Их единственная цель - избежать написания дополнительного заявления. Они чистый сахар. -
+=
,|=
,&=
и т.д. сделаны из одного и того же вида сахара. - Неявное преобразование между примитивными типами и объектами также является сахаром.
- вывод типа тоже сахар.
- Лямбда-выражение, поставляемое с Java 8, это какой-то другой вид сахара (этот не только синтаксический)
Считается, что Java недостаточно лаконична, особенно по сравнению с современными языками. Вот почему приветствуются те дополнения, которые помогают ускорить чтение кода.
В заключение, я бы только отметил, что, хотя недостаток сахара может сделать вашу программу полной, избыток сахара, приводящий к множеству разных способов написания одних и тех же вещей, может сделать ваш язык проблемным, а вашу программу менее последовательной и трудной в обслуживании., Другой вид сахара, API-сахар, чаще всего является чумой, которая затрудняет понимание API, особенно когда он состоит из добавок (например, с перегрузкой).
При этом десагеринг относится либо к
- процесс, с помощью которого вы удаляете все лишнее в языке
- процесс, с помощью которого обработчик кода выясняет, что стоит за подслащенным оператором (это может, например, включать вывод типа)