Re[12]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 18.12.21 23:53
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>>>Ты взрослый дядя, нормальный аргумент. В старых проектах бывает всяко. В новых не бывает, если разработчики следуют хорошим практикам, и для плюсов это C++ Core Guidelines. Вот тут
Автор: kaa.python
Дата: 17.12.21
я как раз про это и говорил.

O>>На самом деле в современных плюсах не хватает режима который бы их энфорсил, запрещая голые указатели и т.п.

KP>Совсем прям их не запретить, как мне кажется, но сильно сократить острые места можно через интеграцию clang-tidy с CI.


В каких-то абстрактных алгоритмах я и в 0x03 голыми не пользовался. Если под большую платформу что-то пишу, даже и не вспоминаю про них. Код под STMку — да, там и массивы, и указатели голые иногда бывают
Маньяк Робокряк колесит по городу
Re[11]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 00:09
Оценка:
Здравствуйте, CreatorCray, Вы писали:

L>>Архитектура "на shared" указателях — это отсутсвие архитектуры.

CC>Ну т.е. выходит куча managed языков да и вообще всё, где есть GC — с отсутствующей архитектурой.

Ну, обычно ващет именно так дело и обстоит


CC>В том числе шарп и жаба, потому как хоть там и нет явных shared указателей объект жив пока на него хоть кто то ссылается.


Угу
Маньяк Робокряк колесит по городу
Re[7]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 00:10
Оценка: +1
Здравствуйте, Zhendos, Вы писали:

Z>А вот "Cell" очень редко приходилось использовать, и только в начале использования Rust,

Z>потом пересмотрел архитектуру и как-то незаметно вообще прекратил его использовать.

Тормозиллу на расте уже переписали? Или опять не осилили?
Маньяк Робокряк колесит по городу
Re[8]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 00:14
Оценка:
Здравствуйте, kaa.python, Вы писали:


KP>UPD. а вот такой подход приносит проблемы в любом языке:

KP>

тип тут "callback" менят то-то, тут вызывается эта функция и в итоге меняется то-то


KP>И от проблемного дизайна Rust не спасает, а вот функциональщина тебя бы тут как раз спасла.


И в C++ есть все средства для этого.

ЗЫ Мне в кути вот эта вот слот-сигнальщина и не нравится — если на неё плотно завязаться, то там сам чёрт собаку сломит. Поэтому — только C++, слот-сигналы только на границах взаимодействия
Маньяк Робокряк колесит по городу
Re[11]: Rust - suxx & mustdie
От: landerhigh Пират  
Дата: 19.12.21 00:37
Оценка:
Здравствуйте, kaa.python, Вы писали:

L>>Нормальная архитектура подразумевает четкую модель владения данными

KP>Если уж настолько придираться к словам, то архитектура приложения и умные указатели вообще никак не связаны друг с другом.

Ну зачем же избивать младенцев?
Re[11]: Rust - suxx & mustdie
От: landerhigh Пират  
Дата: 19.12.21 00:54
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Ну т.е. выходит куча managed языков да и вообще всё, где есть GC — с отсутствующей архитектурой.


При чем тут архитектура языков?

CC>В том числе шарп и жаба, потому как хоть там и нет явных shared указателей объект жив пока на него хоть кто то ссылается.


T4r4sB спрашивал "С++ приходится держать в голове кучу правил "не обращаться по этому указателю после того, как уничтожен тот буфер" и "Ок, архитектура на шаредак и слабых указателях, получается?". У человека PTSD от отсутсвия GC.
Я подобное видел лет 15 назад на одном проекте. Получив в паре мест по сегфолту, все, вообще все завернули в shared_ptr, лишь бы не надорваться над продумыванием стратегии владения данными. Понятное дело, что вместо регулярной рассеянной стрельбы по ступням получили редкий, но прицельный выстрел в бедро

Попытка строить архитектуру системы методом "объявим сущность А серебряной пулей и понеслась", приводит примерно к одинаковому гну на выходе вне зависимости от языка.
Re[9]: Rust - suxx & mustdie
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 19.12.21 01:27
Оценка:
Здравствуйте, Marty, Вы писали:

M>И в C++ есть все средства для этого.


А что в C++ есть для решения проблемы с изменением одного состояния из разных мест? Что-то типа CAF? Оно как бы да, частично решает такую проблему, но ты всё равно имеешь все возможности изменить данные из разных мест. Полноценное решение будет только в функциональном языке типа Erlang как не крути.
Re[10]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 01:34
Оценка: :)
Здравствуйте, kaa.python, Вы писали:

M>>И в C++ есть все средства для этого.


