LINUX.ORG.RU
ФорумTalks

Слабые нынче программисты пошли психически

 ,


2

5

Автор написанного на языке Rust web-фреймворка actix-web удалил репозиторий после того, как на него обрушилась критика за «неправильное использование» языка Rust. Фреймворк actix-web, пакет с которым был загружен более 800 тысяч раз, позволяет встраивать в приложения на языке Rust функциональность http-сервера и клиента, при разработке ориентирован на достижение максимальной производительности и лидирует во многих тестах web-фреймворков.

Незадолго до инцидента в issues на GitHub было сообщено о выявлении неопределённого поведения (Undefined Behaviour) в коде сервера actix-web, возникающего в блоке, выполняемом в режиме unsafe (допускает выполнение небезопасных действий с указателями). Автор actix-web не стал убирать блок unsafe, но переделал вызов этого блока, чтобы неопределённое поведение не возникало. Предложения убрать unsafe автор отклонил, ссылаясь на возможную потерю производительности и заявив, что он не использует unsafe без необходимости и уверен в безопасности работающих в данном режиме блоков.

Участник команды RustSec, который выявил неопределённое поведение, не согласился и предположил, что применение многих unsafe-блоков в actix-web неоправданно. После этого он опубликовал статью о недопустимости использования unsafe, в которой, среди прочего было упомянуто, что применяемый в actix-web приём работы с указателями (несколько изменяемых указателей на одни и те же данные) потенциально может стать причиной возникновения уязвимостей use-after-free и не соответствует парадигме разработки на Rust.

После обсуждения статьи на Reddit, в issues на GitHub набежали тролли и автор actix-web был подвергнут шквалу критики и оскорблений за неправильное использование Rust. Автор не выдержал психологического давления, удалил репозиторий и написал, что завязал с Open Source.

http://www.opennet.ru/opennews/art.shtml?num=52208

вот ещё текст на ангельском если кому интересно: https://github.com/actix/actix-web

Log удаленной issue из-за которой всё началось: https://gist.github.com/pcr910303/d7722a26499d0e9d2f9034a06f2433b4

Обсуждение на английском:

  1. https://news.ycombinator.com/item?id=22073908
  2. https://news.ycombinator.com/item?id=22075076

Статья: https://words.steveklabnik.com/a-sad-day-for-rust

★★★★★

Последнее исправление: fsb4000 (всего исправлений: 4)

Ответ на: комментарий от Deleted

Чуваку справедливо насували за то, что превращал раст в плюсы

Легким движением руки раст превращается… превращается раст… в элегантные (не очень) плюсцы. Причем у всех, кто пишет что-то сложнее «скриптухи». Это уже не первая истоия, когда автор надорвался на unsafe. Но тут еще дружелюбная и толерантная растосекта во всей красе.

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

Так он не надрывался на unsafe. Ему показали как делать то де самое в терминах раста, но он встал в позу

Deleted
()
Ответ на: комментарий от praseodim

дальше его дело как использовать раст

Как видишь нет, не его дело. Есть одобренный святыми отцами раст, и запрещенный еретический раст. И пофиг, что без unsafe трудно сделать хоть что-то работающее.

bread
()
Ответ на: комментарий от Deleted

Факт, что надорвался. Зачморили его именно за unsafe. Хотя какое собачье дело этим адептам до реализации. Это прерогатива автора. Баг исправлен? Все, досвиданья.

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

Надорвался превращая раст в плюсцы, ради победы в спецолимпиаде бенчмарков

Хотя какое собачье дело этим адептам до реализации

Адепты указали, что его эксперементы могут привести к неопределенному поведению

Deleted
()

Если unsafe работает быстрее, значит, «safe»-язык недостаточно совершенен. Выбор получается между иделаьностью кода и практичностью применения. Теоретики против практиков. А надо бы разобраться, что добавить в Rust, чтобы можно было убрать это «unsafe» без потери производительности.

Deleted
()

