LINUX.ORG.RU

Стали доступны видео докладов с C++ CoreHard Spring 2019

 


13

3

На YouTube на канале corehard стали доступны видеозаписи следующих докладов с прошедшей весной конференции C++ CoreHard 2019:

★★★★★

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

Там любопытно, откуда товарищ взял 30%? Из игрушечных примеров? Нашел это видео недели две назад. После «30%» смотреть не стал, а в начале был интерес, судя по названию. И еще из-за слов, что товарищ стал сравнивать с языком, на котором сам почти не писал ничего...

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

зрите в корень, вон он и посмотрел в корень
или у раста какой то свой особый компилятор ? бекенд у всех один
а выхлопы показывают на пока еще слабость раста
дальше будет видно

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

Это я что-то должен доказывать?! Очевидно же, что 30% высосаны из пальца. Если хотят сравнивать, то пусть сами ищут и приводят корректные числа!

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

Стандартная песня для каждого треда про rust. «Если ваш rust не спасает от integer overflow, утечек, логических ошибок, не исправляет магическим образом сишный библиотеки – он не нужен, есть C++, C, ASM, бинарные коды.»

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

Растоманам делать больше нечего, кроме как шляться по C++ным тредам и рекламировать свой любимый язык?

Казалось бы, у вас вот прям серебряная пуля в руках, используйте её в свое удовольствие, завалите мир качественным софтом без багов и дыр… Но что-то пока основная деятельность растоманов – языком на форумах.

Оставьте C++никам возможность спокойно пообсуждать их собственные проблемы. Потому что вокруг все еще огромное количество софта на C++, который не будут переписывать ни на Rust, ни на Nim, ни на Crystall, ни еще на что-нибудь. Просто из-за экономических соображений.

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

Растоманам делать больше нечего, кроме как шляться по C++ным тредам и рекламировать свой любимый язык?

Я не растоман (пока что ничего не написал на этом языке) и ничего не рекламировал.

Но что-то пока основная деятельность растоманов – языком на форумах.

А у плюсовиков – рассказывать на конференциях почему никогда не будет создано языка лучше чем С++. Я понял.

Оставьте C++никам возможность спокойно пообсуждать их собственные проблемы.

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

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

Забавно, что раст-секта на 99% состоит из адептов, которые с трудом смогли осилить ПриветМир «Мама, смотри, я умножаю матрицы!», но при этом, 100% из них профессионально овладели программированием языком на форумах. Воистину, Раст является первым языком, поддерживающим инновационную парадигму программирования ФОП (форумно-ориентированное программирование). 🤠

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

А у плюсовиков – рассказывать на конференциях почему никогда не будет создано языка лучше чем С++. Я понял.

Ну надо же, на C++ конференции рассказывают о преимуществах C++ в сравнении с другими языками! Ужас какой, как они только посмели!

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

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

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

Я не растоман (пока что ничего не написал на этом языке)

И не напишешь. Главное, не забудь зарегистрироваться на Reddit'е, в TWitter'е и Instagramm'е, лайкай все посты упоминающие Rust, работай своим языком программирования, больше от тебя, как от адепта ничего и не требуется.

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

А у плюсовиков – рассказывать на конференциях почему никогда не будет создано языка лучше чем С++. Я понял.

Конкретно этот доклад был не про то, что лучшего языка никогда не будет создано. А о том, почему не смотря ни на что, язык C++ местами никогда не будет заменен.

Это разные вещи. Но вы, видимо, этого не поняли.

PS. Если вы верите в то, что C++ все-таки можно заменить, то посмотрите на COBOL, которому на днях исполнилось 60 лет, и который пока что вполне себе жив и никем полностью не заменен.

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

Конкретно этот доклад был не про то, что лучшего языка никогда не будет создано. А о том, почему не смотря ни на что, язык C++ местами никогда не будет заменен.

посмотрите на COBOL, которому на днях исполнилось 60 лет, и который пока что вполне себе жив и никем полностью не заменен

Намёк на легаси? Тогда к чему терять время на сравнение С++ с другими языками, когда можно было бы сказать всего одну фразу?

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

Пусть даже мы ограничимся только легаси. Этого легаси на C++ уже столько, что даже вообразить сложно. И его придется поддерживать годами.

Соответственно, возникает вопрос: поддерживать его нужно исключительно на C++98? Или же можно применять новое, что появилось и развилось после 1990-х годов?

Вот об этом и говорят на плюсовых конференциях.

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

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

Пусть даже мы ограничимся только легаси. Этого легаси на C++ уже столько, что даже вообразить сложно. И его придется поддерживать годами.

Я с этим и не спорил.

Вот об этом и говорят на плюсовых конференциях.

