The OpenNET Project / Index page

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

19.08.2016 10:12  Увидел свет язык программирования Rust 1.11

Состоялся релиз языка программирования Rust 1.11, развиваемого проектом Mozilla, обеспечивающего автоматическое управление памятью и предоставляющего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo, написанный на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).

В состав нового выпуска принято 1109 изменений от 126 разработчиков, среди которых:

  • Проведена большая работа по приведению в порядок внутренностей компилятора в процессе подготовки перехода на новую модель трансляции, основанную на дополнительном промежуточном представлении MIR (mid-level IR), применяемом после HIR (high-level IR), но перед LLVM IR. Также ведётся подготовка к реализации режима инкрементальной компиляции, допускающей использование неизменившихся объектных файлов;
  • В пакетный менеджер Cargo добавлена поддержка представленного в прошлом выпуске нового формата исполняемых контейнеров (crate type) cdylib, который рассчитан на компиляцию динамических библиотек, предназначенных для встраивания в программы на других языках. В Cargo.toml теперь допустимо указание 'crate-type = ["cdylib"]';
  • В стандартной библиотеке проведена замена предлагаемого по умолчанию метода хэширования - вместо ранее применяемого SipHash 2-4 задействован SipHash 1-3, который значительно быстрее, но потенциально менее стоек к возможным новым атакам, связанным с использованием коллизий (в настоящий момент проблем нет);
  • Добавлена поддержка вложенных атрибутов cfg_attr и возможность работы cfg_attr с атрибутами path;
  • В разряд стабильных переведена новая порция функций и методов. В BinaryHeap, BTreeMap и BTreeSet добавлен метод append. В libcore включены методы to_degrees и to_radians. В Iterator добавлены методы sum и product. В Cell и RefCell добавлен метод get_mut.

Из последних успехов Rust можно упомянуть включение первых компонентов, написанных на Rust, в основной состав Firefox 48, а также первый выпуск проекта Way Cooler, в рамках которого развивается написанный на Rust композитный менеджер для Wayland. Way Cooler может выступать в роли оконного менеджера с поддержкой мозаичного режима с управлением в стиле i3. Поддерживается подключение расширений на языке Lua и запуск X-приложений через XWayland.