KP>А что в C++ есть для решения проблемы с изменением одного состояния из разных мест? Что-то типа CAF? Оно как бы да, частично решает такую проблему, но ты всё равно имеешь все возможности изменить данные из разных мест. Полноценное решение будет только в функциональном языке типа Erlang как не крути.


Прошу простить мою дремучесть, но я не в курсе, о какой проблеме ты говоришь. Но вообще в C++ есть средства для решения любых проблем
Маньяк Робокряк колесит по городу
Re[2]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 01:37
Оценка: -2 :)
Здравствуйте, vaa, Вы писали:

M>>Обсудим статью? http://rustmustdie.com/


vaa>Rust кто написал?


Те, кто не осилили C++

В принципе, я не вижу, что тут можно ещё обсуждать
Маньяк Робокряк колесит по городу
Re[3]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 01:38
Оценка: +1
Здравствуйте, kaa.python, Вы писали:

vaa>>Сколько ОС на расте написано?

vaa>>https://dlang.org/areas-of-d-usage.html#operating_systems

KP>Честно говоря, до усрачки их. Причем ОС на D все дохлые, а на Rust пара вполне себе развивается.


Ещё не сдохли? Ну, бывает, вопрос времени
Маньяк Робокряк колесит по городу
Re[11]: Rust - suxx & mustdie
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 19.12.21 01:43
Оценка:
Здравствуйте, Marty, Вы писали:

M>Прошу простить мою дремучесть, но я не в курсе, о какой проблеме ты говоришь. Но вообще в C++ есть средства для решения любых проблем


Не любых, параллельная обработка данных в C++ это то еще хождение по граблям. Предположим у тебя есть структура данных и указатель на неё. Ты всегда можешь передать этот указатель куда-то еще (другой поток, асинхронно возникающее событие и т.п.) и одновременно изменить данные из разных мест. При достаточно хорошем покрытии кода тестами ThreadSanitizer скорее всего отловит такую ошибку, но у тебя нет возможности её избежать в общем случае.
Re[12]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 01:48
Оценка:
Здравствуйте, kaa.python, Вы писали:

M>>Прошу простить мою дремучесть, но я не в курсе, о какой проблеме ты говоришь. Но вообще в C++ есть средства для решения любых проблем


KP>Не любых, параллельная обработка данных в C++ это то еще хождение по граблям. Предположим у тебя есть структура данных и указатель на неё. Ты всегда можешь передать этот указатель куда-то еще (другой поток, асинхронно возникающее событие и т.п.) и одновременно изменить данные из разных мест. При достаточно хорошем покрытии кода тестами ThreadSanitizer скорее всего отловит такую ошибку, но у тебя нет возможности её избежать в общем случае.


Средства для решения любых проблем — таки есть. Просто не все видят проблемы, и не все пользуются средствами.

Кто мешает написать прокси-объект, который разруливает атомарность доступа?

Голенькие указатели — да, не совсем безопасны, особенно в руках всяких индусов. Так индусы всё что угодно поломают, не вижу, чем C++ тут так уникален
Маньяк Робокряк колесит по городу
Re[13]: Rust - suxx & mustdie
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 19.12.21 01:58
Оценка:
Здравствуйте, Marty, Вы писали:

M>Средства для решения любых проблем — таки есть. Просто не все видят проблемы, и не все пользуются средствами.

M>Кто мешает написать прокси-объект, который разруливает атомарность доступа?

Это не средство решение проблемы, это способ поставить табличку "не входи — убьет" и надеется что её прочитают.

M>Голенькие указатели — да, не совсем безопасны, особенно в руках всяких индусов. Так индусы всё что угодно поломают, не вижу, чем C++ тут так уникален


Индусы тебе чем не угодили-то? У меня сейчас в коллегах не мало индийцев с PhD и без, людей равных которым по уровню в российских компаниях я просто не видел. А вот говнокода и говнокодеров в российских компаниях, причем крупных и на слуху я повидал мягко говоря не мало.
Re[14]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 02:08
Оценка:
Здравствуйте, kaa.python, Вы писали:

M>>Средства для решения любых проблем — таки есть. Просто не все видят проблемы, и не все пользуются средствами.

M>>Кто мешает написать прокси-объект, который разруливает атомарность доступа?

KP>Это не средство решение проблемы, это способ поставить табличку "не входи — убьет" и надеется что её прочитают.


Ну, я не знаю, как ты это готовишь. Если у тебя только такие варианты — ну ССЗБ, что могу сказать


M>>Голенькие указатели — да, не совсем безопасны, особенно в руках всяких индусов. Так индусы всё что угодно поломают, не вижу, чем C++ тут так уникален


