LINUX.ORG.RU

Rust


266

22

Всего сообщений: 178

Rust 1.7

 

Группа Mozilla

Команда Rust рада объявить о выпуске новой стабильной версии Rust 1.7. Rust является системным языком программирования, сосредоточенным на безопасности, быстроте и многопоточности.

В этой версии основные изменения коснулись библиотек. Изменения, связанные с языком, готовятся в будущих выпусках.

В версии 1.7 были стабилизированы около 40 библиотечных функций и методов. Одним из стабилизированных API является поддержка задаваемых пользователем алгоритмов хеширования в типе HashMap<K, V> стандартной библиотеки. Теперь можно достигнуть значительного быстродействия за счёт возможности смены и использования более быстрого алгоритма хеширования.

Другие изменения:

  • <[T]>::clone_from_slice(), эффективный путь копирования данных из одного среза в другой срез.
  • Методы для удобства работы с Ipv4Addr и Ipv6Addr, такие как is_loopback(), который возвращает true или false, в зависимости от того, является ли адрес петлевым адресом, согласно RFC 6890.
  • Улучшения в CString, используемом в FFI.

Детальный RELEASE NOTES: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-170-2016-03...

>>> Анонс в блоге Rust (rust-lang.org)

dotcoder
()

Rust 1.6

 ,

Группа Mozilla

Команда разработчиков Rust рада представить первый в этом году релиз Rust — 1.6. Rust — это системный язык программирования, при разработке которого внимание сосредоточено на безопасности, скорости и параллелизме. Как обычно, вы можете установить Rust 1.6 с соответствующей страницы на официальном сайте, а также посмотреть примечания к выпуску на GitHub. Выпуск включает в себя около 1100 патчей и содержит ряд небольших улучшений, одно важное изменение, а также изменение на Crates.io.

( читать дальше... )

>>> Официальный анонс (rust-lang.org)

Kilte
()

Rust 1.4

 ,

Группа Mozilla

29 октября вышла очередная версия языка программирования Rust, разрабатываемого Mozilla совместно с сообществом.

Rust — язык общего назначения, компилируемый и мультипарадигменный, позиционируется как альтернатива С/С++.

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

  • ~1200 исправлений.
  • Поддержка двух ABI (Application Binary Interface), кроме привычного GNU toolchain добавлена поддержка 64-bit MSVC ABI.
  • Компилятор более не использует morestack.
  • Значительные изменения в стандартной библиотеке.
  • Улучшено поведение ассоциированных типов.

Следующий релиз намечен на 10 декабря 2015.

Релиз 1.4 на Github

>>> Подробности (rust-lang.org)

bitfroster
()

Начало тестирования KDevelop 5.0

 , , , ,

Группа KDE

После более чем года разработки, стала доступна первая бета-версия многоязыковой среды разработки KDevelop 5.0.

Новая версия примечательна следующими изменениями:

  • Код портирован на KDE frameworks 5 и Qt 5.
  • Встроенные парсер и семантический анализатор С++ заменены на работу с CLang. Данное решение позволило проекту избавиться от многих проблем со старым парсером, а также перенаправить усилия разработчиков проекта на улучшение KDevelop в других областях. Использование CLang также позволяет легко и на должном уровне получить поддержку языков C и Objective-C. Кроме того, предупреждения компилятора теперь будут также доступны в IDE, в ряде случаев исправляемые одним нажатием кнопки или комбинацией клавиш.
  • Плагин поддержки CMake теперь, вместо встроенного интерпретатора CMake, использует метаданные от самого CMake.
  • Проведена чистка кода.
  • Улучшения производительности.
  • Официальная поддержка QML, JS.
  • Официальная поддержка QMake.

Из планов проекта также отмечается желание обеспечить поддержку языков Rust и Go. Проект с радостью примет желающих помочь в работе над поддержкой этих языков.

>>> Подробности (kdevelop.org)

Pavval
()

Вышел Rust 1.3

 ,

Группа Open Source

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

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

( читать дальше... )

>>> Подробности (rust-lang.org)

nonimous
()

Вышел Rust 1.2

 , ,

Группа Open Source

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

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

( читать дальше... )

>>> Подробности (rust-lang.org)

