ความคิดเห็น •

  • @andrey8910
    @andrey8910 4 ปีที่แล้ว +10

    Спасибо, Илья! Хороший доклад

    • @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 :)

  • @userfromworld
    @userfromworld 2 ปีที่แล้ว

    Спасибо

  • @ZekeFast
    @ZekeFast 4 ปีที่แล้ว +8

    Вместо RLS уже написали rust-analyzer.

  • @vitaliyzinchenko480
    @vitaliyzinchenko480 4 ปีที่แล้ว +22

    Пример на 7:53 скомпилируется, так как примитивы копируются а не перемещаются.

    • @vitaliyzinchenko480
      @vitaliyzinchenko480 4 ปีที่แล้ว +6

      @Nikita Krupitskas Потому, что скопировать i32 к примеру так же дешево как и переместить. 52:20

    • @andrewvsk2368
      @andrewvsk2368 4 ปีที่แล้ว +3

      @@vitaliyzinchenko480 фигово, когда нет единого поведения, тем более что с точки зрения ранней документации это реально не должно было компилироваться или должно было бы выдавать warning т.к. пытаемся получить доступ к неинициализированной let, вместо этого что-то мы копируем, а что-то перемещаем. Печально что в новом языке, который претендует на прозрачность и однозначность (притом сам заставляет явно указывать некоторые фишки, вроде преобразования типов, в том числе в сторону расширения) допускает за кадром подобное поведение. И начинающих работать с языком собьёт с толку, т.к. в литературе сказано одно, а тестируешь - получается другое.

    • @vladimirmitnitsky1841
      @vladimirmitnitsky1841 4 ปีที่แล้ว +2

      В rustbook написанно что будет компилироваться

    • @kosbarable
      @kosbarable 2 ปีที่แล้ว +1

      @@andrewvsk2368 да, ну во всех языках примитивы отличаются от вновь созданных типов, тут разница одна и она очевидная. Мне норм.
      И объяснение тоже хорошее -- копировать и перемещать примитивы стоит одинаково.

    • @Delfi1
      @Delfi1 3 วันที่ผ่านมา

      @@andrewvsk2368 Ну, просто язык активно развивается, что и плюс и минус.

  • @ftinkere
    @ftinkere 3 ปีที่แล้ว

    Трейты больше похожи на протоколы в clojure

  • @blackmass4925
    @blackmass4925 ปีที่แล้ว +1

    Можно ли изучать Rust как первый язык программирования?

    • @mythbuster6126
      @mythbuster6126 3 หลายเดือนก่อน +1

      В качестве первого лучше подойдут Javа, затем Kotlin. А потом можно и Rust, он сложнее раз в 5 минимум, но эта сложность оправдана

    • @blackmass4925
      @blackmass4925 3 หลายเดือนก่อน

      @@mythbuster6126 В rust есть и понятные темы. Я бы начинал с изучения C. Я и въехал благодаря C. Не Basic, не Pascal, не Java, не C++, не Python. Но может быть благодаря учителю на курсах. Если будет нормальный учитель и учебный план и практика, то можно начинать сразу с Rust. Мне так кажется.

  • @IExSet
    @IExSet 2 ปีที่แล้ว +1

    Два первых места в том бенчмарке сейчас занимает C++.

  • @danilakapitanov7044
    @danilakapitanov7044 4 ปีที่แล้ว +26

    А, ну, могу сказать, а, что, доклад, а, интересный, а, но, как бы можно, а, было бы, ну, например, сократить, а, это доклад, а, в два раза, а, ну.

  • @user-ji2rb4eh6b
    @user-ji2rb4eh6b 4 ปีที่แล้ว +5

    6:50 Переменная - это переменная. Из самого слова "переменная" понятно, что она изменяема. В расте точно это называется переменными?

    • @StealerSlain
      @StealerSlain 3 ปีที่แล้ว +1

      Ну даже в the rust book пишут "immutable variable". Никто уже не вдумывается в этимологию этого слова. "Константная переменная" ни разу не произносил за всё то время, что программируешь?

    • @user-ji2rb4eh6b
      @user-ji2rb4eh6b 3 ปีที่แล้ว

      @@StealerSlain нет. Меня, скорее всего, уволили бы за такое) Я говорю "константы")

    • @nanoqsh
      @nanoqsh 3 ปีที่แล้ว +2

      Даже в Haskell, где нет изменяемного состояния (по умолчанию) есть понятие "переменная". Это понятие используется в математическом смысле. Скажем, мы можем связать с X любое значение, но когда связали, присвоить новое уже не можем.
      Например, у нас есть функция: F(X) = X * X. Так как на месте X может оказаться что угодно, да и применять эту функцию мы можем много раз с разными аргументами, то мы называем это переменной.
      В Rust есть ещё и константы - то, что вычисляется в момент компиляции. Скорее всего, "изменяемые переменные" так названы, чтобы не путать их с константами.

    • @alexeypolevoybass
      @alexeypolevoybass 3 ปีที่แล้ว +2

      Тебе надо - сделал изменяемой и изменил. В остальное время, когда ты не собираешься в неё писать, она защищена от изменения. А константа и в Африке константа, её поменять во время выполнения не получится.

    • @YawKar
      @YawKar หลายเดือนก่อน

      Можно называть идентификатором константного значения, идентификатором мутабельного значения

  • @Dmitry_Timchenko
    @Dmitry_Timchenko 3 ปีที่แล้ว

    Какой-то слегка мазохистский язык. ;) Хотелось бы иметь "Котлин для системного программирования", дружелюбный инструмент, который программисту помогает, а не стоит над ним с плёткой.

    • @prettycode4028
      @prettycode4028 3 ปีที่แล้ว +1

      тебе никто не мешает писать ансейф. только укажи что код ансейф

    • @luckystrike91
      @luckystrike91 หลายเดือนก่อน +1

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

  • @Arenoros
    @Arenoros 4 ปีที่แล้ว +2

    7.50 это по моему самая тупая "фича", пригорает от такого поведение в c# так как этот тупой компилятор не может разобрать ситуацию когда во всех ветках переменная инициализируется и не может быть так что она не инициирована.
    А про поведение на 8.20 вообще нет слов. Так то у нас якобы супер константы но мувить мы можем, гениально..

    • @KaraMaslyatam
      @KaraMaslyatam 4 ปีที่แล้ว +2

      На 8:20 не константы, а неизменяемые переменные. let это просто биндинг для рантайм переменной, для compile-time констант ключевое слово const. Но вообще там ошибка и код скомпилируется, потому что i32 - Copy тип (для этого типа реализован трейт Copy, который форсит copy-семантику), а значит обе переменные (точнее, биндинги к переменным) будут валидные.

    • @user-bu5qy4gh8e
      @user-bu5qy4gh8e 4 ปีที่แล้ว +2

      Мне кажется, такое поведение (7:50) в C# - проблема не самой фичи, а её реализации. В Java, например, точно так же нельзя читать потенциально неинициализированную переменную, но я не припомню случаев, когда у компилятора были ложные срабатывания. А вот в том же C++ компилятор не настолько строгий, что, однако, не делает написание кода более удобным, зато заставляет иногда посидеть с отладчиком.

  • @mikesomebody5404
    @mikesomebody5404 4 ปีที่แล้ว +5

    Rust - не компилируется.

    • @nekosora6036
      @nekosora6036 4 ปีที่แล้ว +5

      А что он делает?

    • @vlaih0
      @vlaih0 4 ปีที่แล้ว +1

      Банальная Википедия говорит, что компилируется.

    • @dzen1234
      @dzen1234 3 ปีที่แล้ว +4

      Я так понял, это шутка, выведенная индукцией, что ни один пример из доклада не скомпилировался (якобы, т.к. Илья накосячил с пониманием копирования примитивов).