Safe vs. unsafe - 2
От: klapaucius  
Дата: 01.06.06 12:01
Оценка: 112 (3) +1 -1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>На каком основании сделано предположение о том, что именно показанный пример будет меняться?


А на каком основании сделано предположение о том, что показанный пример НЕ БУДЕТ меняться?
Сколько не говори про сфероконей — а ведь то, что этот код никогда не изменится не доказать. Это невозможно в принципе.

ГВ>Хорошо, предположим, что строку форматирования поменяли...

ГВ>2. Каков характер предполагаемых изменений строкового литерала? На каком основании сделано предположение, что изменяющий строку не посмотрит на одну строчку вверх?

На каком основании сделано предположение о том, что изменяющий строку ПОСМОТРИТ на одну строчку вверх?
По сути — это делегирование ответственности тому, кто будет модифицировать код в будущем.
Вы считаете, что это хорошая практика?
Уж во всяком случае автор кода лучше в нем разбирается, не будет ли в таком случае лучше, чтобы именно автор заботился о том, чтобы этот код было легче модифицировать и при этом сложнее совершить ошибки?

ГВ>Это пока что фантомы (сферокони), прыгающие вокруг одного конкретного примера.


Сфероконей тут предостаточно, но боюсь, что все они Ваши.
Объясняю:

Вот что предлагает Дарней (я именно так его понял):

Если мы не можем решить задачу используя ТОЛЬКО safe средства — мы используем unsafe;
если же мы МОЖЕМ решить задачу используя ТОЛЬКО safe — то только такие средства и следует использовать.

Все просто, не так ли?

Следовательно:
если мы используем safe средства мы ничего не теряем. (Задача с использованием только таких средств решается)
если мы используем unsafe — мы теряем в надежности. Пусть даже только гипотетически.
Не кажется ли Вам, что при таком условии следует доказывать не то, что, например код будет изменяться, а то, что он изменяться не будет?
Да, мы, в каком-то смысле перестраховываемя, но ведь лучше перестраховаться, не так ли?

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

На самом деле, Дарнею вовсе не нужно доказывать, что что-то ОБЯЗАТЕЛЬНО случится.
Это Вам для опровержения его утверждения нужно доказать, что с кодом чего-то НИКОГДА не случиться.
Легко видеть, что такое утверждение Вы ни для произвольного, ни для приведенного в начале обсуждения кода не докажете.

Вместо этого приходится выслушивать истории про сферического программиста в вакууме, который обязательно посмотрит на одну строчку выше и решит все проблемы Вашего кода.
В реальной жизни таких сферопрограммистов не сыщешь.
Лично я считаю, что всецело полагаться на благоразумие окружающих — как минимум неблагоразумно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>

03.06.06 04:29: Ветка выделена из темы ...и анекдот напоследок
Автор: AlexLion
Дата: 25.05.06
— VladD2
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.