Синтаксичний цукор: визначення, походження і приклади

Using

Заява в C # гарантує, що деякі об’єкти утилізовані правильно. Компілятор розширює оператор в блок try-finally.

Мова C # дозволяє оголошувати змінні як var x = expr, що дозволяє компілятору виводити тип x з виразу expr, замість того щоб вимагати явного оголошення.

Списки також містять синтаксичний цукор Python (наприклад, [x*x for x in range (10)] для списку квадратів) і декоратори (@staticmethod).

В Haskell рядок, позначений лапками, семантично еквівалентна кількості символів.

У пакеті rvest зустрічається позначення %>%, і говорить про те, що дані (або вихід функції), що передують йому, будуть служити в якості першого аргументу наступного інструменту. Це забезпечує більш лінійний потік і дизайн маніпулювання даними. Tidyverse написано для розміщення значень.

Критика

Деякі програмісти вважають, що ці можливості використання синтаксису або не важливі, або просто несерйозні. Примітно, що спеціальні лінгвістичні форми роблять мову менш одноманітним, а його специфікацію — більш складною, і можуть викликати проблеми по мірі того, як програми стають великими. Це уявлення особливо широко поширене в співтоваристві Lisp, так як воно має дуже простий, регулярний і поверхневий синтаксис, який може бути легко змінений.