Конкретно к этому докладу ваша мысль подходит не очень, на мой взгляд. К чему тогда сравнение с ASM? А если уж сравнивать с другими языками, то почему бы не перечислить положительные стороны. У докладчика на видео скорее цель показать, что rust ничего нового не привносит по сравнению с С++ и делает докладчик это по схеме, которая напоминает царскую: в вашем rust есть unsafe, всё ваш rust не лучше сишки. Про замедление на 30% тоже забавно получилось. «Обличает» бенчмарки, однако сам приводит ассемблерный выхлоп крошечных кусочков кода. Вот на мой взгляд интересное сравнение языков. С замерами и исходниками. Докладчик постоянно говорит с усмешкой про другие языки, говорит что странно звучит сравнение Go и C++ и ни полслова не говорит почему (пусть это даже многим может быть очевидным, парой минут до этого он же рассказыват довольно долго про очевидные вещи) и тут же сравнивает питон с го и говорит, что производительность у этих языков почти одинаковая, ну может у го чуть выше, хотя по ссылке выше и другим бенчмаркам можно убедиться, что разница между питоном и го довольно существенная. Что это, снобизмом или слабое знание языков кроме С++? Если последнее, то зачем делать такой доклад? А если первое, то почему бы не сократить доклад до «С++ незаменим потому что дан нам свыше богом»?

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

Поэтому приходить в обсуждение плюсовых проблем с лозунгами типа «Rust лучше!» не очень конструктивно.

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

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

Тут по вкусу, есть цифра - 30%, откуда? Из презентации товарисча который двигает стандратЪ, развивает boost, пишет книжки (проходящие тех ревью) и кодит для яндекса (Можно сделать вывод что, что то за С++ он таки знает). Есть утверждение - Высосаны из пальца, откуда? Из коментария dave с лора. Не то чтобы я склонялся к некому ореолу непогрешимости и ахуенности выступавшего, но на первых порах без копания, его утверждение выглядит вполне норм.

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

Не трать время, @dave – это эталонный адепт Раста, он предпочитает чесать языком на форуме, рассказывая о непогрешимости своего язычка, вместо того, чтобы писать программы, доказывающие растополезность на практике.

Адепты, сэр. 🤠🤠🤠

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

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

Вполне подходит. Т.к. есть много разработчиков, которые ведутся на новые и модные игрушки. Начитается кто-нибудь хвалебных отзывов о Rust-е (Nim, Crystall, Swift, Kotlin.Native или еще о чем-нибудь), решит начать переписывать старый C++ный проект на новом языке и отгребет потом всех проблем, которыми чреват big rewritting. А доклад показывает, что на нужность C++ в современном мире можно и по-другому взглянуть.

делает докладчик это по схеме, которая напоминает царскую: в вашем rust есть unsafe, всё ваш rust не лучше сишки.

Как я могу заметить, по отношению к unsafe в Rust есть две точки зрения:

  1. Растоманская: unsafe в Rust-е не убивает гарантии безопасности Rust-а.
  2. Нормальная: о каких гарантиях безопасности можно говорить, если у вас unsafe в коде?

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

Увидел кликбейт на сравнение с Rust, перешёл по ссылке в надежде на конструктивную критику, но не нашёл её, чем и поделился в своём первом сообщении в этой теме.

Полухин, если правильно помню, про Rust говорил всего несколько минут из довольно длинного доклада. Но оказывается, что именно фрагмент про Rust оказывается самым важным.

Я даже не знаю, как это комментировать. Что-то типа с водой и ребенка выплеснули.

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

Там любопытно, откуда товарищ взял 30%?

А можно конкретный момент, где Полухин утверждает про 30%?

Есть момент, где в конкретном коде компилятор Rust-е добавил три лишних обращения к памяти (и это как раз треть от всех подобных инструкций). Этот код продемонстрирован. Он что, некорректный?

Может где-то в докладе есть еще про 30% оверхед Rust-а по сравнению с C++?

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

Именно такое создается впечатление, что будет на 30% больше. Доклады аккуратнее надо делать, тем более, «авторитетным» людям.

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

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

Именно такое создается впечатление, что будет на 30% больше.

Тогда, пожалуйста, пеняйте на свое восприятие. Поскольку у меня создалось совсем другое впечатление, а именно: компилятор Rust-а во все публичные и незаинлайненые функции добавляет несколько «лишних» обращений к стеку. По какой причине неизвестно и неизвестно, останется ли так в будущем. Но пока вот так.

А вы, блин, по недомыслию или намерено вбросили будто там утверждалось, что Rust всегда на 30% медленнее.

Доклады аккуратнее надо делать, тем более, «авторитетным» людям.

Слушать нужно внимательнее. Был пример приведен, были показаны эти «лишние» инструкции. Было сказано, что автор доклада не понимает, что это и как долго оно в Rust-е просуществует. Но сам факт вроде как придуман не был.

Или был?

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

«Положение [автора] обязывает» приводить корректные примеры. Тем более, что он там сам же признается, что на Rust почти ничего не писал, а сравнивает между тем языки и делает выводы.

Короче, я знаю твою привычку докапываться по мелочам. Поэтому забей! Свое мнение я сформулировал.

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

«Положение [автора] обязывает» приводить корректные примеры.

Давайте не шланговать, а вполне конкретно ответим: Полухин показал пример, в котором компилятор на Rust-е сгенерировал лишние обращения к стеку? Да или нет?

Короче, я знаю твою привычку докапываться по мелочам.

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

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

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