KP>Индусы тебе чем не угодили-то? У меня сейчас в коллегах не мало индийцев с PhD и без, людей равных которым по уровню в российских компаниях я просто не видел. А вот говнокода и говнокодеров в российских компаниях, причем крупных и на слуху я повидал мягко говоря не мало.


Ну, хорошо, замени индусов на таджиков или узбеков, и облегчись
Маньяк Робокряк колесит по городу
Re[15]: Rust - suxx & mustdie
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 19.12.21 02:13
Оценка:
Здравствуйте, Marty, Вы писали:

M>Ну, я не знаю, как ты это готовишь. Если у тебя только такие варианты — ну ССЗБ, что могу сказать


Может быть потому, что проекты обычно не в одно рыло и не на один раз пишут. А большой командой, потом еще поддерживают?

M>Ну, хорошо, замени индусов на таджиков или узбеков, и облегчись


А может я хочу на русских говнокодеров заменить. Так можно, рассистик ты наш?
Re[16]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 02:20
Оценка:
Здравствуйте, kaa.python, Вы писали:

M>>Ну, я не знаю, как ты это готовишь. Если у тебя только такие варианты — ну ССЗБ, что могу сказать


KP>Может быть потому, что проекты обычно не в одно рыло и не на один раз пишут. А большой командой, потом еще поддерживают?


Ну, так обложить проксями ещё больше и чаще, в чем проблема? Язык позволяет. И при этом нормальный компилятор выдаст минимальный оверхед


M>>Ну, хорошо, замени индусов на таджиков или узбеков, и облегчись


KP>А может я хочу на русских говнокодеров заменить. Так можно, рассистик ты наш?


Да меняй на кого угодно. Если я тупых говняков марсианами буду называть, ты успокоишься, или BLM стучит в твоём сердце?
Маньяк Робокряк колесит по городу
Re[17]: Rust - suxx & mustdie
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 19.12.21 02:24
Оценка:
Здравствуйте, Marty, Вы писали:

M>Ну, так обложить проксями ещё больше и чаще, в чем проблема? Язык позволяет. И при этом нормальный компилятор выдаст минимальный оверхед


т.е. ты считаешь чем больше поставить табличек "не входи — убьет", тем менее убьет в итоге?

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


А почему ты считаешь что оскорбление по национальному признаку имеет что-то общее с BLM?
Re[18]: Rust - suxx & mustdie
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.12.21 02:40
Оценка: :))
Здравствуйте, kaa.python, Вы писали:

M>>Ну, так обложить проксями ещё больше и чаще, в чем проблема? Язык позволяет. И при этом нормальный компилятор выдаст минимальный оверхед


KP>т.е. ты считаешь чем больше поставить табличек "не входи — убьет", тем менее убьет в итоге?


В нормальном C++ гавно просто не соберётся


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


KP>А почему ты считаешь что оскорбление по национальному признаку имеет что-то общее с BLM?


Извини, если индусы тебе так дороги. Если я возьму "индусов" в кавычки — это что-то изменит? Против марсиан у тебя нет претензий? У нас в РФ и негра негром назвать не криминал — просто потому, что это заметный отличительный признак. У нас негров мало. Даже меньше, чем конных бурят в ушанках, и тем более — узкоглазых.

Жду твоё селфи с целованием сапог
Маньяк Робокряк колесит по городу
Re[8]: Rust - suxx & mustdie
От: cserg  
Дата: 19.12.21 04:43
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>А зачем их вообще помнить? Не храни итераторы за пределами текущей области видимости. Не удаляй объекты из коллекции в цикле.

И не добавляй объекты в коллекцию в цикле. И зависит от коллекции, надо знать в каких можно, а в каких нет.

KP>Если следовать этим двум простым принципам ты никогда не получишь проблемы с итераторами.

Принципы простые, но соблюсти их в большом проекте непросто. Добавил вызов функции в цикл, надо лезть в её недра, скакать по графу вызовов, смотреть нет ли там какого-нибудь вызова, где есть модификация коллекции. Поменял двусвязный список на вектор, проверяй все места, где есть итераторы и пр.
Re[10]: Rust - suxx & mustdie
От: Ночной Смотрящий Россия  
Дата: 19.12.21 07:20
Оценка:
Здравствуйте, kaa.python, Вы писали:

НС>>Какой знакомый аргумент

KP>Ты взрослый дядя, нормальный аргумент. В старых проектах бывает всяко.

Бывает. Только проекты на С++ почти все — старые.

KP> В новых не бывает, если разработчики следуют хорошим практикам, и для плюсов это C++ Core Guidelines.


Вот я и говорю, что знакомый аргумент. На форуме чуть ли не каждый первый рассказывает про прекрасный С++, но в дикой природе почему то попадается исключительно треш и содомия. Из свежих наблюдений — Архикад, который течет как не знаю что.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.