The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]



"Релиз языка программирования Rust 1.23"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз языка программирования Rust 1.23"  +/
Сообщение от opennews (??) on 06-Янв-18, 09:58 
Состоялся (https://blog.rust-lang.org/2018/01/04/Rust-1.23.html) релиз языка программирования Rust 1.23 (http://www.rust-lang.org), развиваемого проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime.


По структуре язык  Rust напоминает C++, но существенно отличается в некоторых деталях реализации синтаксиса и семантики. Автоматическое управление памятью избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo (http://blog.rust-lang.org/2014/11/20/Cargo.html), позволяющий получить нужные для программы библиотеки  в один клик. Для размещения библиотек поддерживается репозиторий crates.io (https://crates.io/).


В подготовке нового выпуска приняли участие 158 разработчиков. Основные новшества (https://github.com/rust-lang/rust/blob/master/RELEASES.md#ve...):


-  В компиляторе проведена (https://github.com/rust-lang/rust/pull/45380) работа по исключению излишних операций копирования, что привело к сокращению потребления памяти при использовании rustc на 5-10%;
-  Документация rustdoc переведена на использование разметки CommonMark (http://commonmark.org/) (спецификация для формата Markdown). Теперь для генерации документации может использоваться не только Hoedown, но и любой совместимый с CommonMark инструментарий. Документация для Cargo, ранее размещённая на сайте doc.crates.io, перемещена в раздел doc.rust-lang.org/cargo.

-   Стандартизирована функциональность типажа (https://ru.wikipedia.org/wiki/%D0%A2%D0%...(%D0%B0%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF)) (traits)  AsciiExt, предоставляющего функции для определения типа символов (u8, char, [u8], str). В новом выпуске предоставляемые типажом методы определены непосредственно для связанных с ними типов и не требуют явного импорта типажа (use std::ascii::AsciiExt).

Например:



  let ascii = 'a';
  let non_ascii = '❤';
  let int_ascii = 97;

  assert!(ascii.is_ascii());
  assert!(!non_ascii.is_ascii());
  assert!(int_ascii.is_ascii());

-  В объектах trait теперь разрешено (https://github.com/rust-lang/rust/pull/45772) использование произвольных типажей auto;
-  В разряд стабильных переведена новая порция API, в том числе для типов std::sync::atomic реализован метод  From для преобразования из неатомарных типов, например "let x = AtomicBool::from(true)". Добавлена поддержка конструкций FromIterator‹()›. Cняты ограничения T: Sync для  RwLock‹T›: Send;
-  Проведена оптимизация Thread::{park, unpark} и SliceExt::binary_search;

-  В компиляторе для  LLVM включен режим TrapUnreachable для уменьшения ситуаций, приводящих к неопределённому поведению (https://ru.wikipedia.org/wiki/%D0%9D%D0%...) программ;


-  В  пакетном менеджере Cargo добавлена возможность выполнения команды
"cargo uninstall" для удаления за раз более чем одного пакета. В "cargo check" добавлена поддержка проверки unit-тестов.

URL: https://blog.rust-lang.org/2018/01/04/Rust-1.23.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=47863

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


6. "Релиз языка программирования Rust 1.23"  –14 +/
Сообщение от VINRARUS (ok) on 06-Янв-18, 15:12 
>Язык сфокусирован на безопасной работе с памятью

После апаратных уязвимостей х86 я так понимаю утверждение с цытаты устарело? =]

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Релиз языка программирования Rust 1.23"  +10 +/
Сообщение от Wladmis (ok) on 06-Янв-18, 15:28 
> >Язык сфокусирован на безопасной работе с памятью
> После апаратных уязвимостей х86 я так понимаю утверждение с цытаты устарело? =]

Нет, это вообще про разное.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Релиз языка программирования Rust 1.23"  +3 +/
Сообщение от Akteon on 06-Янв-18, 17:07 
Почему устарело-то ?? Будто программа на Rust принципиально не может выполнятся на процессоре без предсказания ветвлений , бггг
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

17. "Релиз языка программирования Rust 1.23"  –2 +/
Сообщение от S.Atahl on 07-Янв-18, 08:42 
Чего только не придумают, лишь бы не писать на си-86.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Релиз языка программирования Rust 1.23"  +1 +/
Сообщение от foi on 07-Янв-18, 11:56 
Чего только не придумают, лишь бы быть ретроградом
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Релиз языка программирования Rust 1.23"  +2 +/
Сообщение от Аноним email(??) on 07-Янв-18, 15:29 
Чего только не придумают чтобы не писать на Ассемблере...    Чего только не придумают чтобы не писать в кодах микропроцессоров...
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

21. "Релиз языка программирования Rust 1.23"  +/
Сообщение от pda on 08-Янв-18, 00:54 
Я, кстати, писал чуть-чуть. For fun. В пределах 100 байт. Удовольствие, как и следовало ожидать оказалось так себе. :)
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

19. "Релиз языка программирования Rust 1.23"  –1 +/
Сообщение от anomymous on 07-Янв-18, 12:26 
>> По структуре язык Rust напоминает C++
>> let ascii = 'a';
>> assert!(!non_ascii.is_ascii());

/0

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


  Закладки на сайте
  Проследить за страницей
Created 1996-2018 by Maxim Chirkov  
ДобавитьПоддержатьВебмастеруГИД  
Hosting by Ihor