LINUX.ORG.RU
ФорумTalks

Откуда это «user don't care»?


0

4

Что то в последние годы все чаще стало это проскакивать в качестве аргументации. адоб не прочитал доки и использовал memcpy неправильно - выбегает Линус и говорит «users don't care», и требует вернуть все как было, nvidia использовала какой-то deprecated интерфейс, так что на новых ядрах не заводится, опять куча людей орут «users don't care». Покажите мне этого юзера, не входящего в множество быдла, который бы перекладывал с больной головы на здоровую?

★★★★★
Ответ на: комментарий от cvs-255

но да, лучше было бы, если бы memcpy при перекрывающихся регионах вызывала exit(1).

Было бы гораздо лучше если бы при обнаружении перекрывающихся регионов, memcpy сама бы джампила на memmove.

TEX ★★★
()
Ответ на: комментарий от AptGet

Линус прав. Нет ни одной технической причины сохранить это UB, ни единой.

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

Нет ни единой причины менять стандарт в этом месте.

Да да ... и даже когда причина есть, все говорят : ну что ж, так исторически сложилось.

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

Угу ... а все кто читал технику безопасности ни разу не стреляли себе/сослуживицу в ногу из табельного оружия.

TEX ★★★
()
Ответ на: комментарий от cvs-255

лучше было бы, если бы memcpy при перекрывающихся регионах вызывала exit(1)

Это C, детка, тут могут и указатель на NULL разыменовать.

edigaryev ★★★★★
()
Ответ на: комментарий от cvs-255

Это поддерживает привычку не читать стандарты.

Стандарты читают разработчики. А кто именно из них виноват «user don't care»

В той ситуации с флешем, реально проще было исправить glibc

TEX ★★★
()
Ответ на: комментарий от cvs-255

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

Причина есть: убрать UB. Зачем весь этот трэш? Люди делают ошибки, не важно сколько раз стандарт был прочитан. Можно просто не заметить этого пересечения!

Я очень сомневаюсь, что адобовские программисты не знают, что memcpy не работает с пересекающимися регионами.

AptGet ★★★
()
Ответ на: комментарий от TEX

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

Виноват был адоб и только адоб.

«user don't care» кто именно _виноват_. В этом вся суть. Что не понятного то ?

TEX ★★★
()
Ответ на: комментарий от AptGet

Можно просто не заметить этого пересечения!

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от TEX

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

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

«виноват» — понятие субъективное и не имеет отношения к рабочему процессу. Важно то, какое изменение проще. И именно поэтому придумали всякие стандарты, рефакторинги и прочее: чтобы проще было изменять и писать код. А не для того, чтобы на них фапали как на истину.

vurdalak ★★★★★
()
Ответ на: комментарий от cvs-255

Почему надо что-то делать тем, кто и так все сделал правильно, и даже увеличил скорость, непонятно.

Матч по водному поло в Тбилиси.

Тренер кричит:"Гиви, отдай мяч Гоги!
Гиви: "ТрЭнЭр, я сам!
Тренер: Гиви, отдай мяч Гоги!
Гиви: "ТрЭнЭр, я сам!
Тренер:"Гиви, отдай мяч Гоги!
Гиви: "ТрЭнЭр, я гол забил!
Тренер: Ты гол забил, а Гоги утонул!

TEX ★★★
()
Ответ на: комментарий от vurdalak

«виноват» — понятие субъективное и не имеет отношения к рабочему процессу.

В данной ситуации термин «виноват» работает совершенно объективно. Виноват тот, чей код не соответствует стандарту языка, на котором он написан

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

И что с того, что какому-то быдлу пофигу на то, кто именно виноват?

Мне почему то кажется что ты мало кодишь в команде :))) user не былдо, user это источник дохода

TEX ★★★
()
Ответ на: комментарий от TEX

А Гоги следовало сперва научиться плавать

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

Виноват тот, чей код не соответствует стандарту языка, на котором он написан

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

vurdalak ★★★★★
()
Ответ на: комментарий от cvs-255

Виноват тот, чей код не соответствует стандарту языка, на котором он написан

Замечательно ! ВИНОВАТ. Дальше что делать предлагаешь ?

TEX ★★★
()
Ответ на: комментарий от cvs-255

И эта история - реальный случай

Эта история близкий к эталону пример быдлячества, так называемого илитизма. Ну как можно доверять хрен знает кому строить дом? Ок, даже не хрен знает кому, по диагонали прочитал профиль компании и даже портфолио, но каким же быдлом надо быть что бы доверить стройку компании не имеющей опыта в данном виде строительства? Каким быдлом надо быть, что бы не иметь своего человека(наёмного профессионала), который будет контролировать основные(или даже все) этапы на ТВОЕЙ же стройке, если ты сам нихрена в этом не разбираешься??? юзир дазнт кер, говоришь?

TowTruck
()
Ответ на: комментарий от vurdalak

Потому что важен результат, а не стандарт.

Ну так glibc работает _полностью_корректно_. в ней проблем нет. Что заявлялось, то и реализовано.

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

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

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

vurdalak ★★★★★
()
Ответ на: комментарий от cvs-255

user - источник дохода адоба. Вот пускай адоб и чешется, тем более что накосячил именно он

Едешь ты на машине, и тут тебе под колеса бросается пешеход. Я правильно понимаю, что ты ему медицинскую помощь не окажешь ? Он же сам бросился, вот пускай сам и чешется. Правда если он умрет, ты сядешь.

TEX ★★★
()
Ответ на: комментарий от TowTruck

Ну как можно доверять хрен знает кому строить дом?

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от TEX

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

Но это очень далекая от темы разговора аналогия.

И вообще, законодательство в этой области крайне нелогичное.

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

То есть ты предлагаешь пользователю дебагнуть код, почитать пару тонн писем в LKML, и потом уже решить кому строчить гневное письмо ? И что потом ? Сидеть и ждать ?

TEX ★★★
()

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

Есть такая штука — стандарт языка. И если там написано, что такую-то функцию нельзя использовать для определенных задач, а программист её использует — кто виноват?

выбегает Линус и говорит «users don't care»

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

И да, юзерам действительно плевать. Но в случаях из ОП-поста не так все просто, потому-что кроме разработчика софта для пользователя и самого пользователя есть еще и 3 сторона — разаботчик нижележащего софта.

edigaryev ★★★★★
()
Ответ на: комментарий от TEX

Да. Когда мне надоело хрипение, я прочитал форумы, LKML и обнаружил, что адобу уже написали.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

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

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

Но это очень далекая от темы разговора аналогия.

Да не, это очень прямая аналогия ситуации когда «user don't care» кто виноват. Один в могиле, один в тюрьме, семьи обоих черт знает где.

TEX ★★★
()
Ответ на: комментарий от TEX

Один в могиле, один в тюрьме, семьи обоих черт знает где.

Один не может видос на ютубе посмотреть, другого быдлокодером обозвали. Вот это «аналогия».

crowbar
()
Ответ на: комментарий от TEX

А так согласно ПДД

В ПДД этого нет, это в другом месте находится.

И поясни совсем понятно, как наличие еб*тых законов в этой стране соотносится с ситуацией, когда накосячил адоб, а бочку катят на разработчиков glibc?

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

Тебе видимо откровенно было нечем заняться. :)))

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

TEX ★★★
()
Ответ на: комментарий от cvs-255

И поясни совсем понятно, как наличие еб*тых законов в этой стране соотносится с ситуацией, когда накосячил адоб, а бочку катят на разработчиков glibc?

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

TEX ★★★
()
Ответ на: комментарий от TEX

Более правильная аналогия: в автосервисе починили тормоз, водила по привычке вдавил педаль в пол — и у*бался лбом в стекло.

crowbar
()
Ответ на: комментарий от TEX

Имеет значение кто быстрее может исправить ситуацию (остановить кровотечение)

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от crowbar

Какое дело пользователю какими словами разработчики друг друга отмеряют ?

Может им еще и сексуальными предпочтениями разработчиков интересоваться ?

TEX ★★★
()
Ответ на: комментарий от TEX

Я тебе объясняю что ты выбрал неправильную аналогию, сравнивая смерить человека с неработающим флеш-плагином.

crowbar
()
Ответ на: комментарий от cvs-255

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

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

TowTruck
()
Ответ на: комментарий от cvs-255

https://bugzilla.mozilla.org/show_bug.cgi?id=914690

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

Фишка в том, что тут виноватых хрен найдешь, а делать анализы на мед. оборудовании нужно уже сейчас

TEX ★★★
()
Ответ на: комментарий от TowTruck

Ясен пень, что быдла. Но я и говорю, что катить жалобу на завод не имеет смысла. Собственно, заказчик дома этого и не делал. Он, ЕМНИП, потом долго пытался разыскать ту бригаду строителей (дело было в 90-х) и стребовать с них.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от crowbar

Я тебе объясняю что ты выбрал неправильную аналогию, сравнивая смерить человека с неработающим флеш-плагином.

Аналогия абсолютно правильная, прием называется гипербола.

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

Следующий этап, это осознание что данный подход от цены вопроса не зависит. Как правило встречает сопротивление «аля у вас неправильная аналогия». /0

TEX ★★★
()
Ответ на: комментарий от TEX

неважно кто виноват - куда важнее что можно сделать

но делать должен тот, кто виноват

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

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от TEX

неважно кто виноват - куда важнее что можно сделать - здесь и сейчас

Спор Линус vs Дреппер был не об этом, а именно о том, можно ли ломать конкретное поведение функции в условиях UB.

crowbar
()
Ответ на: комментарий от cvs-255

но делать должен тот, кто виноват

Вот тебе бинт и жгут, перетягивай сам. Что ? Руки сломаны ? Сам виноват - жди когда врачи приедут :)))

Это в идеальном мире должен делать тот кто виноват. В жизни всё зависит от ситуации. Как в армейской поговорке, командир разберется как следует и накажет кого попало.

TEX ★★★
()
Ответ на: комментарий от TEX

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от TEX

В жизни всё зависит от ситуации

Вот именно, а не так как ты предлагаешь - делать «лишь бы работало»

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

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

Ну, обалдеть теперь. А я ни разу sprintf'ом память не портил, давайте *_s функции в стандарт добавлять не будем.

AptGet ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.