Напомним, что язык Rust сфокусирован на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий. При этом Rust обходится без использования сборщика мусора или runtime, что делает возможным создания на Rust библиотек, которые могут выступать в роли прозрачной замены библиотекам для языка Си. Для распространения библиотек на языке Rust, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo, позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек введён в строй репозиторий crates.io.

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



  1. Главная ссылка к новости (https://blog.rust-lang.org/201...)
  2. OpenNews: В Firefox 48 начнётся интеграция компонентов на языке Rust
  3. OpenNews: Доступен язык программирования Rust 1.10
  4. OpenNews: Успехи Rust: Подготовка первого выпуска Servo и использование Rust в новом хранилище Dropbox
  5. OpenNews: На 2016 год запланировано задействование в Firefox кода на языке Rust и движка Servo
  6. OpenNews: Представлена операционная система Redox, написанная на языке Rust
Лицензия: CC-BY
Тип: Программы
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 10:19, 19/08/2016 [ответить] [смотреть все]
  • +16 +/
    > По структуре язык Rust напоминает C++

    Этот абзац бездумно копипастят из новости в новость. Это разные языки, хоть как их сравнивай.

     
     
  • 2.2, Аноним, 10:36, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]
  • +12 +/
    Еще заголовок неправильно написан, не в духе opennet. Надо было так: "Увидел свет язык программирования Rust 1.11, [u]ознаменовавший[/u] переход к разработке версии 1.12"
     
     
  • 3.8, rob pike, 11:21, 19/08/2016 [^] [ответить] [смотреть все]
  • +20 +/
    "Ознаменовавший переход к разработке версии 1.12, в соответствии с решениями XXV Съезда, направленными на дальнейшее улучшение условий труда девелоперов, всего айтишного народа. Разработчики Rust взяли на себя повышенные социалистические обязательства и вызвали на соцсоревнование разработчиков Go, пообещав выпустить 1.12 в кратчайшие сроки"
     
     
  • 4.28, Аноним, 16:00, 19/08/2016 [^] [ответить] [смотреть все]
  • +6 +/
    А я не поехал
    Я купил мотыля и пошел на реку...
     
  • 2.18, Аноним, 13:27, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Это со всеми повторяющимися новостями так Иногда бывает забавно ... весь текст скрыт [показать] [показать ветку]
     
  • 2.23, Аноним, 14:42, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    А можно обосновать Подход к управлению ресурсами в том числе памятью в этих я... весь текст скрыт [показать] [показать ветку]
     
  • 2.35, Devider, 20:09, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Там же написано Так же раст напоминает Ada, Action script, Assembler, B, , Z... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.51, Аноним, 15:53, 20/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    муха - это такой маленький вертолёт , но существенно отличается в некоторых де... весь текст скрыт [показать]
     
     
  • 4.53, Аноним, 16:52, 20/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Муха это маленькая птичка, КиШ одобряет D ... весь текст скрыт [показать]
     
  • 1.3, jacob, 10:39, 19/08/2016 [ответить] [смотреть все]  
  • +11 +/
    > Pадействован SipHash 1-3, который значительно быстрее, но потенциально менее стоек к возможным новым атакам, связанным с использованием коллизий (в настоящий момент проблем нет)

    прямо как в анекдоте. решил жить вечно, в настоящий момент проблем нет

     
  • 1.4, Аноним, 11:01, 19/08/2016 [ответить] [смотреть все]  
  • –2 +/
    Скиньте, пожалуйста, какую-нибудь статейку про то, как раст с памятью работает ... весь текст скрыт [показать]
     
     
  • 2.5, Аноним, 11:04, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Про jemalloc почитайте, для бинарников он используется по умолчанию.
     
     
  • 3.57, Аноним, 09:46, 21/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Ой-йё, не знал, что там jemalloc. Спасибо.
     
  • 1.7, rob pike, 11:17, 19/08/2016 [ответить] [смотреть все]  
  • +/
    > развивается экспериментальный браузерный движок Servo

    Куда развивается? Развиваться можно после того как заработало что-то.

     
     
  • 2.9, Comdiv, 11:30, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Развивается до рабочего состояния. Разве тут есть логическое противоречие?
     
     
  • 3.13, rob pike, 12:07, 19/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Здесь есть вот какая тонкость Если что-то развивается до рабочего состояния , ... весь текст скрыт [показать]
     
     
  • 4.34, Comdiv, 17:50, 19/08/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Тут Вы находитесь в позиции философов, размышляющих о том, можно ли считать кора... весь текст скрыт [показать]
     
     
  • 5.41, rob pike, 22:19, 19/08/2016 [^] [ответить] [смотреть все]  
  • –3 +/
    Вот и называйте его "проектом создания движка Servo", а не "движком Servo".
     
     
  • 6.43, Comdiv, 22:39, 19/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Движок Servo - это и есть проект.
     
     
  • 7.46, rob pike, 01:33, 20/08/2016 [^] [ответить] [смотреть все]  
  • –3 +/
    Что же, работающий движок Servo - это будет уже другой проект?
     
     
  • 8.47, Comdiv, 01:43, 20/08/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Что же Вы юродствуете Плохо работающий движок Servo и хорошо работающий в будущ... весь текст скрыт [показать]
     
     
  • 9.56, Аноним, 06:56, 21/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Хорошая оговорка, учитывая сколько прошло времени и как это работает Может Ма... весь текст скрыт [показать]
     
  • 2.10, КО, 11:35, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    тут я с ВАми в корне не согласен - развиваться можно и до того, а вот деградиров... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.16, freehck, 13:07, 19/08/2016 [^] [ответить] [смотреть все]  
  • +4 +/
    тут я с ВАми в корне не согласен - по моему опыту многие комментаторы деградиров... весь текст скрыт [показать]
     
     
  • 4.38, Led, 20:27, 19/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Ты ж не намекаешь на вашего штатного rob pike ... весь текст скрыт [показать]
     
     
  • 5.45, freehck, 23:32, 19/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    > Ты ж не намекаешь на ... rob pike?

    Нет

     
     
  • 6.52, Led, 16:06, 20/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Спасибо, именно это и хотел услишать, чтобы развеять 1 сомнений в том, что rob ... весь текст скрыт [показать]
     
     
  • 7.54, Аноним, 06:44, 21/08/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Ты развеял последние сомнения в том что опеннет - это на самом деле фабрика трол... весь текст скрыт [показать]
     
  • 3.60, Вареник, 07:50, 22/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Можно развиваться и деградировать одновременно Обычно так и происходит ... весь текст скрыт [показать]
     
  • 2.20, Растаман, 13:38, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Я понимаю, что haters gonna hate, но что мешает хотя бы погуглить В репозитории... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, rob pike, 14:39, 19/08/2016 [^] [ответить] [смотреть все]  
  • +/
    В отличие от чего?
     
     
  • 4.36, chinarulezzz, 20:20, 19/08/2016 [^] [ответить] [смотреть все]  
  • +/
    В отличии от [b]:)[/b]
     
  • 4.39, Led, 20:27, 19/08/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    > В отличие от чего?

    тебя?

     
  • 3.49, Аноним, 11:15, 20/08/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Развитие в неправильную сторону называется по другом Хотя тоже сопровождается о... весь текст скрыт [показать]
     
  • 2.37, Led, 20:25, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Значит ты таки не работаешь ... весь текст скрыт [показать] [показать ветку]
     
  • 1.11, Нанобот, 11:51, 19/08/2016 [ответить] [смотреть все]  
  • –5 +/
    Rust- HIR- MIR- LLVM IR- машинный код по-моему это перебор с уровнями абстракции... весь текст скрыт [показать]
     
     
  • 2.12, АнонимХ, 11:59, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +8 +/
    Любую проблему можно решить добавлением нового абстрактного слоя, кроме проблемы слишком большого количества абстрактных слоев :)
     
     
  • 3.55, Аноним, 06:47, 21/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Их можно абстрагировать, представив как всего один слой ... весь текст скрыт [показать]
     
     
  • 4.59, Вареник, 07:46, 22/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Для каждого следующего существует лишь предыдущий :)
     
  • 2.14, rob pike, 12:37, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > The latest verified CakeML compiler passes through 12 intermediate languages
     
     
  • 3.29, Нанобот, 16:25, 19/08/2016 [^] [ответить] [смотреть все]  
  • –3 +/
    это не то, чем стоит гордиться
     
     
  • 4.42, rob pike, 22:21, 19/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Как же вы предложили бы переделать архитектуру CakeML?
     
  • 2.15, Аноним84701, 13:02, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Если вводят только сейчас, переделывая уйму работы, то скорее всего, потребность... весь текст скрыт [показать] [показать ветку]
     
  • 2.17, anonymous, 13:09, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Кэп, это компилятор Чтобы пооптимальней код генерировать ввели ещё доп уровень... весь текст скрыт [показать] [показать ветку]
     
  • 1.19, Аноним, 13:29, 19/08/2016 [ответить] [смотреть все]  
  • –1 +/
    Мне кажется, или все хотят опять вернуть проект пятого поколения компьютеров, за... весь текст скрыт [показать]
     
     
  • 2.21, Crazy Alex, 14:31, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Какой закон Амдала, если параллельно выполняется куча задач?
     
     
  • 3.26, angra, 15:25, 19/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Как бы закон Амдала именно о параллельных вычислениях задачах Хотя чем он напу... весь текст скрыт [показать]
     
     
  • 4.27, Crazy Alex, 15:37, 19/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Он о распараллеливании _одной_ задачи А ы нашем случае - куча задач То есть о с... весь текст скрыт [показать]
     
     
  • 5.30, angra, 16:26, 19/08/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Нет никакой принципиальной разницы И формулировок этого закона куча, в том числ... весь текст скрыт [показать]
     
  • 4.50, Аноним, 14:19, 20/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Тем, что в прошлом веке уже пытались сделать то, что делают сейчас Рекомендую в... весь текст скрыт [показать]
     
  • 1.24, adolfus, 14:59, 19/08/2016 [ответить] [смотреть все]  
  • +/
    Нет стандарта -- нет и языка.
     
     
  • 2.25, Roo2AT7d, 15:13, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Нет стабильного ABI -- нет и языка.
     
     
  • 3.61, Аноним, 12:08, 22/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Нет мозгов - считай, инвалид.
     
  • 1.31, skybon, 17:02, 19/08/2016 [ответить] [смотреть все]  
  • –3 +/
    Закопать Rust и прикрутить стаический анализатор к g ... весь текст скрыт [показать]
     
     
  • 2.32, Аноним, 17:27, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Иж как у тебя бомбит по GCC/GNU
     
     
  • 3.33, Ordu, 17:37, 19/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Нет. Бомбит по C++. Такого рода комментарии рождаются из рассуждения вида: "в языке X это можно сделать при помощи всего двух костылей, так зачем тогда добавлять это в список фичей языка Y?" А такие рассуждения порождаются из-за излишне идеализированного отношения к языку X.
     
  • 1.40, Аноним, 21:00, 19/08/2016 [ответить] [смотреть все]  
  • +2 +/
    Ну не обходится, а не сожержит Ибо утечки памяти таки допускает... весь текст скрыт [показать]
     
     
  • 2.44, Аноним, 22:46, 19/08/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    И обходится, и содержит. Читайте дорогую документацию.
     
     
  • 3.48, Аноним, 09:21, 20/08/2016 [^] [ответить] [смотреть все]  
  • +/
    Утечки памяти не нарушают безопасность памяти
     
  • 1.58, Вареник, 07:43, 22/08/2016 [ответить] [смотреть все]  
  • –1 +/
    Совпадет ли выпуск Servo с окончательным скурвиванием Мозиллы и ее флагманского продукта?
     
  • 1.62, Кирилл72, 01:44, 23/08/2016 [ответить] [смотреть все]  
  • +/
    >  и предоставляющего средства для высокого параллелизма выполнения заданий

    В каждой новости подобная фраза. Есть те кто изучал Rust? В Go понятно, канкаренси, работающий через runtime, а в Rust как это работает, если у него нет рантайма?
    За счет чего работает этот "высокий параллелизм"?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


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