Programming Rust at FMI, 2018

Programming Rust at FMI, 2018

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

Fc59401781a26b10f5d4fc5b758fb3b7?s=128

Andrew Radev

October 02, 2018
Tweet

Transcript

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

  2. None
  3. None
  4. ust

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

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

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

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

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

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

  12. Ferris the Crustacean

  13. Rust: употреба • Системно програмиране (Redox, coreutils) • Уеб, server-side

    (Rocket, Diesel) • Уеб, client-side (stdweb, yew) • Networking (Tokio) • Обработка на данни • Tooling (ripgrep) • Игри (ggez, Piston, SHAR)
  14. None
  15. Rust: community • Ruby, Python – скорост, статично типизиране •

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

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

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

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

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

    • Време: 19:15 – 21:00
  21. Административни неща Discord: https://discord.gg/FCTNfbZ

  22. Административни неща Лекции, домашни и други неща: https://fmi.rust-lang.bg (засега)

  23. ?