Programming Rust at FMI, 2019

Programming Rust at FMI, 2019

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

Fc59401781a26b10f5d4fc5b758fb3b7?s=128

Andrew Radev

October 08, 2019
Tweet

Transcript

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

  2. None
  3. None
  4. None
  5. ust

  6. None
  7. Rust • Млад: само на 4.5_f32 години (от 1.0) •

    “C ме застреля в крака” • “C++ ме застреля в крака++”
  8. Rust: безопасност • Ръчна алокация на памет ➔ Но няма

    free • Мерки против кракозастрелвания ➔ Няма null ➔ Всички references са гарантирано валидни, compile-time ➔ Няма data races
  9. Rust винаги шофира

  10. Rust: low-level • Бърз • Zero-cost abstractions • Малък runtime

    • Съвместимост
  11. Rust: high-level • Пакети • Тестване • Любезен компилатор •

    Силна статична типова система • Елементи от функционалното програмиране • Елементи от ООП
  12. Ferris the Crustacean

  13. Ferris the Crustacean

  14. None
  15. None
  16. Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране

  17. Embedded!

  18. Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране

    • Уеб, server-side (Rocket, Diesel) • Уеб, client-side (wasm, stdweb, yew)
  19. None
  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)
  21. None
  22. Rust: community • Ruby, Python – скорост, статично типизиране •

    Haskell, Scala – подобно типизиране • C/C++ – безопасност, съвместимост • Отворен процес
  23. Friends of Rust

  24. Предупреждения • Млад език • Труден (за научаване) език

  25. Предупреждения “На Go-то, с 2 часа седмично, накрая се чудехме

    за какво да говорим… ама на вас може да не ви стигне времето.” (Note: стигна ни)
  26. Административни неща • Домашни: 4 x 15 = 60т (може

    би) • Проект: 1 x 60 = 60т • (+ разни бонуси) • 60т: 3 • 75т: 4 • 90т: 5 • 105т: 6
  27. Административни неща • Място: 101 • Дни: Вторник и четвъртък

    • Време: 19:15 – 21:00
  28. Административни неща • Discord: https://discord.gg/FCTNfbZ • Лекции, домашни и други

    неща: https://fmi.rust-lang.bg • Бира и всевъзможни други питиета
  29. ?