$30 off During Our Annual Pro Sale. View Details »

Programming Rust at FMI, 2019

Programming Rust at FMI, 2019

Нулева лекция на курса по Rust във ФМИ.

Andrew Radev

October 08, 2019
Tweet

More Decks by Andrew Radev

Other Decks in Programming

Transcript

  1. Програмиране с ust

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. ust

    View Slide

  6. View Slide

  7. Rust

    Млад: само на 4.5_f32 години (от 1.0)

    “C ме застреля в крака”

    “C++ ме застреля в крака++”

    View Slide

  8. Rust: безопасност

    Ръчна алокация на памет

    Но няма free

    Мерки против кракозастрелвания

    Няма null

    Всички references са гарантирано валидни,
    compile-time

    Няма data races

    View Slide

  9. Rust винаги шофира

    View Slide

  10. Rust: low-level

    Бърз

    Zero-cost abstractions

    Малък runtime

    Съвместимост

    View Slide

  11. Rust: high-level

    Пакети

    Тестване

    Любезен компилатор

    Силна статична типова система

    Елементи от функционалното програмиране

    Елементи от ООП

    View Slide

  12. Ferris the Crustacean

    View Slide

  13. Ferris the Crustacean

    View Slide

  14. View Slide

  15. View Slide

  16. Rust: употреба

    Системно програмиране (Redox, coreutils)

    Embedded програмиране

    View Slide

  17. Embedded!

    View Slide

  18. Rust: употреба

    Системно програмиране (Redox, coreutils)

    Embedded програмиране

    Уеб, server-side (Rocket, Diesel)

    Уеб, client-side (wasm, stdweb, yew)

    View Slide

  19. View Slide

  20. Rust: употреба

    Системно програмиране (Redox, coreutils)

    Embedded програмиране

    Уеб, server-side (Rocket, Diesel)

    Уеб, client-side (wasm, stdweb, yew)

    Networking, async stuff (Tokio)

    Обработка на данни

    Tooling (ripgrep, xsv)

    Игри (ggez, Amethyst, Piston, SHAR)

    View Slide

  21. View Slide

  22. Rust: community

    Ruby, Python – скорост, статично типизиране

    Haskell, Scala – подобно типизиране

    C/C++ – безопасност, съвместимост

    Отворен процес

    View Slide

  23. Friends of Rust

    View Slide

  24. Предупреждения

    Млад език

    Труден (за научаване) език

    View Slide

  25. Предупреждения
    “На Go-то, с 2 часа седмично, накрая се чудехме
    за какво да говорим…
    ама на вас може да не ви стигне времето.”
    (Note: стигна ни)

    View Slide

  26. Административни неща

    Домашни: 4 x 15 = 60т (може би)

    Проект: 1 x 60 = 60т

    (+ разни бонуси)

    60т: 3

    75т: 4

    90т: 5

    105т: 6

    View Slide

  27. Административни неща

    Място: 101

    Дни: Вторник и четвъртък

    Време: 19:15 – 21:00

    View Slide

  28. Административни неща

    Discord: https://discord.gg/FCTNfbZ

    Лекции, домашни и други неща:
    https://fmi.rust-lang.bg

    Бира и всевъзможни други питиета

    View Slide

  29. ?

    View Slide