Роман Проскуряков - Голый Rust

  Рет қаралды 10,648

Конференция по разработке на C++

Конференция по разработке на C++

Күн бұрын

Пікірлер: 106
@ГеоргийСвиридов-м2щ
@ГеоргийСвиридов-м2щ 9 ай бұрын
Очень интересно и полезно !
@MonahTuk
@MonahTuk 2 жыл бұрын
Я этот путь с C++ прошёл на Cypress FX3) прекрасно было ещё с at_exit, конструкторы, деструкторы глобальных переменных и т.д.. Исключения не делал.
@dmitryponyatov2158
@dmitryponyatov2158 Жыл бұрын
22:28 кто победил error: requires `copy` lang_item ?
@sweetcapitan5690
@sweetcapitan5690 Жыл бұрын
"Я гнался за вами 3 дня, чтобы сказать как мне безразличен Раст." Вы все поняли о ком речь.
@rybiizhir
@rybiizhir Жыл бұрын
Где Хасбики?
@Disorrder
@Disorrder 6 ай бұрын
Не сразу понял, но потом как увидел!
@dmitryponyatov2158
@dmitryponyatov2158 2 жыл бұрын
а с автором доклада контакты есть? есть ли возможность в штатном stable Rust реализовать свой собственный "наворочанный" вариант указателей? конкретно -- based ptr, который состоит из двух частей: часть которая изменяется между вызовами, и вторая часть которая является оффсетом от первой смысл -- адресовать память аллоцированную через mmap (pmem), чтобы между нескольими запусками программы данные оказывались на тех же адресах, т.к. реализовать _ссылочную персистентость_
@popuguytheparrot_
@popuguytheparrot_ Жыл бұрын
Скорей всего нет. Ссылки приведут к утечкам памяти
@thestkannibal
@thestkannibal 2 жыл бұрын
русскоязычное видео про раст - +250% к появлению царя в комментах)
@console.g
@console.g Жыл бұрын
Бля, Алматы не там где вы показали на карте😂
@0xsadcat92
@0xsadcat92 11 ай бұрын
Шло 2024 тысячелетие, машина научилась рисовать и объяснять мемы, а сектанты так и не разобрались, для чего НА САМОМ ДЕЛЕ нужен volatile...
@rustonelove
@rustonelove 2 жыл бұрын
А теперь финалочка. Самый фундаментальный позор - это многопоточка, о которой данный персонаж ничего не знает. Следите за рассуждениями этого пропагандиста. "реализация александреску снимает волатайл", а далее послушайте проблему с ошибкой, о которой он будет говорить далее(в ней он так же наврал, но мне лень комментировать каждое проявление его невежества). Таким образом получается, что в каждой реализации sync так же снимается sync, а сам sync просто хардкодится без каких-либо проверок. Он обвинил реализацию на цпп в том, что есть у него. И страшно даже не то, что он наврал. Страшно то, что никто его за это не поймал.
@rustonelove
@rustonelove 2 жыл бұрын
Сколько много он "сказал", но есть одна проблема. Он соврал во всём. Это, конечно же, не враньё в чистом виде - просто терминальное невежество и ретрансляция всякой мифологии не имеющей отношения к действительности.
@rybiizhir
@rybiizhir Жыл бұрын
Rust - не для тупых. Все чем хорош С, сговорчивый компилятор, гарантирует горы багов в индийском коде.
@АндрейСадовяк-м2д
@АндрейСадовяк-м2д 9 ай бұрын
Баги в коде пишет не компилятор, а программист
@Makcimm85
@Makcimm85 5 ай бұрын
@@АндрейСадовяк-м2д компилятор должен предупреждать о том, что допущен баг который вызывает утечку памяти, а не компилировать всё подряд.
@ДимаБочаров-н8ы
@ДимаБочаров-н8ы 21 күн бұрын
Не могу с Вами согласиться, rast это попытка дать возможность писать , скажем мягко не разобравшимся прогаммистам, сложные прогаммы. Моё мнение - попытка не очень...
@rustonelove
@rustonelove 2 жыл бұрын
Он так не рассказал про сайз - опять соврал. Вернее что-то повторил из методички, но толку. А я расскажу. Дело в том, что эта vtable-лапша из древних времён - она работает через боксинг, т.е. сведение полиморфного контексте к мономорфному путём стирания типов и замены их на интерфейс. Как следствие данное днище не может в (x: T) - решается это очень просто - созданием базового интерфейса. Т.е. того в котором есть нужны нужные методы для копирования/передачи объектов. Боксинг обычно работает в купе с гц/хипом, как следствие в функцию всегда передаётся указатель. Но в раст-скриптухе далее прикручен монорфизатор(огрызок шаблонов). Он работает как частичное исполнение кода как в любой скриптухи с житом. И ему для его работы нужен как минимум size, чтобы убрать боксинг. В результате чтобы это работало - все генерики должны быть обмазаны : size, но чтобы наврать неофитам и скрыть этот позор - они тащат его неявно.
@rustonelove
@rustonelove 2 жыл бұрын
Как что-то может не требовать библиотек, но требовать символов? К тому же он врёт и ллвм-лапша не может работать без llvm-рантайма. Все эти memcpy - это как раз куски того самого ллвм-рантайма. Враньё про "у нас аллокатор с выравниванием" - это чушь и костыль. Все аллокации в нормальном языке(цпп) итак выровнены, уже давно даже с хинтами. Так же есть op new с таким же хинтом. Если мы говорим про си и стандартный интерфейс, то у маллока был всегда один аргумент и это просто обратная совместимость. Есть другие функции с выравниванием. Поэтому то, что он нам показывает - это убогий костыль. Здесь аллокатор с голым size, а не поверх T. Потому как эта скриптуха не может в полиморфизм. Если говорить про голые аллокаторы, то выравнивание и прочее там есть.
@rustonelove
@rustonelove 2 жыл бұрын
Типажи - они не имеют никакого отношение к концептам в цпп. Он даже не знает что это такое. Так же он врёт, пытаясь выдать это за реализацию операций. Далее он в процессе ретрансляции пропаганды на этом споткнётся, но зачем ему правда. Типажи - это костыль, интефрейсы для языков не умеющих в полиморфизм. Они появились в языках типа С++/жавы и прочих, которым потребовалось иметь статический динамический полиморфизм. Не как в жс, где мы имеем возможность писать add(x, y) { return x + y; }, и т.к. это функция одна она требует боксинга(динамической типизации). Боксинг это так же механизм представления динамических типов в статически. Вот эти инетрфейсы/трейты/базовые классы - это все элементы боксинга. Реализация находится в функции внутри этого интерфейса, но даже там она не находится. Она встроенная - он это показывал когда писал реализацию + и ссылался на "тут на самом деле нет рекурсии".
@rustonelove
@rustonelove 2 жыл бұрын
Уровень вопросов тоже поражает воображение. Единственное что hirrolot попытался его поймать на вранье про "паники выпиливаются", но не стал идти дальше. Вопросы "из зала" уровня домохозяек. Возможно нормальные пацаны это не смотрели, либо руки были заняты фейспалмом. По поводу паник я уже говорил, но повторю ещё раз и подробнее. Раст-скриптуха не может существовать без паник. Ведь это копипаста с С++-раии, а раии не может без паник. Особенно в скриптухе не могущей в полиморфизм. Если мы захотим убрать исключения, то нам нужно боксить все типы. Простой пример - вы хотите передать в функцию box. В этом днище нет кострукторов, но даже здесь вы напишите box::new, но он возвращает box, но при этом может дать ошибку. Значит нужно возвращать не box, а рантайм-байду(result). Но ведь box ещё есть T, а там свой new, который так же не может вернуть T, а только result. А ещё может быть копирование, но копирование может быть давать ошибку/либо не давать. В результате нам нужно рекурсивно собирать все ошибки, а эта мусорная скриптуха не может в полиморфизм. Это будет сделать невозможно без костылей. А далее мы захотим написать a + b, а значит оно тоже должно возвращать result, а далее у нас будет a + b + c, а значит это сломается. Нужно будет либо использовать костыли(типа ((a + b)? + c)?), либо как уже было сказано - боксить все типы. Чтобы + работал не только с T, но и с result. В любом случае это невозможно. Поэтому ни в какой либе никогда этого не будет, а в случае с патчами для линукса - они попросту врут. Там ничего нет, либо огрызки. Возьмите какой-нибудь fno-exceptions код, умножьте его убогость на 10 и будет то, что они там пишут. Это неюзабельно. Когда я смотрел на это в последний раз - эти позорища выпилили result, заменили его на int. Весь код написан просто как на сишке(во много раз более убогой). Вот такой он "раст в ядре".
@dmitryponyatov2158
@dmitryponyatov2158 2 жыл бұрын
о чём можно спорить с челом, который не понимает разницi между zero cost vs "скриптуха" ?
@ChannelCheesecake
@ChannelCheesecake Жыл бұрын
@olsuhvladформально Enum в Rust это ADT, а не перечисление
@charlieking7600
@charlieking7600 Жыл бұрын
Не пойму хейта в комментариях.
@voidptr_t
@voidptr_t Жыл бұрын
Забей. Людям заняться нечем, вот и спорят о бесполезных вещах.
@voidptr_t
@voidptr_t Жыл бұрын
Просто в комментах две секты. Растеры и приплюснутые (я просто не знаю как цпп разработчиков назвать лаконично), и эти две секты воюют чья сильнее, хотя смысла в этом нет. Всем и так давно понятно, что раст не заменит плюсы совсем, но может, и уже забирает огромный процент ниш. В общем холивары тут ведутся, как собственно и всегда под видео о расте
@charlieking7600
@charlieking7600 Жыл бұрын
@@voidptr_t нашёл прозвища - растаманы и крестоносцы)))
@АлексейКиселев-д2г
@АлексейКиселев-д2г 4 ай бұрын
Rust - это про философию подхода ко всем существующим ЯП. Фильм - "Человек, который изменил всё"
@АлексейКиселев-д2г
@АлексейКиселев-д2г 4 ай бұрын
Надеюсь, ненавистники, только придадут тебе уверенности перейти на "тёмную" сторону силы Rust'а))
@MrTomasiche
@MrTomasiche 2 жыл бұрын
Лучший доклад про раст, показывающий, что не надо писать на расте
@voidptr_t
@voidptr_t Жыл бұрын
​​@olsuhvladну вон бд-шки нормально работают. А ещё Дискорд себе бекэнд давно уже переписал. Думаю ты не прав, хотя безусловно совать раст везде неправильно, но и общая недооценка его плюсерским комьюнити выглядит глупо.
@0xsadcat92
@0xsadcat92 11 ай бұрын
@@voidptr_t Давно сделал для себя тест паршивости ЯП - если простые операции (прочитать файл, вывести hello world и пр.) сделать на си проще, то язык го*но, и раст пытается это показать всегда... По теме, адепты говорят, что раст безопасный, но есть браузеры, IDE, компиляторы, ос, драйвера и еще куча всего и они никому не угрожают
@syogun544
@syogun544 Ай бұрын
Наверное поэтому америкосы запретили писать на с и с++ програмное обеспечение,дебилы , наверное , ничего не понимают
@rustonelove
@rustonelove 2 жыл бұрын
Удивительно то как этот пропагандист маневрирует. "нам язык может, но оно в найтли". В общем возможность писать без либ для лоулевел языка до сих пор нет в языке спустя более чем 10 лет. Точно так же какая-то чушь про системный линковщик. Что он несёт? Очевидно, что там ллвмный линковщик, к ллвм это си компилятора. Как следствие нужно тянуть сишный рантайм. Эта немощная секта не смогла написать свой рантайм, ведь в реальности никакой линковщик и прочее(даже в ллвм) не заставляет тебя использовать си-рантайм. Потому что это си и у си нет зависимостей на рантайм, в отличии от этой скриптухи.
@rustonelove
@rustonelove 2 жыл бұрын
Перечисление того, что есть в расте. В расте нет структур - это нерабочий мусор. Поэтому как только вы захотите нормальные структуры - их нужно превращать в сишные. Данный пропагандист пытался далее врать о том, что "это нужно для си" - нет, ненужно. Просто в си это сделано для людей. Неявно изменять порядок полей - делает расположение полей непредсказуемыми, а значит эту структуру нельзя мапить на память. Другие пропагандисты-сектанты в своё время так же врали, рассказывал куллстори о том что "в си просто не осилили" а они сделали гениальную оптимизацию. Только вот в си это не сделали потому, что не являются идиотами, как и ЦА си. Массивы так же неюзабельны. В этом днище нет полиморфизма, а значит вы не сможете написать функцию принимающую массив(только если явно захардкодить его длину). Никакого преобразования в слайсы и прочее нет - это так же рантайм. И это тот самый боксинг, привет.
@Павел-б1д3я
@Павел-б1д3я 2 жыл бұрын
Вот это понимаю - столько комментариев к видео от единственного человека, который ничего не понимает в Rust)) Зачем вообще я прочитал комментарии😀😀😀 Но главное - зачем человек их написал? Страшно жить становится) А доклад интересный, спасибо👍👍
@rustonelove
@rustonelove 2 жыл бұрын
Смотри на типичные оправдания пропагандиста-сектанта. Рандом прибегает и рассказывает "не понимает в раст". И казалось бы, ведь если я что-то не понимаю - берёшь любой тезис из моего сообщения и показываешь, что это не так. Ты ведь это уже сделал, чтобы быть уверенным в том, что я чего-то не понимаю? В результате а) примеры у тебя есть. б) мазы уровня "не хочу не писать" не работают, ведь ты уже написал это враньё. Кстати, данный сектант почему-то не применяет это к автору, который ничего не знает про С++.
@rustonelove
@rustonelove 2 жыл бұрын
Поэтому на будущие - основное свойство раст-секты - врать. Как врал автор, так и врёт прибежавший сюда фанатик.
@rustonelove
@rustonelove 2 жыл бұрын
Смотри на типичные оправдания пропагандиста. Рандом прибегает и рассказывает "не понимает в раст". И казалось бы, ведь если я что-то не понимаю - берёшь любой тезис из моего сообщения и показываешь, что это не так. Ты ведь это уже сделал, чтобы быть уверенным в том, что я чего-то не понимаю? В результате а) примеры у тебя есть. б) оправдания уровня "не хочу не писать" не работают, ведь ты уже написал это враньё. Кстати, данный фанатик почему-то не применяет это к автору, который ничего не знает про С++.
@Павел-б1д3я
@Павел-б1д3я 2 жыл бұрын
​@@rustonelove Ну да, я тоже не понимаю в раст) Я и не говорил, что разбираюсь) Но вопрос скорее в том - ради чего вообще писать такой объем текста)) Всеж и так знают, что мир полон вранья) Все врут друг другу)) Страшно, очень страшно
@Павел-б1д3я
@Павел-б1д3я 2 жыл бұрын
@@rustonelove Но если без шуток, то меня скорее удивил объем комментариев и то, что там везде про вранье говорится в какой-то навязчивой форме. Какие-то странные навязчивые состояния прямо получаются. Это я не чтобы обидеть пишу, просто пугающая штука реально со стороны
@rustonelove
@rustonelove 2 жыл бұрын
Враньё первое - он показывает на 3:30 хв, что мало того что на 50% состоит из синтаксического/семантического мусора(допустим эта немощная скриптуха не может вы вод типов, либо какое-то b, ?). ? и Result - это фейк. Здесь не проверяются ошибки. Они просто неявно кастятся в пустоту. Враньё второе - у раста есть какая-то стандартная библиотке. Её нет. Её невозможно написать на расте. Частично далее он докажет это своим примером. Зависимость от либц - это позор. И не слушайте эти сектантов, которые будут рассказывать о "для интеропа с си" - это враньё. Для интеропа с си либц ненужна. Враньё третье "не все методы возвращают ошибку". На расте это не реализуемо. Никакие методы даже не пытаются что-то возвращать, а то что есть - это примитивные случаи которые кое как закостылили. Их мало и они не юзабельные.
@КириллКириллович
@КириллКириллович 10 ай бұрын
@olsuhvlad он тупой или больной, в обоих случаях это к Стравинскому, а не в IT. Вот что с нашим айти сделали эти недельные курсы, теперь последний посудомойщик имеет мнение! страшно жить становится...
@rustonelove
@rustonelove 2 жыл бұрын
Очередное враньё "мы не можем взять size". Да ты чё. Он позорится и врёт попросту везде. Ведь в си нет sizeof, а в цпп полиморфизма. Как раз таки очередной пример боксинга и мусорности этой скриптухи.
@rustonelove
@rustonelove 2 жыл бұрын
Я не буду далее перечислять номера вранья. "раст как второй язык в ядре" - никакой раста в ядре нет и не будет. Это просто атака активизма на ядро. Почему? Потому что раста нет. Раст это не язык - это бренд. И сектанты для популяризации своей секты пытаются примазаться в ядру, более сильному бренду. Почему никогда не будет? Всё очень просто. Их ЦА сектанты и в каком виде это будет - им неважно. Как результат они и далее из раста будут выкидывать раст, в конечном итоге останется от него сишка. Подобная эпопея была с С++ и она показательна. Точно так же торвальдс бомбил на цпп-рантайм, исключения и прочее. С++ так же можно было пропихнуть в ядро выпилив из него всё, что делает его С++(исключения и как следствие раии, ртти, классы, всякую static-иницаилизацию, глобальную инициализацию и прочее). Люди на такое не пошли. Эти же сектанты готовы на это. Потому что им ненужен раст в ядре - им нужно примазаться к бренду, повторяю. Кому интересно может сам пойти и посмотреть на эти патчи, на это позорище.
@vladosvladosovich3042
@vladosvladosovich3042 Жыл бұрын
И вот 2023 год и раст в ядре 😂
@linkernick5379
@linkernick5379 Жыл бұрын
@@vladosvladosovich3042 У крестовиков горе, а вы тут насмехаетесь.😁
@АндрейКазанцев-н8й
@АндрейКазанцев-н8й Жыл бұрын
А теперь ещё и в windows)
@mikhailg9995
@mikhailg9995 10 ай бұрын
Ещё и Торвальдс одобрил
@MrOldschoolrocknroll
@MrOldschoolrocknroll 9 ай бұрын
Чувак, токсично очень, не надо таким быть)
@rustonelove
@rustonelove 2 жыл бұрын
Библиотека кор, раст и прочая чушь. Всё враньё от первого до последнего слова. В расте существует кор именно потому, что языка по-сути нет. Далее он это наглядно покажет. Но не это проблема. В цпп тоже много сделано так же, но ключевое - оно сделано на самом цпп(за исключением интринсиков). Дак вот весь это кор на расте - это те самые инстринсики, либо ffi в си/llvm(по-сути тот же си) рантайм. Язык не предоставляет никакие примитивы. Это просто обёртки над ллвм-типами. Они не являются полноценными, т.е. на платформе без float, либо без u64 - оно сломается. Вернее ллвм это починит и подсунет рантайм. Ключевое то, что раст об этом ничего не знает. Это не язык. И типы эти не его.
@IExSet
@IExSet Жыл бұрын
Это патамушта ЦеПП фактически включает в себя Сишечку, ему легче 🤣
@fortstones3822
@fortstones3822 Жыл бұрын
Респект спикеру
Зачем системным программистам Rust? Сергей Фомин, Яндекс
44:37
Видео с мероприятий {speach!
Рет қаралды 9 М.
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
Rust без Наследования
15:29
Bitωise
Рет қаралды 7 М.
Зачем системным программистам Rust? Сергей Фомин, Яндекс
44:37
Видео с мероприятий {speach!
Рет қаралды 7 М.
Антон Яковлев - Практика применения C++ в играх и игровых движках
1:00:27
Конференция по разработке на C++
Рет қаралды 3,8 М.
Илья Богданов - Язык программирования Rust - обзор экосистемы
1:01:03
Конференция по разработке на C++
Рет қаралды 13 М.