А когда тебе разъясняют, или просят объяснить, ответ один - «я устал, я ухожу, мнения не поменяю».

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

Безусловно, он нашёл пару интересных примеров, в которых показано, что компилятор Rust ещё очень далёк от идеала и что Rust в системах, которые почти полностью состоят из наследия C не слишком то эффективен (поскольку у Rust нет такого количества библиотек и прочего). Но это весьма однобокая оценка ситуации. Даже в Java с освобождением ресурсов возникают проблемы (забыли где-то ссылку на открытый файл и началось веселье).

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

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

И как бы нить всего доклада: давайте не писать на Rust, давайте не делать инфраструктуру для Rust, в этом нет смысла. Ну нет смысла же. Ну позязя.

Deleted ()

Антон Полухин в своих доклада выглядит как ребёнок.
Затрагивает поверхностно какие-то темы, сам хихикает над тем, что сказал.
Неряшлево формулирует свои мысли и так же слабо пытается их подтверждать.
Кажется, ходят на его доклады только как на представителя РФ в комитете.
Удивительно как он попал в комитет?..

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

давайте подчеркнем самые главные тезисы из доклада Антона про минусы раст
1) фронт раста на текущий момент генерит избыточный IR по сравнению с фронтом C++
это не очень хорошо, и будет сказываться в проиграше производительности С++
исправят ли в будущем ? - может быть, но вряд ли, поскольку может поломается конвершин колл
2) раст документирует UB, тем самым не спасая от того же UB
сложили два больших числа по типу в тот же тип, получили переполнение и минус и раст это одобряет
3) раст следит за лайф таймом, ок, если плюсовик не джун,то за лайф таймом он и сам успешно смотрит

ну и на последок потроллю вас, вы не в курсе почему мозилла нанимает в берлине программистов С++ а не программистов на расте ?
как по мне странно, что компания которая придумала такой «мега» язык, не нуждается в программистах на нем же

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

Не код некорректен, а сам тест. Либо rustc нужно добавить -C debuginfo=0, либо шлангу аналог fno-omit-frame-pointer. Проблема в том, что godbolt по дефолту пробрасывает -C debuginfo=1, а раст с этой опцией не оптимизирует frame pointers, чтобы выдавать красивые стек-трейсы при панике.

Вот честный тест: https://godbolt.org/z/sCS5ez https://godbolt.org/z/fzrUne https://godbolt.org/z/AEpr0F

C -> Rust = боль, если библиотека не тривиальна. Гораздо проще и быстрее написать сейфовые обёртки на плюсах, тут не поспоришь. С этими всеми лайфтаймами и их вариатностью, дроп чеком и увлекательными явными кастами указателей, unsafe раст получается более опасным чем плюсы. Если в плюсах ты простреливаешь себе ноги, то в расте простреливаешь ногу, а рикошетит в голову.

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

2) При переполнениях раст паникует в дебаге, но проглатывает их в релизе, так что незамеченными они остаются крайне редко. 3) Или не успешно. Кто ж его знает? Большое счастье словить сегфолт на этапе разработки. Грустно, когда твою ошибку находят другие, уже после релиза. Особенно когда она выливается в RCE, а ты об этом и не подозреваешь. А потом особо буйные хацкеры распостраняют через уязвимость в твоей проге всякие криптовымогатели, и тогда совсем всё печально становится.

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

Давайте не шланговать, а вполне конкретно ответим: Полухин показал пример, в котором компилятор на Rust-е сгенерировал лишние обращения к стеку? Да или нет?

Доходим до главного. Показано, что _существует_ выдуманный пример, где код получился на 30% длиннее. Но почему-то при просмотре видео на ютубе создается невольное ощущение, что так будет _для любого_ кода, в чем сильно приходится сомневаться. Мне очень не нравится сама подача материала.

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

Показано, что существует выдуманный пример, где код получился на 30% длиннее.

Пилять, вы даже не дали себе труда услышать то, что говорил докладчик. Там не было про «код получился на 30% длиннее», там было про то, что команд обращения к памяти в коде было на треть больше. Не весь код длиннее.

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

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

Показано, что существует выдуманный пример, где код получился на 30% длиннее.

*на три инструкции длиннее.

Вы вообще смотрели доклад? Как эти три обращения к стеку превратились у вас 30% для каждой функции я затрудняюсь ответить.

Вот типичнейшее «сам придумал, сам обиделся».

EXL ★★★★★ ()

Лишние инструкции - это не проблема языка, а баг компилятора рано или поздно он будет исправлен. Остальное высосано из пальца.

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

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

А у плюсовиков – рассказывать на конференциях почему никогда не будет создано языка лучше чем С++. Я понял.

Это какие-то провинциальные конференции. На CppCon все по делу, минимум самопиара.

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

Например, последний доклад Страуструпа на CppCon2019 с обзором фич пронизан прагматизмом, основной посыл «хотелось, чтобы в C++ можно было делать вот так - и мы добавили это в язык». Никакого пиписькомерства, единственное суждение о мире вне С++ - скептическое отношение Страуструпа к GC. Вообще, Страуструп прагматичный чел.

seiken ★★★★★ ()