nonimous
()

Вышел Rust 1.1

 ,

Группа Mozilla

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

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

( читать дальше... )

>>> Подробности (rust-lang.org)

nonimous
()

Вышел Rust 1.0

 , ,

Группа Open Source

15 мая 2015 года, в соответствии с планом, вышел публичный релиз Rust 1.0 - языка программирования общего назначения, разрабатываемого Mozilla совместно с сообществом. Язык ориентирован на разработку безопасных и эффективных приложений, имеет развитую систему типов, оптимизирующий кодогенератор на основе llvm и предоставляет расширенные гарантии потокобезопасности и безопасного доступа к памяти без использования сборщика мусора. В частности, Mozilla использует Rust для разработки браузерного движка следующего поколения servo.

( читать дальше... )

>>> Подробности (rust-lang.org)

nonimous
()

Вышел Rust 1.0 Beta

 ,

Группа Open Source

3 апреля 2015 года, в полном соответствии с планом, вышла бета-версия Rust 1.0. Язык и большая часть стандартной библиотеки окончательно стабилизированы, до финального релиза возможны только минимальные изменения в API.

Некоторые изменения со времени альфа-версии, вышедшей 9 января:

( читать дальше... )

Окончательный релиз Rust 1.0 запланирован на 16 мая, разработчики потратят оставшиеся до релиза 6 недель на тестирование, исправление ошибок и обновление документации.

>>> Подробности (rust-lang.org)

anonymous
()

Альфа-версия Rust 1.0

 

Группа Open Source

9 января тихо и незаметно вышла альфа-версия Rust 1.0. Этот релиз является этапным в том смысле, что набор возможностей языка зафиксирован и в версиях 1.x значительных несовместимых изменений больше не будет (см. ниже); то же относится и к стандартной библиотеке. Гарантии стабильности означают, что Rust уже можно изучать, не опасаясь скорого устаревания полученных знаний из-за эволюции языка.

Тем не менее, апгрейд в линии от альфа-версии до финальной версии может вызвать мелкие несовместимости (Sync/Send changes, переименование uint/int в usize/isize), но все проблемы планируется решить до выпуска 1.0.

Основные изменения со времени предыдущего релиза:

  • улучшенная поддержка массивов и подобных им контейнеров в языке: DST
  • унификация трейтов и замыканий в виде unboxed closures: теперь замыкания - это просто объекты, реализующие определенные трейты

Полный список изменений с подробным их описанием по ссылке:

>>> Подробности (rust-lang.org)

tailgunner
()

Rust 0.12

 ,

Группа Mozilla

Вышла новая версия инструментов разработки языка программирования Rust. Rust — язык системного программирования, предназначенный для написания быстрых и в то же время безопасных (в том числе и во многопоточной среде) приложений.

В данном релизе упор был сделан на переработку документации языка, приведение к единому виду стандартной библиотеки, улучшение пакетного менеджера Cargo и поддержки Windows.

Обзор обновлений в новой версии:

( читать дальше... )

>>> Подробности (mozilla.org)

Slackware-ch
()

Rust 0.11

 , ,

Группа Mozilla

Спустя несколько месяцев разработки тихо и незаметно вышла новая версия Rust — языка программирования, разрабатываемого Mozilla и нацеленного на безопасность, производительность и параллелизм.

