Pull to refresh
132
417.2
Вячеслав @petuhoff

Моделирование сложных технических систем

Send message

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

А в русском определение все хорошо, по русскому определению поведения программы не меняется. И я справедливо возмущен, кто такое сказал, откуда это следует, и кто вообще это придумал. В жизни все как раз по другому, о чем даже Никола Вирт говорит.

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

Тут не согласен, язык программирования остается языком програмирования несмотря на существующие в нем ошибки. Можете назвать его сырым продуктом, но это все равно язык програмирования. Так же как и процессор Intel Pentiun в котором была ошибка деления, не перстал быть процессором. (Компилятор Delphi тогда предлагал опцию деления с обходом ошибки).

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

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

А вот почитав русское определение вики, где сказано, что синтаксически сахар это синтаксические возможности, применение которых не влияет на поведение программы можно попасть в просак. Может это специально писали враги которые хотят русских программистов обмануть! ;)))))))

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

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

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

По вашей логике если в языке програмирования есть ошибки, то это не язык программирования, потому что языком програмирования может называтся только язык которые обеспечивает корректное выполенние программ. А если не всегда корректно то это не язык программирования. Так?

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

Что значит хороший или плохой? Доказательство от обратного в математике именно так и строится, если частный пример опровергает общее утверждение, то общее утверждение является ложным. Сокращение записи цикла это типичный, явный и общепринятый пример ситасического сахара (плохой или хороший, какая разница?) и мы наглядно видим как происходит изменение поведения программы (там просто больше или меньше вычислений).

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

In computer sciencesyntactic sugar is syntax within a programming language that is designed to make things easier to read or to express.

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

Синтаксический сахар (англ. syntactic sugar) в языке программирования — это синтаксические возможности, применение которых не влияет на поведение программы, ...

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

Почему? там же выше приямо живой пример синтаксического сахара для цикла от 1 до 10 for (i=1, 10) и for (i=1, 10, 1) выполняется одно и то же, но код реализации будет разный соотвевенно поведение программы будет разным. Во втором случае кода будеть больше, в программу добавляется проверка диапазона вниз, поскольку подразумевается что может быть и отрицательный шаг.

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

А пользователь в зависимости от ситуации может бырать что ему проще записать или проще понять. Это случай не попадает по определение из русской вики, но попадает под определение американской вики. А занчит американское более правильное.

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

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

Есть математические правила, например необходимые и достаточные условия. Есть определения. Есть правила написания определений. И маериканский вариант более правильный, поскольу содержит только необходимые признаки и достаточные признаки синтаксического сахара. В русском определении, лишние условия. Более, того я уже привел наглядный пример когда меняется алгоритм программы при использовании синтасического сахара. Он реально меняется, но от этого сахар не перестает быт сахаром. Никакой отвественности американское определение ни с кого не снимает. Там написано, что синтаксический сахар это все что упрощает чтение и выражение. Адекватность и отстутвие ошибок это требования более общие к любому языку программирования. Но требования более высокго уровния.

Если у меня есть две формы записи цикла, одна из которых проще для понимания, другая проще для записи. То мне кажется это и есть пример синтаксического сахара для разработчика. Для него ничего не меняется кроме вида записи. Но алгоритмы при этом будут немного отличатся. Соответвенно под определение из русской википедии это не подходит. А под определение из английско вполне

Мне это не очевидно, в американском определение все точно и однозначно, добавление непонятного условия не изменения "поведения" в русском варианте только путает.

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

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

Оператор АЭС не должен ее перпрограмировать, у них квалификация другая, то же самое для оперативного персонала нефтяного завода. К тому же если программа создана отлично, ее менять не надо. Она работает и работает. А программисту нужно всегда платить.

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

мне казалось на оборот иделаьный программист смотрит на цифры а видит голую женьщину:

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

Information

Rating
2-nd
Location
Москва, Москва и Московская обл., Россия
Registered
Activity