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

Programming Rust at FMI, 2018

Programming Rust at FMI, 2018

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

Andrew Radev

October 02, 2018
Tweet

More Decks by Andrew Radev

Other Decks in Programming

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