LINUX.ORG.RU

Вышел Rust 1.1

 ,


0

5

25 июня вышел очередной стабильный релиз Rust 1.1 — языка программирования общего назначения, разрабатываемого Mozilla совместно с сообществом. Данный релиз сохраняет полную обратную совместимость с Rust 1.0, вышедшим 6 недель назад.

Основные изменения:

  • Значительное ускорение компиляции. Сборка компилятором самого себя (bootstrapping) стала на 32% быстрее по сравнению с Rust 1.0.
  • Улучшенные сообщения об ошибках, ключ --explain позволяет получать подробные объяснения и варианты исправления кода.
  • Стабилизация стандартной библиотеки работы с файловой системой std::fs. Теперь cargo может быть собран стабильной версией компилятора.
  • Поддержка musl как альтернативной реализации libc под Linux. Получаемые исполняемые файлы слинкованы статически и не зависят от динамических библиотек.

Одновременно была выпущена бета-версия Rust 1.2, в которой реализованы дальнейшее ускорение компиляции, поддержка параллельной компиляции и поддержка MS Visual C. Стабильная версия Rust 1.2 будет выпущена через 6 недель.

Официальный сайт: http://rust-lang.org/.

Примечания к релизу: https://github.com/rust-lang/rust/blob/master/RELEASES.md.

Ссылка на скачивание: http://www.rust-lang.org/install.html.

Официальная документация: http://doc.rust-lang.org/stable/.

>>> Подробности



Проверено: leave ()
Последнее исправление: ymn (всего исправлений: 2)

расти язык, большой и маленький

buratino ★★★★★
()
Ответ на: комментарий от Twissel

Связаны статически

слинкованы статический

Поддерживаю эту претензию. Следует написать «связаны статически».

Camel ★★★★★
()
Ответ на: Связаны статически от Camel

«Статический» исправили, да. «Связаны» не подходит, если ты конечно линкер «связывальщиком» не называешь. Можно было «скомпонованы»/«компоновщик» использовать, но это такое же заимствованное слово как и «линкер», только менее привычное для большинства в данном контексте.

nonimous
() автор топика

Кстати. Новых фичь в языке до 2.0 не ожидается?
Там же вроде что-то про наследование мутили.

WatchCat ★★★★★
()
Ответ на: комментарий от Debasher

Угадай, кто ему ответил.

И кто прокомментировал ответ.

WatchCat ★★★★★
()

Отлично! Не буду смотеть!

anonymous
()

Подскажите по стандартным библиотекам? Вот, например, std:fs. Я так понимаю, она должна работать на разных ОС? То-есть представляет из себя сильно ограниченный интерфейс для файлов, эдакий компромисс между POSIX, WinAPI, etc? Как в питонах и прочих managed-песочницах? Никаких тебе флагов, шаред локов и прочего fcntl?

makoven ★★★★★
()
Ответ на: комментарий от anonymous

в состав GCC войдёт?

Текущая реализация на llvm, так что пока вряд ли.

anonymous
()
Ответ на: комментарий от makoven

Да, std:fs реализует только пересечение функционала WinAPI и POSIX, но в стандартной библиотеке есть еще std::os::unix::fs, std::os::linux::fs и std::os::windows::fs, и через них есть доступ к функциям, специфичным для платформы. Плюс на crates.io есть специализированные обвертки.

nonimous
() автор топика
Ответ на: комментарий от Dark_SavanT

То есть, это такой хитрый план потеснить джаву с C# ) А остальные сущности есть в кросплатформенном виде? Сеть, процессы, потоки, IPC?

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от makoven

Как в питонах и прочих managed-песочницах?

не только: например, у С и С++ тоже есть свои стандартные библиотеки для работы с файлами

next_time ★★★★★
()
Ответ на: комментарий от next_time

Можно линковать MSVC-шным линкером с MSVC-шными либами без всяких mingw.

Legioner ★★★★★
()

вангую в каждой версии ускорение компиляции и выполнения на 100500%

по теме: слишком часто они релизят

unt1tled ★★★★
()
Ответ на: комментарий от next_time

Сейчас сборка под Windows реализована с использованием инфраструктуры mingw (стандартные либы, линкер и т.д.), как результат нельзя, например, статический прилинковать объектник к проекту, собираемому MSVC, стандартная библиотека вся тащится с собой. Вот теперь добавят возможность линковаться напрямую с msvcrt.dll и использовать линкер из MSVC.

nonimous
() автор топика

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

DarkEld3r ★★★★★
()
Ответ на: комментарий от kto_tama

Если поверх этих кросплатформенных сущностей построят годные библиотеки и гуй уровня WPF - то тогда может и прибить

makoven ★★★★★
()
Ответ на: комментарий от anonymous

аноним... квантор всеобщности... уныло до блевотины

yyk ★★★★★
()
Ответ на: комментарий от unt1tled

Ну давай объясни, что я в твоём комментарии не дочитал.

DarkEld3r ★★★★★
()
Ответ на: комментарий от makoven

это такой хитрый план потеснить джаву с C# )

это врядли, средний жаво-шарпо-программизд rust будет осиливать в муках.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от makoven

Гуй уровня WPF это явно не к Rust. Такие вещи удобнее и быстрее писать на ЯП с традиционным ООП/наследованием и сборщиком мусора, а высокая производительность и расширенные гарантии безопасности обычно не требуются.

nonimous
() автор топика
Ответ на: комментарий от Dark_SavanT

средний жаво-шарпо-программизд rust будет осиливать в муках.

По твоему, они такие тупые? Другое дело, что могут просто не захотеть.

DarkEld3r ★★★★★
()
Ответ на: комментарий от quantum-troll

Для любой программы ускорение в стопицот процентов в каждом релизе это плохо. Лучше сесть и подумать, чем пилить лишбы успеть за 6 недель.

unt1tled ★★★★
()
Ответ на: комментарий от unt1tled

Для любой программы ускорение в стопицот процентов в каждом релизе это плохо.

Ага, всем надо брать курс на замедление.

anonymous
()
Ответ на: комментарий от DarkEld3r

дело не в том, что тупые, дело в том, что в rust используется непривычная для среднего жабо-шарпо программиста концепция управления памятью.

Dark_SavanT ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.