По просьбам трудящихся...
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.06.06 21:51
Оценка: 3 (1) +3 -4 :))) :))) :)
По просьбе Генадия Васильева (далее ГВ) произвожу
Автор: Геннадий Васильев
Дата: 19.06.06
разбор одного из его сообщений на предмет выявления в нем нечестных приемов ведения дискусси ака демагогии.

Речь пойдет об вот этом замечательном произведении: Резюме к safe vs. unsafe
Автор: Геннадий Васильев
Дата: 17.06.06



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

Какие цели может приследовать такая тема? Для меня очивидно, то цель одна — попытаться повысить значимость своего мнения в глазах тех кто неосилил прочесть огромную тему содержащую мало действительно полезной информации.

Является ли это честным приемом дискусси? Едва ли.

Идем дальше...

Теперь переходим к разбору самого сообщения.

ГВ>Очередной раунд баталии, кажется, завершён, оглянемся.


ГВ>Действующие лица и исполнители.


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

ГВ>safe-тусовка — некий народ, вполне оформленно излагающий safe-"парадигму".

ГВ>unsafe-тусовка — явной "парадигмы" не проповедует и на фоне предыдущих выглядит форменными анархистами.

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

Если «unsafe-тусовка» не проповедует, то стало быть «safe-тусовка» проповедует что-то (неважно что). Слово «проповедует» имеет не очень хороший оттенок особенно в данном случае. «Проповедь» вообще слово религиозное. Таким образом, как бы нехотя, но ГВ наводит читателя на мысль о том, что «safe» это некая религия, нуждающаяся в проповедовании.

Естественно, что явно об этом не говорится. Да и сам по себе такой мелкий факт ничего не дает, но в сумме с другими «фактами» он может составить «целостную картину».

Забаво, что при этом ГВ отчетливо подчеркивает то, что лагерь в котором он состоит ничего не проповедует. Но позвольте, тогда в чем вопрос? Доказательство отсуствие бога тоже проповедь. Те кому этот факт по барабану не будут с пеной у рта доказывать свою правоту. И на оборот доказывать можно толко то в чем уверен или во что веришь. Так что солва эти как минимум лукавство.

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

ГВ>Забавно, что именно "парадигму" в её википедическом толковании safe-тусовка и исповедует. Это действительно "взгляд", причём основательно замутнённый.


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

О чем собственно можно еще говорить если «взгляд основательно замутнённый»? В общем-то «разговор уже закрыт. Выводы сделаны. Остальная часть сообщения не более чем развитие мыслей не взывающих сомнение» — как бы намекает читателю ГВ.

Ну, да продолжим.

ГВ>Главное, на мой взгляд, столкновение, произошло даже не на почве safe/unsafe. Этого противоречия по сути, не было даже в помине.


О, как? Так что же тогда, уважаемый, ГВ столько времени спорил? И, главное, о чем?

ГВ>Во всяком случае, unsafe-тусовка даже не пыталась сказать, что, на безопасность можно начхать и, скажем, лепить буфер произвольного размера.


Вот это вообще какой-то специфичный прием лично ГВ. Он периодически проигрывая в споре пытается всячески запутать дело сделав его максимально неточным и противоречивым. Видимо расчет на то, чтобы оппонент в какой-то момент запутается и начнет спорить со своей же позицией или просто начет говорить глупость. Самое смешное, что это даже срабатывает. По крайней мере это позволяет спорить с даже казалось бы непробиваемыми аргументами.

ГВ>Больше всего копий сломалось вокруг мелкой, по сути, задачи форматирования двух целых чисел константным форматом.


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

Вот Safe or Unsafe — this is the question
Автор: AlexLion
Дата: 22.05.06
исходный вопрос. Не трудно понять, что речь в нем идет о выборе более или менее опасного кода.

ГВ>Главный аргумент safe-тусовки состоял в следующем: safe-правил нужно придерживаться всегда, ибо они правильные.


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

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

Собственно дальше уже ходить не надо никакого корректного анализа обсуждаемой темы в данном сообщении уже быть не может. И настрой, и методы ясны. Но я все же продолжу «разбор полетов».

Главное помнить, что цель моего сообщения не возразить ГВ, а ответить на его вопрос «где в его словах демагогия».

ГВ>Понятно, что о такую, замкнутую саму на себя аргументацию любая контраргументация разлетится вдребезги.


А вот они – выводы на базе подмены. Причем тут же ГВ подстраховывается на случай если его «контраркументация» против даже извращенного высказывания окажется не очень убедительной. Хотя скорее фраза про «замкнутость» должна была продемонстрировать ущербность позиции столь умело приписанной оппонентам.

ГВ>Любопытными оказались два момента, связанные с safe-правилами по отношению к языкам C/C++.


ГВ>Первый: почему snprintf и прочие функции, контролирующие длину буфера (в дальнейшем — ФКДБ) a priori полагаются безопасными, тогда как sprintf и прочие подобные — нет?


Снова подмена мнения оппонента и борьба с вымышленным мнением. Никто и никогда не говорил, что snprintf безопасна. Просто рамки исходного вопроса (см. ссылку выше) вынуждает выбирать между snprintf и sprintf. Те кого ГВ называет «safe-тусовкой» отвечали ему, что выбирая из двух зол нужно выбирать меньшее. Что snprintf хотя бы позволяет избежать хотя бы какой-то класс ошибок.

И не надо со мной спорить. В данном случае я не выражаю эту позицию. Я ее цитирую. Причем исключительно с целью продемонстрировать подмену сути высказывания.

ГВ>Второй: почему выбор заведомо достаточного размера буфера без последующей проверки не считается safe-подходом?


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

ГВ>Налицо двойной перекос в позиции safe-тусовки: первый — неправомерное сужение safe-методик C/C++ до ФКДБ; второй, следующий из первого — отрицание возможности использования якобы unsafe-механизмов. Никаких рациональных обоснований safe-тусовка так и не привела, вот потому я и сказал в самом начале о "взгляде", сиречь — о "парадигме". А как ещё называть сугубо иррационально обоснованные высказывания?


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

Что касается отсутствия «рациональных обоснований» — это тоже явная не правда. Обоснований было не мало. Но ведь очень просто объявить чужие доводы необоснованными, а лучше смешными.

ГВ>Первое противоречие простительно из-за того, что сходу подменили ФКДБ на некий общий safe. Я и сам время от времени сбивался из-за терминологической перекошенности.


Мастер и сам сбивался. Да еще и подменили что-то. Забавная подмена учитывая, что тема имела название «Safe or Unsafe — this is the question».

ГВ>На первый взгляд, аргументация safe-тусовки не кажется такой уж иррациональной. И правда, все упомянутые ими "может быть" могут быть и на самом деле. Только одна несуразица. Когда мы говорим о "может быть", нужно отдавать себе отчёт в том, что на самом деле быть может и чего не может в даном конкретном месте и времени. Многовато "может быть" на квадратный сантиметр, не правда ли?


Я не знаю что хотел сказать ГВ этими словами, но единственное что он этим добился – это сделал проблему еще более запутанной и ввел еще больше хаоса.

ГВ>Программирование и в самом деле окружено массой предрассудков, страхов, предостережений на ровном месте. В немалой степени этому способствуют разнообразные книги по поводу good practices. Авторы таких книг зачастую формулируют мысли так: "Мы изучили опыт N команд в M странах, и пришли к выводу, что strcpy — опасная вещь, потому что..." И после этого "потому что" текст может отсуствовать или может идти нечто невнятное. А из подобной литературы нередко запоминается только самое основное и краткое — вывод, но не предпосылки. И в пересказе получается так: "strcpy — плохо, потому что его использование влечёт массу неприятностей". Да и не только про strcpy такое говорят. Такие же ссылки я слышал и на высказывания Вирта про языки, и на Буча с его примерами классов и ещё на кучу других гранд-авторов компьютерной литературы.


Опять цель пространного высказывания стремительно ускользает от «замутненного» взора. Не буду домысливать за ним. Просто подчеркну, что это то самое болото в которое превращаются большинство тем в которых участвует ГВ.

