Тёмный

Илья Богданов - Язык программирования Rust - обзор экосистемы 

C++ User Group
Подписаться 15 тыс.
Просмотров 14 тыс.
50% 1

Опубликовано:

 

31 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 34   
@andrey8910
@andrey8910 5 лет назад
Спасибо, Илья! Хороший доклад
@cannonjabari310
@cannonjabari310 3 года назад
I realize it's pretty off topic but do anybody know of a good site to watch newly released tv shows online ?
@liammessiah635
@liammessiah635 3 года назад
@Cannon Jabari Lately I have been using Flixzone. You can find it on google :)
@vitaliyzinchenko480
@vitaliyzinchenko480 5 лет назад
Пример на 7:53 скомпилируется, так как примитивы копируются а не перемещаются.
@vitaliyzinchenko480
@vitaliyzinchenko480 5 лет назад
@Nikita Krupitskas Потому, что скопировать i32 к примеру так же дешево как и переместить. 52:20
@andrewvsk2368
@andrewvsk2368 4 года назад
@@vitaliyzinchenko480 фигово, когда нет единого поведения, тем более что с точки зрения ранней документации это реально не должно было компилироваться или должно было бы выдавать warning т.к. пытаемся получить доступ к неинициализированной let, вместо этого что-то мы копируем, а что-то перемещаем. Печально что в новом языке, который претендует на прозрачность и однозначность (притом сам заставляет явно указывать некоторые фишки, вроде преобразования типов, в том числе в сторону расширения) допускает за кадром подобное поведение. И начинающих работать с языком собьёт с толку, т.к. в литературе сказано одно, а тестируешь - получается другое.
@vladimirmitnitsky1841
@vladimirmitnitsky1841 4 года назад
В rustbook написанно что будет компилироваться
@kosbarable
@kosbarable 3 года назад
@@andrewvsk2368 да, ну во всех языках примитивы отличаются от вновь созданных типов, тут разница одна и она очевидная. Мне норм. И объяснение тоже хорошее -- копировать и перемещать примитивы стоит одинаково.
@Delfi1
@Delfi1 4 месяца назад
@@andrewvsk2368 Ну, просто язык активно развивается, что и плюс и минус.
@danilakapitanov7044
@danilakapitanov7044 5 лет назад
А, ну, могу сказать, а, что, доклад, а, интересный, а, но, как бы можно, а, было бы, ну, например, сократить, а, это доклад, а, в два раза, а, ну.
@ZekeFast
@ZekeFast 4 года назад
Вместо RLS уже написали rust-analyzer.
@blackmass4925
@blackmass4925 Год назад
Можно ли изучать Rust как первый язык программирования?
@mythbuster6126
@mythbuster6126 7 месяцев назад
В качестве первого лучше подойдут Javа, затем Kotlin. А потом можно и Rust, он сложнее раз в 5 минимум, но эта сложность оправдана
@blackmass4925
@blackmass4925 7 месяцев назад
@@mythbuster6126 В rust есть и понятные темы. Я бы начинал с изучения C. Я и въехал благодаря C. Не Basic, не Pascal, не Java, не C++, не Python. Но может быть благодаря учителю на курсах. Если будет нормальный учитель и учебный план и практика, то можно начинать сразу с Rust. Мне так кажется.
@daniyarkalmanbetov7271
@daniyarkalmanbetov7271 Месяц назад
​@@mythbuster6126как по мне лучше с сишки начать и затем уже на джаву и раст
@IExSet
@IExSet 2 года назад
Два первых места в том бенчмарке сейчас занимает C++.
@НиколайСпицын-м2й
@НиколайСпицын-м2й 4 года назад
6:50 Переменная - это переменная. Из самого слова "переменная" понятно, что она изменяема. В расте точно это называется переменными?
@StealerSlain
@StealerSlain 4 года назад
Ну даже в the rust book пишут "immutable variable". Никто уже не вдумывается в этимологию этого слова. "Константная переменная" ни разу не произносил за всё то время, что программируешь?
@НиколайСпицын-м2й
@НиколайСпицын-м2й 4 года назад
@@StealerSlain нет. Меня, скорее всего, уволили бы за такое) Я говорю "константы")
@nanoqsh
@nanoqsh 4 года назад
Даже в Haskell, где нет изменяемного состояния (по умолчанию) есть понятие "переменная". Это понятие используется в математическом смысле. Скажем, мы можем связать с X любое значение, но когда связали, присвоить новое уже не можем. Например, у нас есть функция: F(X) = X * X. Так как на месте X может оказаться что угодно, да и применять эту функцию мы можем много раз с разными аргументами, то мы называем это переменной. В Rust есть ещё и константы - то, что вычисляется в момент компиляции. Скорее всего, "изменяемые переменные" так названы, чтобы не путать их с константами.
@alexeypolevoybass
@alexeypolevoybass 4 года назад
Тебе надо - сделал изменяемой и изменил. В остальное время, когда ты не собираешься в неё писать, она защищена от изменения. А константа и в Африке константа, её поменять во время выполнения не получится.
@YawKar
@YawKar 5 месяцев назад
Можно называть идентификатором константного значения, идентификатором мутабельного значения
@userfromworld
@userfromworld 2 года назад
Спасибо
@ftinkere
@ftinkere 4 года назад
Трейты больше похожи на протоколы в clojure
@Dmitry_Timchenko
@Dmitry_Timchenko 4 года назад
Какой-то слегка мазохистский язык. ;) Хотелось бы иметь "Котлин для системного программирования", дружелюбный инструмент, который программисту помогает, а не стоит над ним с плёткой.
@prettycode4028
@prettycode4028 3 года назад
тебе никто не мешает писать ансейф. только укажи что код ансейф
@luckystrike91
@luckystrike91 5 месяцев назад
этим он и помогает, что стоит с плеткой. мы уже видели, что происходит, когда язык пытается удовлетворить все, даже самые нелепые хотелки и позволяет говнокодить налево-направо
@Arenoros
@Arenoros 5 лет назад
7.50 это по моему самая тупая "фича", пригорает от такого поведение в c# так как этот тупой компилятор не может разобрать ситуацию когда во всех ветках переменная инициализируется и не может быть так что она не инициирована. А про поведение на 8.20 вообще нет слов. Так то у нас якобы супер константы но мувить мы можем, гениально..
@KaraMaslyatam
@KaraMaslyatam 5 лет назад
На 8:20 не константы, а неизменяемые переменные. let это просто биндинг для рантайм переменной, для compile-time констант ключевое слово const. Но вообще там ошибка и код скомпилируется, потому что i32 - Copy тип (для этого типа реализован трейт Copy, который форсит copy-семантику), а значит обе переменные (точнее, биндинги к переменным) будут валидные.
@СергейКовалевский-т7у
Мне кажется, такое поведение (7:50) в C# - проблема не самой фичи, а её реализации. В Java, например, точно так же нельзя читать потенциально неинициализированную переменную, но я не припомню случаев, когда у компилятора были ложные срабатывания. А вот в том же C++ компилятор не настолько строгий, что, однако, не делает написание кода более удобным, зато заставляет иногда посидеть с отладчиком.
@mikesomebody5404
@mikesomebody5404 4 года назад
Rust - не компилируется.
@nekosora6036
@nekosora6036 4 года назад
А что он делает?
@vlaih0
@vlaih0 4 года назад
Банальная Википедия говорит, что компилируется.
@dzen1234
@dzen1234 3 года назад
Я так понял, это шутка, выведенная индукцией, что ни один пример из доклада не скомпилировался (якобы, т.к. Илья накосячил с пониманием копирования примитивов).
Далее
СОБАКА И  ТРИ ТАБАЛАПКИ Ч.2 #shorts
00:33
🤍ПОЮ для ВАС ВЖИВУЮ🖤
3:04:40
Просмотров 1,3 млн
СОБАКА И  ТРИ ТАБАЛАПКИ Ч.2 #shorts
00:33