Немного туп(л,)
84 subscribers
177 photos
26 videos
39 links
Маленький бложег С++ программиста, увлекающегося Rust'ом. Не столько про пргрмрвне, а вообще.
Download Telegram
Немного туп(л,)
Преамбула: я начинал эту заметку ещё несколько месяцев назад, но не дописал совсем чуть-чуть в конце. Сейчас вот наткнулся снова и решил дописать. Всё, что ниже - это текст от "прошлого меня", за исключением последних трёх абзацев. -------------------- У меня…
Как такого было не допустить? Ну, вариантов несколько:
а) Перейти на язык со сборкой мусора
б) Перейти на язык с отслеживанием времени жизни объектов
в) Реализовать CoW-строки
г) Использовать сырые указатели
д) Использовать владеющие строки

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

Кто виноват? Имхо - тот программист, кто внедрил std::optional<std::reference_wrapper<std::string>>. Потому что второй был "просто разработчик", а первый "синьор-разработчик", а "синьор-разработчик" это не про "писать хитрый код", это про "писать код, который команда специалистов самого разного уровня сможет поддерживать в будущем". В legacy кодовой базе, где повсюду торчат сырые указатели, сложные глобальные состояния и прочая дребедень добавлять сложность в виде таких новомодных конструкций - путь в бездну.
Кстати, если бы это добавил какой-нибудь джун или стажёр, я бы тут не возбухал. Возбухаю я именно от того, что это сделал синьор...
Немного туп(л,)
Как такого было не допустить? Ну, вариантов несколько: а) Перейти на язык со сборкой мусора б) Перейти на язык с отслеживанием времени жизни объектов в) Реализовать CoW-строки г) Использовать сырые указатели д) Использовать владеющие строки Вариант (а) отметаем…
Кстати, ещё какое-то время назад у нас прошла рекомендация отдавать предпочтение использованию std::string_view (это невладеющая строка, если что).
Пока что с ней проблем не было, потому что её всё равно почти никто не использует :)

Но я всё жду, когда кто-нибудь напишет что-то типа этого:
std::string_view sv;
{
std::string str1 = "Good news, guys!!";
sv = str1;
}
std::string str2 = "Bad news, guys :(";

std::cout << sv << std::endl;

Подсказка, что же тут получается - тут.
Ебучая телега: написал много текста, а он пропал. Дважды. Я писал пост дважды. И дважды он пропал. Ну, блядь, значит и не нужно!
😢2
Чтобы посмотреть ютуб я отправляюсь в Литву. У них довольно креативная реклама. Не как у японцев, но всё-же...
Так вот, сегодня мне рекламировали клетку Фарадея...

#яобожаюинтернет или всё же #irl?
🔥3
Немного туп(л,)
Чтобы посмотреть ютуб я отправляюсь в Литву. У них довольно креативная реклама. Не как у японцев, но всё-же... Так вот, сегодня мне рекламировали клетку Фарадея... #яобожаюинтернет или всё же #irl?
Вообще, им надо пойти дальше: коробка должна быть с аккумулятором, а при закрытии испускать электромагнитный импульс, который бы выжигал положенные внутрь устройства.

И рекламный слоган:
Заново откройте для себя настоящее общение навсегда.

🌚
😁3🔥1🤯1
А вы знаете, что я не только блохер, но ещё и стрёмер?
И вот щаааас как я пострёмлю. Вот тут.
Буду делать Славянский Зажим Яйцами.
Пробовать.
Это вряд ли будет интересно, можете не подключаться.
И говорить я тоже не буду
🤯6
Я извиняюсь, но какого лешего 7 апреля снега больше, чем было 6 февраля?

#irl
👀2
Forwarded from Random Rust Dev
Немного математики
2👍1🤯1
Красивый астропейзаж, сфотографированный в Новой Зеландии. Полоска справа от Млечного Пути в верхней части кадра — это метеор. Светлое свечение в небе ниже Млечного Пути и метеора — зодиакальный свет. Зеленое свечение еще ниже, у самого горизонта, — полярное сияние. Автор: Koen van Barneveld.
🔥32
🌚
🌚3😁2
Это же блог про пргрмрвне? Тогда слушайте:

Мы тут с супругой решили слетать погулять в Южную Корею! Поэтому в ближайшую неделю здесь будут появляться различные тексты, фотографии и кринжочки из Южной Кореи 🌚

А пока мы ждём открытия гейта, вот вам немножечко из уже сегодня произошедшего
🔥42👍2