Историческое ответвление поскипано за ненадобностью.

ГВ> ...

ГВ>Конечно, эта история ничего не доказывает.

Да, уж. И даже к делу не относится. И вообще, доказательство по аналогии есть просто обман. Ведь придется доказать полную идентичность свойств.

ГВ>Стукнуло бы кому-нибудь в голову перенести программу на Mак, вот уж наигрались бы. Однако, история не знает сослагательного наклонения и главное, чуете родство моделей: "А так правильно... ибо вдруг..." Вот-вот, правильно чуете.


ГВ>Тот же самый феномен я заметил и в оценках одиозного sprintf. Апофеозом мысли стало высказывание, что мол, если переполнение буфера может случиться, оно обязательно произойдёт. Нет, не произойдёт. Не потому, что пример нельзя переколпачить так, что вероятность переполнения увеличится, а потому, что в данном конкретном случае переполнения нет и оно не может случиться. Переколпакирование же — разговор отдельный, потому что изменённый код — это всегда новый код.


Что же. Замечательная аналогия. Можно было бы ее заменить на работу с указателями. Ведь можно привести тонну случаев в которых они не вызывают ошибку. Ведь все на свете можно сделать правильно. Так? Думаю – это столь же бесспорно, как и банально.

А еще лучше взять аналогию из жизни. Например, переход улицы на красный свет или в неположенном месте. Ведь люди делающие это понимают, что их может сбить машина. И они прекрасно отдают себе отчет, что это опасно. Но опасность ведь же потенциальная, а выигранные 3 минуты совершенно реальные. Меж тем перекресток же пуст! Зачем же тогда терять драгоценное время? Ведь «я контролирую ситуацию» думает человек. Меня никто не задавит. Он переходит нарушая правила и... и ровным счетом ничего не происходит, ну, разве что те самые 3 минуты сэкономлены. Далее он начинает поступать так же снова и снова. И что забавно многие доживают до старости. Но вот некоторые (надо признать их процент не так уж и велик) попадают под машину и умирают. Умирают за 3 минуты. Причем вариантов может быть несколько. От банального «задумался и не оценил ситуацию адекватно», до менее тривиальных случаев вроде «правильно оценил обстановку на первой половине дороги, но подумал что сможет переждать поток машин с другой стороны, а тот затер его прижав к встречному потоку».

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

Я хочу продемонстрировать главное – аналогии не должны служить основанием для логических заключений. Это инструмент иллюстративный. Не надо основывать выводы на нем.

ГВ>Возвращаясь к гранд-авторам компьютерной литературы, замечу, что то, что ими декларируется грешит излишней общностью, особенно, если это результаты исследований N команд. И их можно понять: представляете, какого размера были бы книги, если бы подробно излагались данные по каждому конкретному случаю? Поэтому такие выводы можно и должно учитывать, но вовсе не надо слепо переносить на каждый конкретный strcpy.


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

ГВ>Это стало причиной моих язвлений по поводу "вредности чтения книг".


Надеюсь даже сам ГВ понимает всю мегаглупость этого высказывания.

ГВ>Книги читать, конечно же, не вредно. Иногда — опасно. Опасно, когда харизма автора заслоняет rationale читателя. Опасно, когда чьё-то обобщённое наблюдение обращается в догму. Опасно, когда авторское "бывает" превращается в читательское: "точно будет!" Подчас из-за этого специалисты не пользуются огромными кусками инструментальных средств.


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

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

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

...

ГВ>В заключение хочу поблагодарить активных участников.


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

ГВ>Аплодисменты, занавес.


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

Уверен, что сам ГВ и его сторонники низа что в жизни не признают ни одного факта демагогии видимых тут невооруженным взглядом и продолжат применение их в жизни. Однако увольте меня, но тратить время на сражение с демагогией я не хочу. Я и так трачу его зачастую впустую. Именно по этому я не стал отвечать на то сообщение в тот раз и не буду отвечать на них впредь.

\
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.