Арбитраж:Публикация недостатков C++

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Арбитраж:947»)
Перейти к навигации Перейти к поиску

Короткая ссылка-перенаправление
← Предыдущая заявка | Текущие заявки | Решения по заявкам | Отклонённые заявки | Следующая заявка →


Заинтересованные стороны:

Суть заявки на арбитраж

Я полтора года собирал Авторитетные Источники, анализирующие, оценивающие и просто высказывающие своё отношение к языку C++. Результат я опубликовал под названием «Критика C++» (на названии прошу не заострять внимание, можно и переименовать).

В статье на одно предложение приходится в среднем порядка пяти цитат, включая слова таких Светил Науки как Кнут, Стил, Вирт, Дейкстра, Реймонд, Керниган, Томпсон, Столлман, Торвальдс, многотысячной конференции элитарных программистов «unix-haters», а также ряда менее известных преподавателей и сотрудников вузов уровня Карнеги Меллон и т. п. (не помню точно, ссылки на их личные страницы даны). В том числе там упоминается сводка мнений (похожая на сводку в этой самой статье, только меньше) от известного писателя Питера Сейбела, который также процитировал некоторых из этих проинтервьюированных им людей под саркастичным транспарантом «миллиард обезьянок не может ошибаться». Статья является тщательно составленной компиляцией утверждений, в основном взятых из наиболее часто цитируемых материалов (гугл по их названию с ходу показывает десяток форумов и блогов, включая SourceForge, на которых эти материалы рекомендуются к прочтению). Любые расхождения во мнениях источников проигнорированы, собрано только общее, и местами даже даны перекрёстные ссылки источников друг на друга. Очень похожие фразы склеены; разные, но об одном — даны рядом, формируя целостную картину, но избегая малейшего намёка на софизм; совсем разные идут в разных абзацах. Можно быть уверенным, что каждый из процитированных согласился бы и с чужими цитатами, приведёнными рядом со своей (за исключением, разве, что стиля изложения — одни весьма эмоциональны, другие более деликатны, хотя и у них негодование временами проскакивает).

Всё это было названо ориссом и удалено.

Причина состоит в получившимся строго негативном оттенке содержания статьи, что было принято предвзятыми судьями за «нарушение принципа уравновешенности». На самом деле, содержимое уравновешено в масштабах научной дисциплины, и кажется неуравновешенным лишь ортодоксально-религиозным сторонникам C++, не приемлящим возражений на собственные взгляды. Просто АИ по данной теме приводят не традиционно ожидаемое в критике соотнесение достоинств и недостатков, а как бы разоблачают широко распространённое мошенничество. Они вообще не приводят достоинств, совсем. В качестве уравновешивания, уже в статью я вставил сотни интервики на статьи раздела ИТ, сопоставляя предмет статьи со взглядами множества других сообществ, дополняя формируемое книгами по C++ представление о научной дисциплине информацией, упущенной в них, но первостепенно важной для специалиста (и в этом смысле статья очень педагогична). Книги по C++ постулируют вещь в себе, не ссылаясь ни на что, что затрудняет их использование в качестве «уравновешивающих» (но они всё же активно цитируются и сопоставляются). Мол, «перед нами язык Си С Двумя Плюсами (а все остальные существующие в природе языки игрушечные, их незачем использовать и даже не обязательно знать), он эффективен (если ограничится ядром, на котором он паразитирует, а так… лучше не будем об этом) и портабелен (ну должен быть портабелен, согласно Высочайшему Велению, и однажды обязательно будет, главное, что у вас есть большой выбор компиляторов, только выбирайте сразу, ибо потом будут проблемы с портированием, но в этом виноват не язык, а… язык), но в нём есть проблемы (и не смейте спрашивать, неизбежны ли они для программиста в принципе), возникшие из-за следования провозглашённым Принципам его проектирования (и не смейте сомневаться в адекватности этих принципов), поэтому щас мы вам покажем тысячу и один Способ эти проблемы преодолевать, и это пригодится вам в других языках (хоть вы их и не знаете и уже никогда не найдёте время изучить), так как эти Принципы и Способы фундаментальны (и не важно, что нигде, кроме как в C++, не используются) и связаны с объективной сложностью программирования (искусственно раздутой самим C++)». Строго говоря, это и есть орисс, только орисс, опубликованный в Авторитетных Источниках, что приводит нас к бесконечной взаимной рекурсии. Процитированные же в статье Авторитетные и СуперАвторитетные Источники борются с этими догмами, как атеисты с христианством. Но статья научная, а не религиозная. В ней даны цифры. В ней используются термины, измеряемые цифрами. Предлагаю пройтись по ссылкам и убедиться в их честности.

