Синтаксический сахар
Материал из Википедии — свободной энциклопедии
Синтаксический сахар (англ. syntactic sugar) — термин, обозначающий дополнения синтаксиса языка программирования, которые не добавляют новых возможностей, а делают использование языка более удобным для человека. «Синтаксический сахар» даёт программисту альтернативный путь, который является более практичным, являясь более кратким или похожим на распространенный способ записи. С формальной точки зрения ничего не меняется.
Конструкции, являющиеся «синтаксическим сахаром», могут легко транслироваться в конструкции основного синтаксиса.
[править] Примеры
Массивы в Си представляют собой блоки в памяти, доступ к которым ведётся через указатель на начало и смещение. Это может быть выражено в языке (a
— начало массива в памяти, i
— индекс необходимого элемента): *(a + i)
, но непосредственные операции с адресами в памяти и смещениями подвержены ошибкам, поэтому язык предоставляет специальный синтаксис: a[i]
.
Другой известный пример специализированной языковой конструкции — тернарная операция языка Си ?:
. Следующие два фрагмента кода эквивалентны:
int a = 1; int b; if (a > 0) b = 1; else b = 2;
int a = 1; int b = a > 0 ? 1 : 2;
Известен афоризм Алана Перлиса: «Синтаксический сахар вызывает рак точек с запятой». Точка с запятой («;»), являясь обязательной частью большинства популярных языков программирования, даже если в новом языке бесполезна, оставляется как необязательный элемент, так как большинство программистов имеют прочную привычку её использования.