Замыкания и функциональные трейты в Rust

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ธ.ค. 2024

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

  • @bitwiseuwu
    @bitwiseuwu  2 หลายเดือนก่อน +4

    25:00 - Крейт rayon - crates.io/crates/rayon
    Лайфтаймы структур в Rust - th-cam.com/video/-jcM2sXLWHQ/w-d-xo.htmlsi=C8_8jvzfdp17nKq7
    Устройство замыканий в Rust Reference: doc.rust-lang.org/stable/reference/types/closure.html

  • @Sneg00vik
    @Sneg00vik 2 หลายเดือนก่อน +13

    Годнота, отсылаю к твоему каналу коллег-питонистов, чтобы учили Rust.

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

      На … им Rust? В какой сфере вообще Python и Rust пересекаются?

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

      @@phat80 Везде где нужно навалить перформанса - от бэкенда "перенеси-подай json" до обработки данных и ML. Используя PyO3 легко пишутся расширения для python.

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

      @@phat80 Везде где нужно навалить перформанса, от бэкендов "принеси подай json" до обработки данных и ML. Rust на данный момент возможно является лучшим решением для написания расширений для python.

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

      @@Sneg00vik Я думал лучшим является C. По сути большинство библиотек для Python написано на C. Ну и в принципе, в Python и идут для того, чтобы всего этого не касаться - указателей, ссылок, шаблонов, аллокаторов и т.д. 😅 Но если выбирать между C и Rust, я бы выбрал C для каких-то простых утилит. Сложность Rust просто не оправдана для каких-то проектов в несколько сот строчек кода. А C вообще по сути является самым простым языком из системных, если вообще не самым простым среди высокоуровневых. Не зря Rust с очень большим трудом отвоевывает какую-то долю у C. Вроде ужа давно является зрелым и полноценным языком, но все еще занимает мизерную долю на рынке. Тот же Go попер гораздо лучше. Почему? А потому, что людям не нравятся сложные языки со сложными концепциями. Для управления летательным аппаратом NASA может Rust и лучший вариант, но не в вэб разработке 😁

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

      @@phat80 Тут уже надо выбрать одно, либо С простой и невыразительный, либо выразительный но сложный. Все фишечки высокоуровневого программирования к которым привыкли питонисты(хештаблицы, лямбды/замыкания, патернматчинг, итераторы, асинхронность) в C нет, а в Rust есть. А когда вы всё это натащите/или сами реализуете в С - код будет уже совсем не простым.
      Писать расширения на Rust намного удобнее: есть PyO3 который возьмёт на себя весь бойлерплейт код, есть maturin который всё соберёт и запушит на pypi. Есть библиотеки с практически идентичным api в Python и Rust - например Polars. Развернуть Rest-API сервис на Axum не сложнее чем на FastApi, да и код будет очень похожий. Распарсить json и провалидировать данные одинаково просто как на Pydantic так и в Serde. Вообщем я не знаю где вы сложности нашли в Rust`е.
      С существует уже больше 40 лет и этим объесняется, что на неё написано множество ПО в том числе и Python, а не потому, что он такой классный и отвечает современным требованиям к разработке лучше чем какой-нибудь Rust.

  • @lufliw
    @lufliw 2 หลายเดือนก่อน +9

    Великолепно объяснили! Спасибо!

  • @999mikl
    @999mikl 2 หลายเดือนก่อน

    Насколько же понятно, качественно и наглядно всё здесь показано. Одна из самых сложных тем раскрыта на все 100%, таким понятным и приятным глазу форматом. Лайк и большое уважение автору.

  • @kiborg6982
    @kiborg6982 2 หลายเดือนก่อน +2

    Никогда не писал и вообще не много про него знаю, но ваши видео интересно смотреть и так!

  • @Maratreason
    @Maratreason 2 หลายเดือนก่อน +4

    Спасибо! Отлично объясняете. Лайк Лайк Лайк!!!

  • @NikitaFomin-tw1it
    @NikitaFomin-tw1it หลายเดือนก่อน

    Отличные видео! Жду каждый новый ролик) А ещё жду какой-нибудь патреон или бусти

  • @yang5597
    @yang5597 2 หลายเดือนก่อน +5

    Лучший канал ❤

  • @kla1mzz58
    @kla1mzz58 2 หลายเดือนก่อน +3

    Как всегда годнота!

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

    Если хотя бы немного знаете английский, то рекомендую еще посмотреть видео на канале Logan Smith про функции, оно называется "Rust Functions Are Weird (But Be Glad)". Там хорошо показана разница между замыканиями и указателями на ф-ции.

  • @liz2k
    @liz2k 2 หลายเดือนก่อน +8

    в тот момент когда ты дойдешь до Pin / Async видео будут по 2 часа :)

    • @bitwiseuwu
      @bitwiseuwu  2 หลายเดือนก่อน +7

      Даже если видео будет 2 часа, постараюсь, чтобы смотрелось на одном дыхании!

    • @liz2k
      @liz2k 2 หลายเดือนก่อน +3

      @@bitwiseuwu это у тебя отлично получается!

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

    Очень информативно, спасибо тебе! Было бы круто, если бы видосы выходили где-нибудь еще типа вк видео/рутуб/дзен/телега.

  • @Quadrad_s
    @Quadrad_s 2 หลายเดือนก่อน +2

    Очень крутой контент, подскажи плиз сколько ты уже с растом работаешь? И был ли опыт с плюсами?

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

    Спасибо!

  • @danilakhtarov
    @danilakhtarov 2 หลายเดือนก่อน +2

    Я кажется в первый раз слышу термин функциональный указатель, обычно говорят указатель на функцию. Даже в английском это function pointer, а не functional pointer

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

      Тоже резануло слух

  • @little-ork
    @little-ork 2 หลายเดือนก่อน

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

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

    Очень нравится шрифт, что это?

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

      Этот шрифт называется Consolas, также могу порекомендовать шрифт JetBrains Mono и шрифты Гитхаба

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

    А слушай, а как ты нарыл такую инфу, что замыкания - это структура и тд, можешь плиз поделиться ресурсами, и было бы прикольно, если в каждом видосе оставлять, а-ля на доп чтение и тд)

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

      Постараюсь в будущем оставлять источники! Про технические детали реализации написано в Rust Reference - doc.rust-lang.org/stable/reference/types/closure.html

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

    База

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

    Ок

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

    Сложное объяснение.

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

    Опять Раст 😢

    • @DiabloSat_off
      @DiabloSat_off 2 หลายเดือนก่อน +14

      Ура

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

      У Bitwise канал по расту, что он ещё должен снимать? C++ что-ли?)

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

      @@yarb00 ну я же пошутил 🐱

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

      @@yarb00 zig