Rust

Нет комментариев

Итак, Rust — это новый язык программирования, разрабатываемый в компании Mozilla, который обладает большим количеством интересных функциональных свойств и возможностей, среди которых особенно выделяются средства обеспечения безопасности программного кода. Очевидны попытки автора языка расширить ту категорию ошибок, которые могут быть выявлены компилятором, и таким образом предотвратить, а следовательно уменьшить количество ошибок, проникающих в готовую конечную версию программы.

Rust представляет собой язык программирования с блочной структурой, где блоки выделяются фигурными скобками, и внешне напоминает С-подобные языки, но тем не менее, существенно отличается от них как синтаксически, так и семантически. Уже при проектировании Rust ориентировался на цели крупномасштабного (корпоративного) программирования. Основные цели этого языка — обеспечение целостности, параллельности и безопасности.

Rust поддерживает объединение различных концепций и стилей программирования: императивный процедурный стиль, концепцию параллельного выполнения с использованием акторов, объектно-ориентированный и чистый функциональный стили. Кроме того, Rust поддерживает обобщённое программирование и метапрограммирование, как в статической, так и в динамической форме.

1. Предварительный обзор функциональных возможностей языка
Характеристики системы типов данных: static, nominal, linear, algebraic, locally inferred (локально выводимые).

Безопасная работа с памятью обеспечивается отстутствием null-указателей или «висящих» указателей, также исключено переполнение буферов.

Обобщённая настраиваемая параметризация типов с использованием классов типов.

Обработка исключений выполняется без восстановления состояния, без «обратной раскрутки» (unwinding), с изоляцией (обрабатываемой) задачи.

Модель памяти: необязательный к применению сборщик мусора (GC), локальный относительно одной задачи, безопасные типы указателей с анализом их области видимости.

Компилятор и все вспомогательные инструментальные средства публикуются под двойной лицензией: MIT / Apache 2.

2. Краткая история
Rust начинался, как личный проект разработчика компании Mozilla Грэйдона Хоара (Graydon Hoare) в 2006 году. Компания заинтересовалась разработкой в 2009 г. и взяла проект под свою опеку. В 2010 г. основной акцент разработки был перенесён на создание компилятора rustc, который мог бы компилировать себя сам (до этого компилятор для сборки Rust был написан на языке OCaml), в это же время впервые была опубликована информация о новом языке программирования Rust. И уже в 2011 г. задача самокомпиляции была успешно решена. В качестве бэкэнда rustc использует LLVM.

В январе 2012 г. был представлен первый альфа-релиз компилятора Rust. На момент написания данной статьи текущей являлась версия 0.6, выпущенная в апреле 2013 г. Грэйдон Хоар и компания Mozilla планируют представить первую стабильную версию языка в конце 2013 года.

3. Основные концепции Rust
Rust — язык программирования, в котором основной акцент сделан на безопасных типах данных, на безопасной работе с памятью, на обеспечении параллелизма и высокой производительности. В Rust реализована «умная» модель памяти, поддерживающая эффективные структуры данных и безопасные шаблоны параллельного выполнения, а также полностью запрещающая некорректный доступ к памяти, который обычно является источником критических ошибок сегментации в других языках программирования. Rust представляет собой компилируемый язык со статической типизацией.

Похожие записи

лодочных винтах

Нет комментариев

Разберемся, что собой представляет такой показатель, как шаг винта. Узнайте…

рецепты

Нет комментариев

Сегодня полезные для здоровья пищевые добавки и чаи для многих…

виза в англию

Нет комментариев

Великобритания — островное государство, объединяющее в себе 4 страны: Англия,…