LINUX.ORG.RU

Rust


248

19

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

Leaf 0.2 — высокопроизводительная платформа машинного обучения

Группа Open Source

Анонсирован выход новой версии Leaf 0.2. Leaf написан на языке программирования Rust и является модульной, производительной и переносимой платформой машинного обучения.

По тестам на производительность, Leaf 0.2 опережает другие платформы, являясь, на данный момент, самой быстрой платформой машинного обучения. По словам разработчиков, они смогли добиться этого за счёт выбора языка программирования Rust и библиотеки для высокопроизводительных вычислений Collenchyma (также написанной на Rust). Также, за счёт использования библиотеки Collenchyma можно обучать и запускать модели на CPU, GPU, FPGA, и т.д. с использованием OpenCL или CUDA или другого вычислительного языка, на разных машинах и операционных системах, без лишней адаптации кода. Это делает очень удобным возможность разворачивания моделей на серверах, рабочих станциях, смартфонах, а также современных встраиваемых устройствах.

Чтобы ознакомиться, разработчики предлагают установить Leaf 0.2 и поиграться с примерами, включая популярные Глубокие Нейронные Сети как Alexnet, Overfeat, VGG и другие.

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

 , , ,

dotcoder
()

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

 

dotcoder
()

Rust 1.6

Группа Mozilla

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

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

>>> Официальный анонс

 ,

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

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

 ,

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. Проект с радостью примет желающих помочь в работе над поддержкой этих языков.

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

 , , , ,

Pavval
()

Вышел Rust 1.3

Группа Open Source

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

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

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

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

 ,

nonimous
()

Вышел Rust 1.2

Группа Open Source

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

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

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

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

 , ,

nonimous
()

Вышел Rust 1.1

Группа Mozilla

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

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

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

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

 ,

nonimous
()

Вышел Rust 1.0

Группа Open Source

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

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

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

 , ,

nonimous
()

Вышел Rust 1.0 Beta

Группа Open Source

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

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

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

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

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

 ,

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: теперь замыкания - это просто объекты, реализующие определенные трейты

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

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

 

tailgunner
()

Rust 0.12

Группа Mozilla

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

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

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

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

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

 ,

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! для упрощения работы с битовыми флагами.

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

 , ,

mix_mix
()

Rust 0.10

Группа Mozilla

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

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

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

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

 ,

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' для вывода сообщения зависимостей инструментам сборки.

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

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

 ,

encyrtid
()

Rust 0.8

Группа Mozilla

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

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

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

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

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

>>> Текст анонса

 , ,

rogvold
()

Rust 0.7

Группа Open Source

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

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

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

 ,

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

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

 , , ,

bhfq
()

Rust 0.6 pre-release build

Группа Mozilla

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

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

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

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

 ,

anonymous
()