В данном релизе усилия разработчиков были главном образом сосредоточены на доведение до ума системы типов и стандартной библиотеки. Так, одной из основных задач являлось введение инфраструктуры для типов переменного размера. Также, как и обещано, был полностью удалён ~ и @ синтаксис в пользу использования стандартных типов Box и Gc.

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

  • Синтаксис ~[T] был удален из языка, вместо него используется Vec<T>;
  • Синтаксис ~str был удален из языка, вместо него используется String;
  • Синтаксис ~T был удален из языка, вместо него используется Box<T>;
  • Синтаксис @T был удален из языка, вместо него используется std::gc::Gc<T>;
  • Байтовые символы, строки и сырые строки теперь предваряются префиксом b;
  • Изменился синтаксис для указания времени жизни замыканий: <'a>|A, B|: 'b + K -> T;
  • Модульная арифметика для вещественных типов была убрана из языка;
  • Синтаксис use foo, bar, baz; был удален из языка;
  • Ключевое слово priv было удалено из языка;
  • Поля структур стали по умолчанию приватными;
  • Приватные перечислимые типы теперь запрещены;
  • Замыкание более не может быть вызвано через &-указатель;
  • Индекс вектора и размер битового сдвига теперь может быть представлен только в виде uint;
  • Стандартная библиотека теперь являет собой один унифицированный интерфейс к набору нижлежащих библиотек;
  • Добавлена новая библиотека libcore, призванная облегчить разработку встраиваемого программного обеспечения;
  • Был добавлен модуль regex, также включающий в себя набор статически скомпилированных регулярных выражений;
  • Набор I/O примитивов получил возможность прерывать операции по таймауту;
  • Добавлен макрос bitflags! для упрощения работы с битовыми флагами.

>>> Подробности (mozilla.org)

mix_mix
()

Rust 0.10

 ,

Группа Mozilla

Вышла новая версия Rust, языка программирования разрабатываемого Mozilla. Релиз несет в себе около 1500 изменений и исправлений ошибок.

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

( читать дальше... )

>>> Подробности (mozilla.org)

encyrtid
()

Rust 0.9

 ,

Группа Mozilla

