Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

  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. ?