The OpenNET Project / Index page

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

04.02.2017 09:52  Доступен язык программирования Rust 1.15

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

В состав нового выпуска принято 1443 изменения от 137 разработчиков. Основные новшества:

  • В процедурных макросах обеспечена возможность создания произвольных обработчиков на базе механизма "derive". Если ранее через "derive" предоставлялся типовой набор обработчиков, таких как отладочный вывод значений и сериализация/десериализация, то теперь можно создавать собственные обработчики, например, для упрощения построения запросов через ORM Diesel или применения произвольных схем сериализации через фреймворк Serde;
  • По умолчанию задействована новая система сборки, полностью переписанная на языке Rust. Начиная с Rust 1.17 поддержку сборки на основе Makefile планируется полностью удалить, что предоставит возможность задействования в компиляторе пакетов с crates.io по аналогии с другими проектами на языке Rust;
  • Реализован третий уровень поддержки для архитектур i686-unknown-openbsd, MSP430 и ARMv5TE;
  • Продолжена работа по оптимизации скорости работы компилятора;
  • В операторе where реализована возможность указания свойства "?Sized", например "struct Foo‹T›where T: ?Sized {f: T,}";
  • Переписана реализация алгоритма сортировки slice::sort, которая стала существенно быстрее;
  • Проведена оптимизация производительности методов chars().count(), chars().last() и char_indices().last();
  • В пакетном менеджере Cargo обеспечен вывод предупреждения, в случае наличия в корне пакета файла build.rs, но отсутствия аннотации 'build = "build.rs"'. В команду "cargo test" добавлен флаг "--all";
  • В разряд стабильных переведена новая порция функций и методов.

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

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

  1. Главная ссылка к новости (https://blog.rust-lang.org/201...)
  2. OpenNews: Рассматривается возможность перевода NTPsec на язык Rust или Go
  3. OpenNews: Инициатива по созданию порта PostgreSQL на языке Rust
  4. OpenNews: Увидел свет язык программирования Rust 1.13
  5. OpenNews: Facebook работает над реализацией сервера Mercurial на языке Rust
  6. OpenNews: Представлена операционная система Redox, написанная на языке Rust
Лицензия: CC-BY
Тип: Программы
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Я, 11:25, 04/02/2017 [ответить] [смотреть все]
  • –24 +/
    высокого параллелизма выполнения заданий ага фирефокс так и блещет параллелизм... весь текст скрыт [показать]
     
     
  • 2.2, Аноним, 11:29, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +16 +/
    а причем тут лиса? В ней на rust пока только один модуль...
    А серво на этапе разработки.
     
  • 2.52, th3m3, 14:26, 05/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Откуда вы такие лезите? В Firefox, это нормально завезут - только к концу года.
     
     
  • 3.72, Вареник, 19:13, 08/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    И его придется запускать в одноядерном контейнере, чтобы не вешал всю систему ... весь текст скрыт [показать]
     
  • 1.4, Аноним, 12:03, 04/02/2017 [ответить] [смотреть все]  
  • +2 +/
    так в firefox на rust пока только картинки обрабатывать планируют, на rust напис... весь текст скрыт [показать]
     
  • 1.12, Аноним, 15:32, 04/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Если даже у Рэймонда от раста батхёрт In practice, I found Rust painful to the ... весь текст скрыт [показать]
     
     
  • 2.24, Аноним, 18:34, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Если даже 8212 а кто он вообще такой-то Какой-то человек, который всю жизнь... весь текст скрыт [показать] [показать ветку]
     
  • 2.25, Comdiv, 18:57, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Он сложный не потому что сырой, а потому, что такова его природа Поэтому он не ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.62, Аноним, 22:46, 05/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Этот синтаксис заставляет меня плакать Ржавчина решила отобрать пальму самого... весь текст скрыт [показать]
     
     
  • 4.71, all_glory_to_the_hypnotoad, 03:26, 08/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    У плюсов синтаксис так себе, он далеко не неудачный Неудачный синтаксис у perl,... весь текст скрыт [показать]
     
  • 3.73, Вареник, 19:17, 08/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Кому оно надо, если для мозгое ва уже есть шаблоны в С и мегатонны кода ... весь текст скрыт [показать]
     
  • 2.32, Ordu, 20:38, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Я чесслово лучше о нём думал Не знаю даже почему, но почему-то я думал, что он ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.39, freehck, 22:54, 04/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Я даже получше примеры нашёл let hello Hello to_string let world wor... весь текст скрыт [показать]
     
     
  • 4.45, Ordu, 01:08, 05/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Оглядываясь на себя -- я тоже занимался этим онанизмом в rust е -- я предполагаю... весь текст скрыт [показать]
     
  • 4.65, Аноним, 12:55, 06/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    В крестах не обязательно, когда есть SSO у std string... весь текст скрыт [показать]
     
  • 3.40, Буратино, 23:17, 04/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Простыню полную бугурта накатал здесь именно ты А уж подобный язык будет предме... весь текст скрыт [показать]
     
     
  • 4.41, Ordu, 00:07, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    И что с того От этого баттхёрт C C программистов перестаёт быть баттхёртом Я... весь текст скрыт [показать]
     
     
  • 5.42, skybon, 00:47, 05/02/2017 [^] [ответить] [смотреть все]  
  • –5 +/
    PHP ещё ладно, но у остальных Golang выгрызть ничего не сможет Golang - это DSL... весь текст скрыт [показать]
     
  • 3.49, vstakhov, 02:28, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Его возмущение объяснимо он думал, что все проблемы C раст решит автоматически,... весь текст скрыт [показать]
     
  • 3.53, Crazy Alex, 16:15, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну мне вот тоже непонятно, зачем этот to_string - о константе компилятор знает... весь текст скрыт [показать]
     
     
  • 4.57, angra, 17:29, 05/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Добавить символ к строке - push , добавить str - push_str Из str - from ... весь текст скрыт [показать]
     
     
  • 5.58, 1111, 18:22, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Потому что в Раст это сделано правильно с учётом логики владения, чего в других ... весь текст скрыт [показать]
     
     
  • 6.59, Crazy Alex, 18:27, 05/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    А, ясно В борьбе теоретической правильности и практического удобства всегда п... весь текст скрыт [показать]
     
  • 5.64, Ordu, 23:22, 05/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Перегрузки функций нет в стиле C нет И я отмечу, что вектор -- не utf8 Это п... весь текст скрыт [показать]
     
     
  • 6.66, Crazy Alex, 16:35, 06/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Все эти обоснования выглядят как денег нет, но вы держитесь Об удобстве прогр... весь текст скрыт [показать]
     
  • 4.63, Ordu, 23:01, 05/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Во-первых, не прозрачно s имеет тип auto, и если не использовать to_string , т... весь текст скрыт [показать]
     
     
  • 5.67, Crazy Alex, 16:47, 06/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    let mut s - это похоже на желание получить что-то иммутабельное Написал mut -... весь текст скрыт [показать]
     
     
  • 6.69, Ordu, 23:14, 06/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Все перечисленные неудобства -- это просто мне хотелось придраться, я придрал... весь текст скрыт [показать]
     
     ....нить скрыта, показать (22)

  • 1.13, Анончик, 15:50, 04/02/2017 [ответить] [смотреть все]  
  • +/
    >архитектур i686-unknown-openbsd

    А что это такое? Опечатка или что-то, чего я не знаю?

     
     
  • 2.14, Parsee, 16:10, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это CHOST https wiki gentoo org wiki CHOST ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, Аноним84701, 16:20, 04/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Это, скорее всего, все же target-triplet , а не что-то генту-специфичное ht... весь текст скрыт [показать]
     
  • 1.16, Аноним, 16:31, 04/02/2017 [ответить] [смотреть все]  
  • –3 +/
    Вот исправленный вариант текста, который должен был быть в тексте новости ... весь текст скрыт [показать]
     
     
  • 2.26, Comdiv, 19:07, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –4 +/
    Вообще-то С оказывается довольно медленным, когда дело касается его относитель... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.29, Аноним, 19:49, 04/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    И что же там так тормозит-то Вот эта проверка 8212 https github com llvm-m... весь текст скрыт [показать]
     
     
  • 4.31, Comdiv, 20:19, 04/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Вас удивляет, что небольшой, но всё же библиотечный метод уступает в скорости во... весь текст скрыт [показать]
     
     
  • 5.35, anonymous, 22:06, 04/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Т е включается магия, которая отсутствует в библиотечнjv методе ... весь текст скрыт [показать]
     
     
  • 6.37, Comdiv, 22:21, 04/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Это приблизительно такая же магия , как преобразование арифметических действий ... весь текст скрыт [показать]
     
     
  • 7.54, Crazy Alex, 16:22, 05/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Магия стандартной бибилиотеки, а тем более элементов языка вроде dynamic_cast ... весь текст скрыт [показать]
     
     
  • 8.56, Comdiv, 17:08, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    dynamic cast не оптимизируется для тех случаев, в которых это нужно Он либо воо... весь текст скрыт [показать]
     
     
  • 9.60, Crazy Alex, 18:32, 05/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Так и я ж о том, что трактует, как встроенную, хотф формально - это часть библио... весь текст скрыт [показать]
     
     
  • 10.61, Comdiv, 19:07, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Но приведённый метод at он не тракует как встроенный Ведь речь шла именно о ... весь текст скрыт [показать]
     
     
  • 11.68, Crazy Alex, 16:55, 06/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    В других языках есть свои best practices Для плюсов оптимизация dynamic_cast не... весь текст скрыт [показать]
     
     
  • 12.70, Comdiv, 23:45, 06/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Как и автоматический контроль целостности памяти Я и писал, что С оказывается... весь текст скрыт [показать]
     
  • 2.36, skybon, 22:17, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –3 +/
    Язык не может быть медленным - медленными бывают только реализации И да, у рефе... весь текст скрыт [показать] [показать ветку]
     
     
     
    Часть нити удалена модератором

  • 4.48, Led, 02:26, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    > Жопа не может быть медленной

    Можешь, можешь.

     
     
  • 5.50, Аноним, 02:48, 05/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    А вот и в каждой бочке затычок объявился ... весь текст скрыт [показать]
     
  • 3.55, Crazy Alex, 16:23, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну вон на питон в соседней новости глянь.
     
  • 1.27, Аноним, 19:40, 04/02/2017 [ответить] [смотреть все]  
  • +1 +/
    opennet, почини уже разметку Ну несолидно же такому популярному ресурсу не имет... весь текст скрыт [показать]
     
     
  • 2.51, Аноним, 04:53, 05/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Сразу  после того, как в расте починят одиночную кавычку в синтаксисе.
     
  • 1.74, Аноним, 20:01, 09/02/2017 [ответить] [смотреть все]  
  • +/
    В недавнем интервью Slava Akhmechet, создатель RethinkDB, сказал, что ему нравит... весь текст скрыт [показать]
     

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


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