Сегодня было объявлено о выходе очередной версии Rust — языка программирования, разрабатываемого Mozilla.

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

  • Язык:
    • удален тип float, для чисел с плавающей точкой используются типы f32, f64;
    • добавлена возможность включения экспериментальных фич (feature gating) на уровне crate'ов (атрибут '#[feature(foo)]');
    • managed boxes (@) теперь включаются с помощью атрибута '#[feature(managed_boxes)]' и в будущем будут удалены. Вместо них используются типы Gc и Rc;
    • '@mut' удален, вместо него используется тип 'std::cell::{Cell, RefCell}';
    • для возврата в начало цикла используется ключевое слово 'continue' вместо 'loop';
    • запрещено изменение строк через индексацию;
    • новый синтаксис для создания raw-строк ('r"foo"'). Также можно создать raw-строку с помощью совпадающих хэш-разделителей 'r###«foo»###';
    • тип '~fn' теперь пишется как 'proc (args) -> retval { ... }' и может вызываться только однажды;
    • тип '&fn' теперь пишется как '|args| -> ret';
    • тип '@fn' удален;
    • ключевое слово 'do' теперь работает только с procs-лямбдами;
    • одноэлементные tuple-like структуры больше не могут быть разыменованы для получения внутреннего значения. Более полное решение для перегрузки оператора разыменования будет предоставлено в будущем;
    • атрибут '#[link(...)]' был заменен атрибутом '#[crate_id = «name#vers»]';
    • пустые реализации (impl) должны прерываться пустыми фигурными скобками, использование ';' для этого запрещено;
    • ключевые слова больше не могут использоваться как lifetime-имена, 'self'-lifetime больше не имеет особого смысла;
    • удален макрос 'fmt!';
    • удалены макросы 'printf!' и 'printfln!', вместо них используются 'print!' и 'println!';
    • pattern matching поддерживает 'mut' ('let (mut x, y) = (1, 2);'
    • вместо синтаксиса 'extern mod foo (name = «bar»)' теперь следует использовать 'extern mod foo = «bar»';
    • новые зарезервированные слова 'alignof', 'offsetof', 'sizeof';
    • макросы могут иметь атрибуты;
    • макрос 'asm!' теперь включается feature-gated атрибутом '#[feature(asm)]';
    • комментарии могут быть вложенными;
    • значения неявно преобразуются к типам trait'ов которые они реализуют (раньше необходимо было явно использовать 'as');
  • Библиотеки:
    • std: API для 'option' и 'result' был переработан для того чтобы сделать его более простым, консистентным и композабельным;
    • std: Полностью заменен модуль 'std::io', включая планировщик. Полностью реализованы File, TCP, UDP, Unix сокеты, именованные каналы и таймеры;
    • std: в модуль 'io::util' добавлены полезные реализации типов 'Reader' и 'Writer', включая 'NullReader', 'NullWriter', 'ZeroReader', 'TeeReader';
    • std: Тип 'extra::rc' перемещен в std;
    • std: Тип 'Gc' в модуле 'gc' заменит тип '@';
    • std: Удален тип 'Either';
    • std: 'fmt::Default' может быть реализован для любого типа с помощью синтаксиса 'format!(«{}», myfoo)';
  • Инструментарий:
    • команды 'rust' и 'rusti' были удалены из-за отсутствия поддержки;
    • 'rustdoc' был полностью переписан;
    • 'rustdoc' может тестировать примеры кода из документации;
    • 'rustpkg' может тестировать пакеты с аргументом 'test';
    • 'rustpkg' поддерживает произвольные зависимости, включая библиотеки на C;
    • улучшен механизм генерации отладочной информации в 'rustc';
    • улучшены сообщения об ошибках для несбалансированных разделителей в 'rustc';
    • удалена поддержка JIT в 'rustc';
    • исполнимые файлы и статические библиотеки могут быть собраны с LTO (ключ '-Z lto');
    • в 'rustc' добавлен флаг '--dep-info' для вывода сообщения зависимостей инструментам сборки.

Детальный обзор изменений с примерами

>>> Подробности (mozilla.org)

encyrtid
()

Rust 0.8

 , ,

Группа Mozilla

Тихо и незаметно вышла новая версия Rust — языка программирования, разрабатываемого Mozilla Foundation.

В этом выпуске:

  • Цикл for: внутренний итератор (как в Ruby) заменен внешним (как в Python).
  • Новый макрос форматирования строк format!. Он гораздо более производителен, чем старый fmt!; имеет другой синтаксис, более удобный для локализации; а также может возвращать результат в интерфейсы rt::io::writer, а не только в строки. fmt! объявлен устаревшим.
  • Рантайм теперь полностью переписан с C++ на Rust. Пока он еще не вполне готов, и можно ожидать сегфолты и странное поведение программ на глубоких уровнях рекурсии.
  • Экспериментальная фича — новая подсистема ввода/вывода.
  • Серьезные улучшения производительности в rustc.
  • Соглашение об именовании функций, конвертирующих типы.

И еще более 2200 изменений.

Официальный сайт

>>> Текст анонса (mozilla.org)

rogvold
()

Rust 0.7

 ,

Группа Open Source

3 июля было объявлено о выходе очередной версии Rust — языка программирования, разрабатываемого Mozilla. Новая версия включает в себя около 2000 изменений и исправлений ошибок.

( читать дальше... )

>>> Подробности (mozilla.org)

encyrtid
()

Mozilla и Samsung объявили о совместной работе над браузерным движком нового поколения

 , , ,

Группа Mozilla

Mozilla и Samsung объявили о совместном проекте: разработке веб-движка «нового поколения», оптимизированного под будущие «более быстрые, многоядерные компьютерные архитектуры».

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

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

Совместно с Samsung экспериментальный движок Servo уже портировали на платформу ARM и Android. По мнению Mozilla, это значительный шаг вперёд и для языка программирования Rust. Компания Samsung разработала ARM-бэкенд для Rust.

В течение ближайшего года Mozilla планирует закончить работу над первой мажорной версией Rust — задокументировать библиотеки, выпустить необходимый инструментарий и увеличить производительность. В то же время Mozilla обещает выделить больше ресурсов на доработку Servo для доказательства, что «можно создать быстрый веб-браузер с глубоким параллелизмом на безопасном, весёлом языке программирования».

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

Исходные коды на github

>>> Подробности (mozilla.org)

bhfq
()

Rust 0.6 pre-release build

 ,

Группа Mozilla

В мэйл-листе разработчиков Mozilla объявлено о выходе пре-релиза Rust 0.6 (язык программирования, который разрабатывает Mozilla Foundation). Большая часть критичных фич языка уже добавлена, поэтому можно переходить к тестированию. Если всё пойдёт хорошо, то релиз следует ожидать через несколько дней. Первичной целью тестирования будет проверка, что компилятор работает корректно на всех платформах (OS X 10.6+, Linux и Windows 7 и 2008).

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

( читать дальше... )

>>> Подробности (mozilla.org)

anonymous
()