Я когда из аналитики оптово-розничных продаж (уровня - «срочно скажи что и где и кому и сколько продавать и закупать, а то компания разорится») перешёл в IT - тоже ржал, что люди не знают, что такое стресс и выгорание.

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

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

bread
()

Забавно. Месяц назад хотели втащить его в проект. Но в результате отказались

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

Это зависит от задачи. Если бы задача была в создании чего-то полезного – да, должен. Иначе просто не было смысла и браться. Если задача – чистый фан, то, конечно, не должен. Также как и открывать исходники его никто не заставлял.

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

Надорвался превращая раст в плюсцы, ради победы в спецолимпиаде бенчмарков

Забавно, что покоритель бенчмарков оказался плюсцовым негодяем. Чем же вы будете теперь козырять?

bread
()
Ответ на: комментарий от andalevor

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

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

Не забавно, а ожидаемо. Бенчмарки — это рвать пукан ради 1-2% производительности, чтобы побить конкурентов. И пофиг упорытышу, что получившийся продукт разорвет тысячи пуканов разработчиков и конечных пользователей реальных проектов, когда опасная, но супербыстрая вундервафля всё сломает. Игра не стоит свеч

Deleted
()
Последнее исправление: Deleted (всего исправлений: 3)
Ответ на: комментарий от grem

Он сам вправе решать открывать их или нет

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

Как ты оказался в опенсорц с такими жизненными приоритетами?

Deleted
()
Ответ на: комментарий от andalevor

За использование unsafe не хейтят. Хейтят за необоснованное использование unsafe и за нарушение гарантий.

А в чём разница? Кто решает, обоснованное использование unsafe или нет?

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

разве что не понятно чего ждут люди, у которых остался git форк

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

no-such-file ★★★★★
()
Ответ на: комментарий от Deleted

Мне в опенсорц обычно говорят - «ты ментейнер, поэтому тебе решать». В разумных пределах, конечно. Требования QA и документации никто не отменял.

Нет желающих сделать иначе, протестировать и продолжить сопровождать? Какая досада!

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)

Неправильный заголовок. Правильный:

Разработчики языка программирования Rust запрещают писать на своем детище

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

Мне, кстати, один препод про мои лабы когда-то давно в универе такое говорил. Я тогда тоже с него ржал.

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

Он сам вправе решать открывать их или нет.

А я ему и не запрещал открывать. Но раз уж он принял решение открыть, то, наверное, понимал что за этим последует.

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

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

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

А другие участники проекта могут написать ему о своём несогласии с решениями автора.

Какие участники проекта? Там были другие участники проекта?

grem ★★★★★
()

Фреймворк actix-web, пакет с которым был загружен более 800 тысяч раз

Я так понимаю, кто-то наверняка и форки репозитория делал, которые просто так не исчезнут?

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

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

Берегите программистов.

+1.

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

Считается. Но вы всё подряд патчи принимать никто не обязан и решение о принятии патчей принимает автор проекта и основные разработчики.

Может патчи и правда были скучные.

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

Не знаю. Мои патчи жизнерадостностью тоже не отличаются.

Но уж точно не то, что прислав патчей в 10 в проект можно начинать качать права, что «должно быть так».

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

Не знаю.

Но пишете:

Может патчи и правда были скучные.

А это:

Но уж точно не то, что прислав патчей в 10 в проект можно начинать качать права, что «должно быть так».

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

Тут на ЛОРе неоднократно были драмы с участием разработчиков на С и С++, которые допустив UB ругали «жаба-макак» добравшихся до компилятора. Надо ли говорить, что многие не стеснялись в выражениях?

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

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

говорят, что кто-то уже готов запилить новую репу

Ну ну, говорильня как она есть.

no-such-file ★★★★★
()

После этого он опубликовал статью о недопустимости использования unsafe

Дык, нахрена его тогда надо было его вводить вообще ?

DawnCaster ★★
()

