<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Доступен язык программирования Rust 1.15</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html</link>
    <description>Представлен (https://blog.rust-lang.org/2017/02/02/Rust-1.15.html) релиз языка программирования Rust 1.15 (http://www.rust-lang.org), развиваемого проектом Mozilla, обеспечивающего автоматическое управление памятью и предоставляющего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo (https://www.opennet.ru/opennews/art.shtml?num=44712), написанный (https://github.com/servo/servo/) на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model). &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;В состав нового выпуска принято  1443 изменения от 137 разработчиков. Основные новшества (https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1150-2017-02-02):&lt;br&gt;&lt;br&gt;&lt;br&gt;-  В процедурных макросах (https://doc.rust-lang.org/book/procedural-macros.html) обеспечена возможность создания произвольных обработчиков (htt</description>

<item>
    <title>Доступен язык программирования Rust 1.15 (Аноним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#74</link>
    <pubDate>Thu, 09 Feb 2017 17:01:28 GMT</pubDate>
    <description>В недавнем интервью Slava Akhmechet, создатель RethinkDB, сказал, что ему нравится этот язык. Правда разработка RethinkDB на нём не ведётся.&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Rust 1.15 (Вареник)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#73</link>
    <pubDate>Wed, 08 Feb 2017 16:17:31 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Значит язык ещё очень сырой и не скоро будет готов для продакшена.&lt;br&gt;&amp;gt; Он сложный не потому что сырой, а потому, что такова его природа. &lt;br&gt;&amp;gt; Поэтому он не станет проще после стабилизации его библиотек и улучшения &lt;br&gt;&amp;gt; документации.&lt;br&gt;&lt;br&gt;Кому оно надо, если для мозгое...ва уже есть шаблоны в С++ и мегатонны кода?&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Rust 1.15 (Вареник)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#72</link>
    <pubDate>Wed, 08 Feb 2017 16:13:38 GMT</pubDate>
    <description>И его придется запускать в &quot;одноядерном&quot; контейнере, чтобы не вешал всю систему.&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Rust 1.15 (all_glory_to_the_hypnotoad)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#71</link>
    <pubDate>Wed, 08 Feb 2017 00:26:33 GMT</pubDate>
    <description>У плюсов синтаксис так себе, он далеко не неудачный. Неудачный синтаксис у perl, ruby, ну и с rust жесть выходит.&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Rust 1.15 (Comdiv)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#70</link>
    <pubDate>Mon, 06 Feb 2017 20:45:07 GMT</pubDate>
    <description>&amp;gt; Для плюсов оптимизация dynamic_cast не принциипальна.&lt;br&gt;&lt;br&gt;Как и автоматический контроль целостности памяти. Я и писал, что С++ оказывается довольно медленным, когда дело доходит до его относительно безопасных абстракций.&lt;br&gt;&lt;br&gt;&amp;gt; Что до at() - надо посмотреть. По идее компилятор там ничего чудить &lt;br&gt;&amp;gt; не должен, рядовой же метод. Может, что-то с исключениями связанное.&lt;br&gt;&lt;br&gt;Рядовой, но не встроенный как memcpy. Учёт специфики встроенных функций позволяет оптимизировать сильней, чем просто компилируемый метод, а сделать очень хорошую оптимизацию для общего случая сложная задача.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Rust 1.15 (Ordu)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#69</link>
    <pubDate>Mon, 06 Feb 2017 20:14:22 GMT</pubDate>
    <description>&amp;gt; Все эти обоснования выглядят как &quot;денег нет, но вы держитесь&quot;. Об удобстве программиста там подумать явно поленились.&lt;br&gt;&lt;br&gt;Все перечисленные &quot;неудобства&quot; -- это просто &quot;мне хотелось придраться, я придрался&quot;. Метод into_* в расте попадается не только в box&apos;е, и глупо было бы делать исключения для box&apos;а. &lt;br&gt;&lt;br&gt;&amp;gt; &quot;let mut s&quot; - это похоже на желание получить что-то иммутабельное? Написал &lt;br&gt;&amp;gt; mut - получи изменяемую копию неизменяемого объекта.&lt;br&gt;&lt;br&gt;Да. Чтобы не вваливаться в совсем уж академическую функциональщину привнесли возможность изменять объекты, но при этом всячески подталкивают кодеров работать с immutable объектами.&lt;br&gt;&lt;br&gt;&amp;gt; Запрет на очевидные неявные &lt;br&gt;&amp;gt; преобразования типа - это не &quot;немного вымораживает&quot;, это идиотизм.&lt;br&gt;&lt;br&gt;Ну, может быть, они тут перебрали. Но если ты о запрете на неявный вызов конструкторов типов -- это абсолютно правильно. Зачем было запрещать неявно расширять i32 до i64 я не знаю. Но я верю, что причина была. Потому что в других случаях они позволяют себе пихать в отдельные типы возможности, </description>
</item>

<item>
    <title>Доступен язык программирования Rust 1.15 (Crazy Alex)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#68</link>
    <pubDate>Mon, 06 Feb 2017 13:55:34 GMT</pubDate>
    <description>В других языках есть свои best practices. Для плюсов оптимизация dynamic_cast не принциипальна.&lt;br&gt;&lt;br&gt;Что до at() - надо посмотреть. По идее компилятор там ничего чудить не должен, рядовой же метод. Может, что-то с исключениями связанное.&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Rust 1.15 (Crazy Alex)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#67</link>
    <pubDate>Mon, 06 Feb 2017 13:47:39 GMT</pubDate>
    <description>&quot;let mut s&quot; - это похоже на желание получить что-то иммутабельное? Написал mut - получи изменяемую копию неизменяемого объекта. Запрет на очевидные неявные преобразования типа - это не &quot;немного вымораживает&quot;, это идиотизм.&lt;br&gt;&lt;br&gt;Чем String от slice отличается я понимаю. Я не понимаю панического страха перед неявными (но, разумеется, описанными в спецификации и совпадающими с ожиданиями программиста) преобразованиями типов, выделениями памяти и прочими исключениями, направленными на то, чтобы код легко писался и читался. В разумных количествах это только на пользу (а неразумные, вроде перла - тоже многим нравятся, хе-хе). В плюсах, кстати, в этом смысле сделано совершенно ожидаемо - std::string s &quot;xxx&quot; будет работать так же хорошо, как и std::string s = &quot;x&quot;; x = &quot;y&quot;; x += &quot;xxx&quot; и прочее. Не хуже всё это дело работает и в D, где строки иммутабельные.&lt;br&gt;&lt;br&gt;&lt;br&gt;Ну и да, вот в таких случаях и становится понятно, зачем именно нужна перегрузка операторов.&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Rust 1.15 (Crazy Alex)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/110352.html#66</link>
    <pubDate>Mon, 06 Feb 2017 13:35:03 GMT</pubDate>
    <description>Все эти обоснования выглядят как &quot;денег нет, но вы держитесь&quot;. Об удобстве программиста там подумать явно поленились.&lt;br&gt;&lt;br&gt;Нет перегрузки методов? Ок, пользовательской нет. А что, нельзя было для встроенных типов сделать исключение? Вектор - не utf8? Ну ок, при конкатенации со строкой верифицируй и вывали ошибку, если там таки то, что в utf-8 не лезет. Из бокса что ни вытащи - он помрёт, насколько я понимаю - то есть когда с ним работаешь всё равно эту особенность надо держать в уме - так тчо нет никаких причин давать отдельное имя. Ну и феерическое &quot;xxx&quot;.to_string - это вообще бред какой-то.&lt;br&gt;</description>
</item>

</channel>
</rss>
