0
Найти на сайте: параметры поиска

 

 

Свет увидел язык программирования Rust 0.7, развиваемый проектом Mozilla

4 июля 2013 -

 

 

Разработчиками из проекта Mozilla был представлен экспериментальный язык программирования Rust 0.7 с наличием строгой типизации и ориентированный на то, чтобы вести вполне безопасную работу с памятью и обеспечивать высокий параллелизм в выполнении заданий.

Исходный текст проекта будет распространяться в соответствии с лицензией MIT кроме Rust также ведется разработка экспериментального браузерного движка Servo, написанного на этом же языке с весьма интересной особенностью – он поддерживает многопоточный рендеринг web-страницы и распараллеливание операции с DOM.


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


С момента, когда производился релиз прошлого выпуска, язык претерпел более двух тысяч изменений. Главное отличие от прошлого выпуска состоит в том, чтобы усовершенствовать синтаксис и элементы языка, а саму основную работу сфокусировали на том, чтобы расширить стандартную функциональную библиотеку. Также можно обратить внимание на ввод новой реализации системы проверки любого заимствованного указателя и новом модуле итераторе, который заменил ruby-подобный внутренний итератор, вместо которого сейчас используют тип Iterator, очень схожий с внешними итераторами Java.
Среди базовых возможностей языка стоит отметить:

 

  • Он очень аккуратно работает с памятью – у вас не будет никакого нулевого и потерянного указателя. Управление памятью производится в полностью автоматизированном режиме.
  • Будет контролироваться изменчивость – ведь по умолчанию ни один объект нельзя изменить.
  • Динамическое выполнение абсолютно безопасно – сбои и исключения полностью обрабатываются, ведутся логии.
  • Появилась возможность определить сложные инварианты, которые ведут контроль над структурами данных.

 

Теги: rust, mozilla
Комментарии (0)

Нет комментариев. Ваш будет первым!