После обсуждения статьи на Reddit, в issues на GitHub набежали тролли и автор actix-web был подвергнут шквалу критики и оскорблений за неправильное использование Rust. Автор не выдержал психологического давления, удалил репозиторий и написал, что завязал с Open Source.

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

DawnCaster ★★
()

Автор не выдержал психологического давления

на гитхабе нет игнора? это поэтому его майкрософт купила?
или майкрософт купила и удалила опцию игнора, чтобы довить на опенсорс-кодеров?
какой хитрый ход!

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

Не должен никогда, если контрактов не подисывал.

Сейчас, к сожалению не посмотреть что было в README до удаления. Если там было что-то вроде «это проект just-for-fun и помастурбировать бенчмарки», то я возьму свои слова обратно. Если же он писал, что собирается создать применимый в продакшене фреймворк, то как минимум должен себе, а по-хорошему ещё и тем людям, что поверили его словам и подключились к разработке.

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

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

Речь в исходном посте была вовсе не о тех кто пришёл в проект с замечаниями по поводу unsafe и прочего. А о тех кто после прочтения поста с критикой по поводу unsafe на реддите прибежали в гитхаб к автору проекта и оставили там 100500 оскорбительных комментов и мусора.

Проблема не в несогласии автора проекта с контрибьюторами, а 1) в наличии толпы которая готова из-за одного лозунга потоптаться по человеку 2) в наличии второй толпы которая прочитав о действиях первой пишет «ха-ха, слабак, сам виноват».

alpha ★★★★★
()

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

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

Я не одобряю оскорблений. Но ваше отрицание проблемы взаимодействия автора с контрибьютерами меня просто изумляет. Для вас люди, закрывающие issue с пометкой «not a bug» и «won’t fix» так и вовсе, наверное, в ранге святых?

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

А о тех кто после прочтения поста с критикой по поводу unsafe на реддите прибежали в гитхаб к автору проекта и оставили там 100500 оскорбительных комментов и мусора

Я бы тоже прибежал. Я начал изучать экосистему actix (tcp, mqtt), и буквально на следующий день в ленту прилетает новость о том, что actix всё, а автор честолюбивый несдержанный мудак (удалять репы с тысячами пользователей это кем надо быть)

Пришлось зафиксироаюваться уровнем ниже, на tokio

Deleted
()
Ответ на: комментарий от andalevor

наверное, в ранге святых?

С чего бы?

Люди как люди. С какими-то можно разговаривать, с какими-то нет. Где-то можно найти компромисс, где-то нужно форкать и идти своей дорогой. Это абсолютно нормальные варианты взаимодействия.

А вот травля форумной толпой - это проблема. И реакция по типу «сам виноват» - тоже.

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

Так оставил бы репу на месте и назначил кого-то другого принимать решения. Удалять то зачем. Не он один в эти проекты комитил

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от andalevor

Сейчас, к сожалению не посмотреть что было в README до удаления. Если там было что-то вроде «это проект just-for-fun и помастурбировать бенчмарки», то я возьму свои слова обратно. Если же он писал, что собирается создать применимый в продакшене фреймворк, то как минимум должен себе, а по-хорошему ещё и тем людям, что поверили его словам и подключились к разработке.

Должен себе? Это как? Пока чувака прет, он пишет продукт, как только чувака больше не прет – не пишет. Лепетание про «кококо это важный проект поэтому автор должен писать код так, как нам нравится» это просто какой-то детский сад. Куча жадных детей сели на хвост парню, который запилил штуку, и теперь рассказывают ему, что раз штука хорошей получилась, то теперь автор обязан тратить свое личное время на благо жадных детишек, которые сами почему-то свое личное время тратить не хотят.

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

Да, лол, потому что автор произведения. Что хочет, то и делает.

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

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

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от kirk_johnson

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

Мы всё ещё обсуждаем сабж или вы уже делитесь своей болью? В удалённые репы коммитил не только автор и патч ему присылали.

Да, лол, потому что автор произведения. Что хочет, то и делает.

соавтор

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