Почему стоит учить Rust: 5 аргументов в пользу технологии
Rust несколько лет подряд становится самым любимым языком программирования в мире (и остается таким), по данным опросов Stack Overflow. Рассказываем, почему эта технология заслуживает вашего внимания.
Rust поддерживают крупные IT-компании
Каждый год изобретается множество языков программирования, но мы часто слышим только о нескольких. В основном потому, что их используют в крупных IT-компаниях вроде Microsoft или Apple, пишет Dice.
Rust был запущен Mozilla в 2015 году после десяти лет разработки, а теперь находится под эгидой организации Rust Foundation, в которую входят такие компании, как Amazon, Google, Huawei, Microsoft, Meta, Arm, Dropbox, Toyota и другие. То есть хорошо зная эту технологию, можно рассчитывать на место в крупной компании — там она будет актуальна.
Альтернатива C++
Конечно, это как сравнивать яблоки и груши, но в целом Rust хорошо подходит для создания приложений, которые вы планируете писать (или уже пишете) на C++. Почему? Он устраняет классы ошибок, связанные с C++ (например, одна ошибка в 2016 году позволила взломать криптовалюту, что привело к потерям в миллионы долларов). В Rust нет нулей, которые нередко вызывают проблемы.
Да, C++ быстрее компилирует исходные файлы, но если вы работаете с заголовочными файлами, то C++ будет тратить много времени на перекомпиляцию. Разработчики стараются повысить скорость компиляции Rust, чему способствуют улучшения LLVM (компилятор использует LLVM для серверной части).
Как только вы выйдете за пределы компиляции отдельных файлов с помощью компилятора Rust, лучше всего использовать Cargo, официальную систему сборки Rust и менеджер пакетов. Он проверяет зависимости и не перекомпилирует, если нет изменений. Это значительное преимущество над С++, у которого нет официальной системы сборки.
Управление памятью
Rust позволяет контролировать, где и как выделяется и освобождается память. Когда вы запрашиваете память для переменной, можно объявить умный указатель. Однако отмена выделения выполняется, когда этот умный указатель выходит за пределы области действия.
Может быть несколько умных указателей, которые совместно используют одни и те же данные и удаляются сборщиком мусора. А еще можно получить доступ к памяти по ссылке, которая не освобождает память, когда она выходит за рамки.
Для наглядности
Правильный параллелизм
В официальной онлайн-документации Rust это называется «бесстрашным параллелизмом», который «позволяет писать код, свободный от незаметных ошибок, который легко рефакторить, не добавляя новых ошибок». Это довольно смелое утверждение, поскольку параллелизм зачастую может привести к некоторым очень тонким ошибкам. Компилятор предотвращает многие из них во время компиляции, упрощая разработку многопоточных приложений без трудно отслеживаемых ошибок, характерных для других языков.
Расширенная поддержка WebAssembly
WebAssembly позволяет создавать видео, аудио, графику, трехмерную среду, мультимедийные игры, криптографические вычисления и даже языковые реализации. Многие языки поддерживают WebAssembly, но для кода производственного качества рекомендуется ограничиться C/C++, Rust или AssemblyScript.
Установка компилятора WebAssembly в Rust занимает около двух секунд. Компиляция в WebAssembly значительно проще, чем, скажем, для C или C++ с использованием EmScripten.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: