Краткая версия

Rust дает вам возможности низкоуровневого языка, такого как C, с гарантией безопасности памяти.

Длинная версия

Контрольные точки

В целом Rust дает очень хорошую производительность. Рассмотрим следующий наивный алгоритм проверки простоты:

def is_prime(n):
    if n < 2:
        return False
    else if n % 2 == 0:
        return n == 2
    else:
        i = 3
        while i^2 <= n:
            if n % i == 0:
                return False
            i += 2
        return True

Когда реализовано на C и Rust и протестировано на всех целых числах до 10000003, мы получаем следующее:

Мы видим, что в этом конкретном тестовом примере Rust работает лишь немного медленнее, чем C. Фактически, Rust работает так же или быстрее, чем C, в пяти из десяти тестов The Computer Language Benchmark Game. Что касается использования памяти, Rust имеет тенденцию использовать больше памяти, но во многих случаях он сопоставим с C.

В частности, поскольку у Rust нет среды, которую нужно поддерживать во время выполнения, его объем памяти довольно мал. А поскольку он регулярно улучшается, мы можем ожидать, что производительность и объем памяти со временем только улучшатся.

Легкость использования

Сначала Rust чувствует себя неловко, но после развития беглости и понимания концепции владения кодирование на этом языке очень похоже на написание на любом знакомом низкоуровневом языке, таком как C или C ++. Однако набор пакетов, предоставляемых Cargo, позволяет пользователю очень быстро создавать надежные программы.

Безопасность

Rust - это безопасный для памяти язык; распространенные ошибки, возникающие в системном программировании, такие как висячие указатели, разыменование нулевых указателей и гонка данных, не могут возникать в Rust. Все это управляется без сборщика мусора за счет использования в нем типов параметров, его проверки заимствования и концепции право собственности.

Например, рассмотрим следующий код

fn main() {
 let val;
 {
 let temp = 5;
 val = &temp;
 }
 println!(“r: {}”, val);
}

Когда val присваивается адресу памяти temp, областью действия которой является функция main (), появляется висячий указатель. Rust обнаруживает это во время компиляции:

Резюме

Независимо от того, интересуетесь ли вы встроенными, сетевыми или веб-приложениями, Rust предоставляет надежную среду для создания потрясающих инструментов. Созданный Mozilla, Rust в настоящее время представляет собой язык программирования с открытым исходным кодом, управляемый сообществом, который используется многими промышленными компаниями из-за его производительности, надежности и продуктивности. Одним из наиболее заметных аспектов Rust является его поддержка сообществом. Программисты на Rust даже дали себе прозвище: Rustaceans.

Рынок вакансий полон возможностей для разработчиков на Rust. Rust разработан для крупных и амбициозных программных проектов, таких как Servo, современный высокопроизводительный движок браузера, и он менее подвержен проблемам, которые обычно возникают в крупномасштабных проектах. Такие компании, как Mozilla (создатель Rust и Firefox), Samsung, Dropbox и Yelp, используют Rust для систем параллелизма, компонентов Javascript, компонентов Ruby и многого другого!