Статья, подчёркиваю, является обзорной сводкой большого множества нешуточных мнений, хотя зачастую и высказанных в шутливой форме. Я только цитирую. Цитирую Страуструпа, цитирую скептиков, для подтверждения слов скептиков (чтобы они не казались «неосилением») цитирую сторонние источники. Всё это как раз являются уравновешиванием того нечестного, пестрящего заблуждениями построения текста, которое получается честным переписыванием АИ по языку — поэтому сводка оппозиции очень важна с точки зрения ВП:ВЕС. Другим вариантом могло бы быть плотное перемешивание в статье о языке фраз из учебника и от противников — но вряд ли это будет лучше — это прямой путь к войне правок. Я не пишу «по мнению того-то…», потому что при такой степени цируемости этих «по мнению…» оказалось бы больше, чем полезного текста. Просто к каждой законченной мысли указаны те, кто её произнёс как есть или очень похоже, и, наконец, хотя бы частично (ссылки выстроены по убыванию буквальности и авторитетности). В статье имеется пяток неавторитетных источников, но от них не зависит никакой текст — они подцеплены лишь для усиления статистической значимости тех или иных фраз. Если это критично, я могу их и удалить.

Подробности про АИ и стиль изложения

Стиль изложения в статье кажется жёстким, но на деле он смягчён насколько возможно (в АИ были вообще прямые матюки), однако _слишком_ много мыслей в АИ высказано метафорами, эмоциональность у авторитетов по этому вопросу проявляется очень ярко, так что их замена на холодную объективность требует использования фантазии и отказа от цитат на каждое предложение. Получается конфликт правил: изложение «картины в целом» без прямых ссылок на АИ будет отмечено требованием «не хватает ссылок», само по себе перестроение текста может трактоваться как орисс, а прямые цитаты, как было подытожено, якобы нарушают «ВП:ВЕС» (хотя в той же степени его могла бы нарушать статья «атеизм» в условиях средневековой Европы). Я бы сделал как сказали, но не сказали никак, просто удалили (хотя это была вторая попытка за полтора года — первый раз сказали как, но теперь результат понравился ещё меньше, чем первый).

Для анализа соответствия ВП:ВЕС привожу классификацию АИ по C++.

Все найденные АИ, высказывающие отношение к языку, делятся на три группы:

  • Ортодоксальные сторонники (включая автора), извиняющиеся за то, что C++ вышел таким говённым, но позиционирующие его как Единственный пригодный для промышленности язык. Говорят, что хотели бы что-то улучшить, но это невозможно из-за необходимости поддержки драгоценного legacy. К _языку_ относятся как к гравитационной платформе, шаг мимо которой уносит человека в вакуум и рвёт в клочья. С коммунистическим рвением провозглашают, каким _должен_ быть _универсальный_ язык; при этом демонстрируют кругозор уровня средней школы — можно легко составить богатый перечень слов, которые _никогда_ не встречаются в таких источниках (например, продолжения, параметрический полиморфизм и многое другое). Даже там, где вполне можно было бы сопоставить элементы C/C++ с элементами других языков (например, локальные статики в Си можно до некоторой степени соотнести с лексическими замыканиями, да и два предыдущих понятия в корявом виде имеются), они не делают и намёка. Обзорное пробегание по их длинным разглагольствованиям показывает, что реально они не знают _ничего_, кроме наследия Алгола и BCPL, и искренне считают, что в _других_ языках (упоминаемых представителями второй и третьей групп) само программирование изнутри устроено ровно также, просто какие-то действия легче выражаются, а какие-то вообще автоматизированы — то есть к ним в полной мере применима пословица про Фортран-программистов («Умелый автор сможет на любом языке написать программу на Фортране, даже если в этом языке напрочь отсутствует GOTO.»).
  • Почти-сторонники и деликатные скептики, стесняющиеся вслух списывать в утиль доминирующий язык, но смело анализирующие его недостатки. Предупреждают о сложности и небезопасности C++ и советуют дважды подумать перед его использованием. В качестве достоинств отмечают быстродействие (советуя третий раз подумать, так ли оно важно само по себе) и развитую инфраструктуру. Если взять их за галстук и потребовать ответа, будет ли C++ неизбежным компромиссом для этих самых двух достоинств, то сразу последует ряд примеров языков, почти столь же быстрых и с почти столь же развитой инфраструктурой, но столь более изящных, что разница в простоте использования с лихвой окупает эти «почти». Некоторые галстук не носят и приводить такие примеры не стесняются. Для этой группы C++ — это чистый legacy язык, от которого следует уходить при появлении малейшей возможности, и который ни в коем случае не рекомендуется как первый язык для обучения программированию.
  • Ненавистники, просто вбрасывающие говно в вентилятор. Уверенно демонстрируют знание академической Computer Science, способность самостоятельно сделать себе любой язык по своему усмотрению, внеконкурентную занятость в наукоёмких задачах и полную независимость от кого бы то ни было. Смотрят на сообщество C++ как доктора медицины на пропагандистов уринотерапии, сыроедения, БАДов и биорезонанса. Говорят _только_ о недостатках C++, которые существуют одновременно, неотъемлемо друг от друга и закономерно от его базовых принципов (изначально ошибочных самих по себе); делая вывод, что _нет_ такой задачи, для которой стоило бы когда-то даже _создавать_ C++; что он не является компромиссом между чем-то и чем-то, а создан просто так, лишь бы обеспечить себя работой. Цифрами и примерами опровергают стереотип о безапелляционном преимуществе C/C++ в быстродействии. При анализе C++ как технического средства используют в основном термины «mess», «crap», «ugly», «sucks», «bullshit» и т. д., а при оценке уровня квалификации представителей первой группы и возможности сотрудничества с ними — термины «brain-washed», «brain-death», «lie/falsely», «piss of» и др. Отличаются от первой группы тем, что относятся к _языку_ как к _промежуточному_ средству, являющемуся неким компромиссом свойств, которые программист должен соотносить на основе требуемых от _целевого_ (машинного) кода функциональности и показателей качества, на основе чего он должен _дробить_ задачу на куски, реализуемые на _разных_ языках.

Доарбитражное урегулирование

Википедия: К удалению/31 марта 2015#Критика C++

В обсуждении КУ (продлившимся рекордно короткое время для статьи с такой степенью АИшечности) я настойчиво просил дать цитату, которая ставила бы содержимое статьи под сомнение — результат ноль. Орисс и всё тут, ибо покушается на Священные Догмы. Это уже даже не «страшное место», это частный блог. Не понравился пост владельцу — да и нафиг его. Возможно, название статьи выбрано неудачно. Повторяю: это вынесенный раздел из статьи о языке — аналогично уже вынесенным из неё разделам «Шаблоны C++», «Ссылка (C++)», «Правило трёх (C++ программирование)», «Операция присваивания в C++» и двум десяткам статей про STL (как «iostream»). Да, это именно вынесенные разделы из C++, а нисколько не самостоятельные статьи, так как не имеют отношения ни к чему, кроме C++, и их незачем читать тому, кто не интересуется C++ (зато на статьи «Операторы в C и C++» и «printf» можно ссылаться из минимум двух языков, в реальности больше). Столь огромный объём информации про C++ вряд ли вызывает удивление и требует борьбы — каков предмет, столько и текста (хотя я бы поспорил с пачкой статей про STL вместо одной, но это уже другая история). Переименовать вынесенный раздел критики всегда пожалуйста («Оппозиция к C++», «Негативные отзывы о C++», «Недостатки C++», «Скептицизм в адрес C++», как угодно). Однако, на название в обсуждении КУ внимания практически не обращалось (уже после итога и удаления появилось возражение). С тем, что само противостояние достойно внимания, обсуждающие согласились. Но они сочли недопустимым сводку мнения оппозиционеров, и даже не объяснили, в чём состоит её отличие от любой другой сводки в Вики. Это является очевидной предвзятостью. Если под «ориссом» понимать «несовпадение мнения выдающихся авторитетов с мнением толпы читателей», то сперва упадёт интерес к Вики у учёных и преподавателей, затем это передастся их лучшим студентам, и в конце концов за Вики закрепится репутация «энциклопедии хомячков», для которой правило «миллиарда обезьянок» превыше всех остальных правил.

Требования

Восстановить статью. Если будет принято положительное решение — на будущее иметь ввиду возможную необходимость залочить.

Голосование арбитров о принятии заявки на арбитраж

Отклонить из-за отсутствия доарбитражного урегулирования. Оспаривание удаления статей проводится подачей заявки на восстановление.