Синтаксический сахар по сравнению с функцией

Различные примитивные обертки, например, Integer неизменны, таким образом, существует действительно не более краткий способ сделать то, что Вы спрашиваете , если Вы не можете сделать это с чем-то как AtomicLong. Я могу дать этому движение через минуту и обновление. BTW, Хеш-таблица часть эти Платформа Наборов .

12
задан Dinah 7 September 2009 в 17:47
поделиться

9 ответов

Оказывается, это особенность, а не синтаксический сахар, когда она подразумевает другой образ мышления.

Вы правы, когда говорите, что объекты на самом деле представляют собой прославленные структуры с методами и наследование. Однако это всего лишь детали реализации. Объекты позволяют думать иначе. Когда вы думаете об объектах, вам будет легче относиться к сущностям реального мира. То же самое произошло, когда еще глубже в прошлое мы перешли от привычного программирования к процедурному программированию. Под капотом процессор все еще продолжает переходить от OP к OP, но мы могли бы думать иначе, более черным ящиком.

Сказав, что, в крайнем случае, вы можете сказать, что все является синтаксическим сахаром, но часть этого сахара - это особенность, которая позволяет вам думать иначе.

Вы правы, когда говорите, что объекты на самом деле являются прославленными структурами с методами и наследованием. Однако это всего лишь детали реализации. Объекты позволяют думать иначе. Когда вы думаете об объектах, вам будет легче относиться к сущностям реального мира. То же самое произошло, когда еще глубже в прошлое мы перешли от привычного программирования к процедурному программированию. Под капотом процессор все еще продолжает переходить от OP к OP, но мы могли бы думать иначе, более черным ящиком.

Сказав, что, в крайнем случае, вы можете сказать, что все является синтаксическим сахаром, но часть этого сахара - это особенность, которая позволяет вам думать иначе.

Вы правы, когда говорите, что объекты на самом деле являются прославленными структурами с методами и наследованием. Однако это всего лишь детали реализации. Объекты позволяют думать иначе. Когда вы думаете об объектах, вам будет легче относиться к сущностям реального мира. То же самое произошло, когда еще глубже в прошлое мы перешли от привычного программирования к процедурному программированию. Под капотом процессор все еще продолжает переходить от OP к OP, но мы могли бы думать иначе, более черным ящиком.

Сказав, что, в крайнем случае, вы можете сказать, что все является синтаксическим сахаром, но часть этого сахара - это особенность, которая позволяет вам думать иначе.

Когда вы думаете об объектах, вам будет легче относиться к сущностям реального мира. То же самое произошло, когда еще глубже в прошлое мы перешли от привычного программирования к процедурному программированию. Под капотом процессор все еще продолжает переходить от OP к OP, но мы могли бы думать иначе, более черным ящиком.

Сказав, что, в крайнем случае, вы можете сказать, что все является синтаксическим сахаром, но часть этого сахара - это особенность, которая позволяет вам думать иначе.

Когда вы думаете об объектах, вам будет легче относиться к сущностям реального мира. То же самое произошло, когда еще дальше в прошлое мы перешли от привычного программирования к процедурному программированию. Под капотом процессор все еще продолжает переходить от OP к OP, но мы могли бы думать иначе, более черным ящиком.

Сказав, что, в крайнем случае, вы можете сказать, что все является синтаксическим сахаром, но часть этого сахара - это особенность, которая позволяет вам думать иначе.

23
ответ дан 2 December 2019 в 03:04
поделиться

Синтаксический сахар - это функция.

12
ответ дан 2 December 2019 в 03:04
поделиться

Все программное обеспечение представляет собой гигантский стек абстракций, построенный поверх других абстракций. Строка может быть не более чем массивом символов, но есть много операций, которые кажутся естественными для строк, но неудобными для массивов символов. Цель всех этих абстракций одна: удалить не относящиеся к делу детали, чтобы разработчик мог сосредоточиться на важных частях проблемы.

Как вы указываете, все современные языки программирования можно исключить, и мы могли бы вернуться к работает на ассемблере. Но наша производительность резко упадет.

Я полагаю, люди называют что-то синтаксическим сахаром, когда они чувствуют, что получают от этого мало пользы, и функцию, когда они чувствуют, что получают от этого большую пользу. Это делает различие очень размытым и довольно субъективным.

5
ответ дан 2 December 2019 в 03:04
поделиться

Когда изменение дает значение? Я написал на ассемблере. Я переключился на C и посмотрел на вывод компилятора. Его код был на 95 +% лучше, чем мой ручной ассемблер, и его было намного проще писать. Для меня это обеспечило ценность, поэтому я бы сказал, что это не сахар.

C ++ помогает мне переводить мои объектно-ориентированные мысли в код. Пока накладные расходы не слишком высоки, я думаю, что это особенность.

Я практичный человек. «Если я увижу, что это ценно», - вот мой ответ

5
ответ дан 2 December 2019 в 03:04
поделиться

"Синтаксический сахар" - это функция, которая вам не нравится

2
ответ дан 2 December 2019 в 03:04
поделиться

Я должен был бы сказать, когда тот же результат не может быть достигнут простым написанием другого кода с тем же типом «ограничения по времени», что и при использовании синтаксического сахара.

Мой пример будет лямбда-выражением, написание цикла foreach не требует больших усилий, но использование .Foreach () тоже неплохо; вместо того, чтобы переписывать весь класс HttpRequest самостоятельно. Один синтаксический, другой - особенность. Оба экономят время, один намного больше, чем другой.

2
ответ дан 2 December 2019 в 03:04
поделиться

"лень двигатель прогресса" Этот процесс остановится, когда вы сможете сразу же отобразить свои идеи в машине.

0
ответ дан 2 December 2019 в 03:04
поделиться

Похоже, что синтаксическая замена - это синтаксис, который ничего не меняет в возможностях языка, и использование другой конструкции дает точно то же самое. Строка (мышление на Java) - это не просто синтаксический сахар над массивом символов. Массив char является изменяемым (по содержанию, если не по длине). Невозможно сделать массив символов неизменяемым с помощью существующей языковой функции без массива String.

С другой стороны, оператор плюса, работающий со строками, действительно является синтаксическим сахаром для использования StringBuilder и вызова append.

3
ответ дан 2 December 2019 в 03:04
поделиться

Синтаксический сахар и языковая функция в основном описывают одно и то же, даже если синтаксический сахар иногда используется уничижительно, тогда как характеристика часто ассоциируется с с более глубокими изменениями в архитектуре языка (введение лямбда-выражений и т. д.). Но это различие очень зависит от индивидуальной точки зрения (и ее субъективно ощущаемой полезности).

Что касается аспектов языкового дизайна и вашего примера с строками и массивами символов , Я бы сказал, что это не должно быть ни функцией, ни сахаром, а просто выражаться в базовом синтаксисе языков ( LOP - языково-ориентированное программирование). Общие концепции (классы типов, метапрограммирование и т. Д.) Позволяют вам самостоятельно выражать множество новых и полезных конструкций, не дожидаясь, пока язык получит новую функцию. Просто посмотрите на возможности метапрограммирования Haskell или C ++.

0
ответ дан 2 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: