URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 105251
[ Назад ]

Исходное сообщение
"Релиз языка программирования Rust 1.4, развиваемого проектом..."

Отправлено opennews , 30-Окт-15 15:29 
Доступен (http://blog.rust-lang.org/2015/10/29/Rust-1.4.html) релиз языка программирования Rust 1.4 (http://www.rust-lang.org), развиваемого проектом Mozilla, обеспечивающего автоматическое управление памятью и предоставляющего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo (https://www.opennet.me/opennews/art.shtml?num=36576), написанный (https://github.com/servo/servo/) на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).


В новом выпуске представлено (https://github.com/rust-lang/rust/blob/8ab8581f6921bc7a8e3fa...) более 1200 изменений, который в основном связаны с небольшими улучшениями и стабилизацией кодовой базы. В стандартной библиотеке 48 API отмечены как стабильные, 8 API переведены в категорию устаревших, 2 API переработаны для увеличения производительности.  В пакетном менеджере обеспечен вывод дельной информации об изменениях при выполнении команды "cargo update".


В языке реализованы предложения RFC 1214 (https://github.com/rust-lang/rfcs/pull/1214) по устранению недостатков в системе типов. Для кода не соответствующего новым правилам определения типов обеспечен вывод предупреждений, которые в следующем выпуске будут заменены на вывод ошибок. В состав также приняты изменения RFC 1212 (https://github.com/rust-lang/rfcs/blob/master/text/1212-line...), затрагивающие функции чтения строк и допускающие использование как "\\\\r\\\\n", так и "\\\\n" в качестве меток конца строки. Расширена поддержка платформы Windows, при сборке для которой теперь можно использовать 64-разрядный MSVC ABI и штатный компоновщик.


Язык Rust развивается проектом Mozilla и сфокусирован на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий. При этом Rust обходится без использования сборщика мусора или runtime, что делает возможным создания на Rust библиотек, которые могут выступать в роли прозрачной замены библиотекам для языка Си. Для распространения библиотек на языке  Rust, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo (http://blog.rust-lang.org/2014/11/20/Cargo.html), позволяющий получить нужные для программы библиотеки  в один клик. Для размещения библиотек введён в строй репозиторий crates.io (https://crates.io/).

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

URL: http://blog.rust-lang.org/2015/10/29/Rust-1.4.html
Новость: http://www.opennet.me/opennews/art.shtml?num=43223


Содержание

Сообщения в этом обсуждении
"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 15:34 
>>В состав также приняты изменения RFC 1212, затрагивающие функции чтения строк и допускающие использование как "\\r\\n", так и "\\n" в качестве меток конца строки.

Скоро компилятор будет добавлять BING-bar в бинарники?


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 16:16 
В HTTP и SMTP, очевидно, BING-bar'ы уже доба- ох черт!

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 15:36 
> защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п.

А где же ваши невозможны гонки данных и безопасное многопоточное программирование? Им уже можно пользоваться?


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 17:39 
Да можно, но дерзайте вполне себе нормальный язык, местами даже проще чем c++.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 18:11 
можно будет использовать тогда когда Servo нормально на нём запилят, а то пока лидирует среди языков тока по скорости клепания версий.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Анончик , 30-Окт-15 18:30 
Не скажите, ещё он уделывает С++ и Fortran по скорости: https://benchmarksgame.alioth.debian.org/u64q/which-programs...

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Ptomaine , 30-Окт-15 19:50 
Нефига он не быстрее С++! Как раз на графике видно, что С++ идёт сразу за С и только потом Rust и далее Ada 2005

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 21:19 
В С++ из-за указателей часть оптимизаций со стороны компилятора применить не всегда возможно. У rust'а в этом смысле гораздо больше потенциал.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 22:59 
В смысле потенциал, который не реализован? Ну как в C++ :)

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Вареник , 01-Ноя-15 03:42 
Подсунуть "потенциал" как реализованный и якобы доказанный бенчмарком факт - сильно...

Так же как утверждения что Rust защищает от ошибок, типа переполнений, потом выясняется что только от элементарных, которые в C++ и так сразу ловятся статическими анализаторами.


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Roo2AT7d , 01-Ноя-15 09:44 
> Rust защищает от ошибок, типа переполнений, потом выясняется что только от элементарных, которые в C++ и так сразу ловятся статическими анализаторами.

А статические анализаторы прям всемогущи? Загляни в чендж лог любого из них - сразу будут "добавлены такие-то и такие проверки". Те же ребята из pvs studio хвалятся тем, что всё время находят косяки в крупных и не очень опенсорсных проектах. В расте же благодаря внутренней семантике языка и различных ограничений возможностей программиста (владение, заимствование и т.п.) и была достигнута безопасность. При написании на расте не раз было чувство, что компилятор попусту трещит и ошибок нет, однако после повиновения компилятору приходит осознание возможных последствий этой с виду неошибки. Возможно, компилятор может и пропустить какую-нибудь экзотичесикую багу в релиз, но благодаря своей архитектуре с каждым релизом цепи становятся всё прочнее и прочнее. Не стоит забывать, что вне области действий компилятора (ОС, код других ЯП) всё есть unsafe.


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Программер , 31-Окт-15 11:23 
1) Там для Вас внизу есть сноска почему на графике RUST идет по скорости сразу же после C.
http://portal.acm.org/citation.cfm?id=5666.5673

2) по "нераскрытому потенциалу" скорости RUST на графиках:
https://alioth.debian.org/tracker/?atid=413122&group_id=1008...
почти месяц стоят в очереди новые версии програм для тестов дающие прибавку в скорости, в своих категориях, в пределах 20%.


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 17:39 
Странный язык. Синтаксис уродлив, продуктивность низкая, зато память безопасна. Похож на уродца с единственной перекачанной мышцой. Вспоминается Charger из L4D2

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 17:43 
> Странный язык. Синтаксис уродлив, продуктивность низкая, зато память безопасна.

Вот у си или явы да уродливый синтаксис, а тут просто непривычный для большинства.  Многим нажеться синтаксис Erlang уродливым хотя это далеко не так и по лаконичности он уделает и си и яву, и даже питон.


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено qwerty , 30-Окт-15 18:36 
Ваш Erlang тот ещё уродец, локаничность != красота. А вот Basic и Pascal да, это языки.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 31-Окт-15 14:58 
learn you a D for great good!

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено ... , 30-Окт-15 18:32 
"Синтаксис уродлив" - очень субъективно, люди и на brainfuck пишут.
"продуктивность низкая" - в каких попугаях продуктивность измеряли?
"память безопасна. Похож на уродца с единственной перекачанной мышцой." - если модель работы с памятью, это все что вы знаете о rust, то возможно вам не стоит отвлекаться от L4D2 ради написания своих отзывов о нем?

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 31-Окт-15 15:02 
>  люди и на brainfuck пишут

И как, много написали?

> не стоит отвлекаться от L4D2

Маловато высокомерия!


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Ан , 30-Окт-15 18:40 
Это откуда у вас сведения что продуктивность низкая? Балабол?

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 21:20 
На самом деле язык очень четкий и легкий

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 21:25 
Основное назначение языка - писать такой код, который через статический анализ можно максимально оптимизировать и обезопасить. Да, это требует соблюдения дополнительного ряда правил со стороны программиста. Зато он может быть уверен что скомпилированное приложение никогда не упадет и будет по скорости превосходить реализацию на с++ (возможно не сейчас, а в будущем, по ряду оптимизаций g++ пока превосходит).

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 22:37 
Упадет при выходе за границы типов, заодно и поломает что-нибудь, т.к. в релизе по умолчанию проверки отключены, а с ними медленно.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 22:40 
> поломает что-нибудь

а затем
> Упадет


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Вареник , 01-Ноя-15 03:49 
> Зато он может быть уверен что
> скомпилированное приложение никогда не упадет

Ложная уверенность фанатов что новые безопасные грабли спасут от логических ошибок и сценариев фейла - только ухудшит качество.


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Aleks Revo , 01-Ноя-15 18:27 
Ты там как, уже хоть одну компилируемую программу написал? ))

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Crazy Alex , 31-Окт-15 13:00 
Ладно синтаксис - но семантика у него точно уродливая, со всеми боксингами и пришибленной системой типов.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Программер , 31-Окт-15 21:28 
>>пришибленной системой типов

в чем заключается "пришибленность системы типов" RUST?


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Crazy Alex , 01-Ноя-15 04:55 
Да во всём. Хилые пользовательские типы. Неопределённость лейаута структуры. Вся шиза с прибитым к языку ownership. Отсутствие приличного метапрограммирования. Отсутствие приличного ООП. Правда, от глупостей вроде структурной системы типов ушли - и то хлеб.

А в целом Rust больше всего похож на очередного кадавра a-la Scala, с попыткой функциональщину вырядить в приличные одежды, чтобы на неё не сразу плевались.

Правильная система типов  - это D. Мощное метапрограммирование, разделение классов и структур, всё, что можно, делается в библиотеке (и, соответственно, пользователь может реализовать своё не хуже), "стандартное" ООП в полном объёме плюс свои плюшки вроде alias this (в том числе UFCS, который мозилловцы спёрли - и правильно, хорошая штука), и так далее, и  тому подобное.


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Aleks Revo , 01-Ноя-15 18:45 
> Хилые пользовательские типы.

В чём заключается «хилость»? Что сложно сделать такого, что было бы просто в альтернативах?

> Вся шиза с прибитым к языку ownership.

Для желающих и умеющих стрелять себе в ногу — секция unsafe.

И опять же, в свете Rust отсутствие в языках средств управления ownership - выглядит уже не меньшей шизой.

> Отсутствие приличного ООП.

Крупные и успешные проекты, написанные на неООП языках, являются прямым подтверждением того, что отсутствие ООП, прибитого к языку, — это не всегда минус.

Ну и чередование фраз «приличный ООП» и «стандартный ООП» выдают почти религиозную субъективность, которая железобетонно подтверждается фразой про «функциональщину».


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 02-Ноя-15 11:21 
Что для вас "Правильная система типов"?
Зачем разделять классы и структуры, если всё это просто типы?
Система типов Rust строже следует теориям (https://en.wikipedia.org/wiki/Substructural_type_system). Просто в Rust все абстракции подразумевают, что всё ещё есть память, которой надо управлять, и все абстракции вокруг неё и крутятся (потому что системное программирование).

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Манюнин гусь , 30-Окт-15 17:58 
*зачем* столько языков?

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 19:09 
АПВС? Ты и так ни одного не знаешь, теперь будешь не знать на один больше. :-)

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено nc , 30-Окт-15 19:26 
Затем чтобы ламерам жизнь медом не казалась.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Ordu , 30-Окт-15 20:02 
Чтобы было из чего выбирать. И ведь, что характерно, сколько не придумали, а всё равно нет идеального. Я до сих пор не могу выбрать какой-нибудь язык, указать на него и сказать, что он лучший, и других мне не надо. У каждого языка какой-нибудь фатальный недостаток. А то и не один.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено freehck , 02-Ноя-15 09:57 
Да... Вот бы мощь лиспа совместить с выводом типов, как в ocaml/haskell. Никто, кстати, не смотрел ещё на typed/racket?

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 21:26 
Аналогов Rust'а нет, не в той теме задаешь этот вопрос.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Манюнин гусь , 30-Окт-15 18:03 
абсолютно всё можно написать на Фортране...

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено pkdr , 30-Окт-15 18:09 
...а фортран программу можно написать на любом языке программирования.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Манюнин гусь , 30-Окт-15 18:13 
накой их плодить?

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Aleks Revo , 01-Ноя-15 18:46 
> накой их плодить?

Дык, не плоди ))


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Tav , 30-Окт-15 18:17 
Абсолютно всё можно написать на любом Тьюринг-полном языке, но «остерегайтесь трясин Тьюринга, в которых можно сделать всё, но ничего интересного нельзя сделать просто» (Алан Перлис).

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 18:17 
Если бы сообщество рулило, то к 2020 году ядро Линукс уже полностью было-бы переписано на питоне. Только Линус (временно) и Гугл (глобально) не дадут этому случится. Потому что Гугл всё-таки нанимает программистов НА РАБОТУ ЗА ДЕНЬГИ и предъявляет к ним требования при отборе.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Манюнин гусь , 30-Окт-15 18:20 
на каком из питонов?
(рукалицо)

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 21:29 
Да, и грузилось бы ядрышко несколько суток и требовало бы несколько сот гигов оперативки, а после загрузки стабильно выдавало бы кернел паник. Пускай сообщество сначала разберется с менеджером приложений убунты.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 30-Окт-15 23:05 
Да питон это не ОС, это база данных со вменяемым языком запросов :)

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Ordu , 31-Окт-15 11:32 
Ещё что-нибудь расскажи. Очень интересно.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 31-Окт-15 16:30 
> средства для высокого параллелизма выполнения заданий

Да сколько можно это повторять? Там обычные потоки, как и в любом другом языке (кроме питона).


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 31-Окт-15 18:46 
Потоки то обычные, однако взаимодействуешь ты с ними под бдительным присмотром компилятора.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 31-Окт-15 18:20 
> Rust поддерживает смесь императивных процедурных и объектно-ориентированных методов с такими парадигмами, как функциональное программирование и модель акторов, а также обобщённое программирование и метапрограммирование, в статических и динамических стилях.

Где там функциональное программирование и модель акторов?


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Aleks Revo , 01-Ноя-15 18:48 
>> Rust поддерживает смесь императивных процедурных и объектно-ориентированных методов с такими парадигмами, как функциональное программирование и модель акторов, а также обобщённое программирование и метапрограммирование, в статических и динамических стилях.
> Где там функциональное программирование и модель акторов?

Спроси у Crazy Alex чуть выше - он тебе расскажет много тёплых слов ))


"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 02-Ноя-15 11:28 
Функциональное программирование уже встроено в язык. Просто запрети себе присваивание и нигде не используй mut.
Модель акторов - в библиотеках.

"Релиз языка программирования Rust 1.4, развиваемого проектом..."
Отправлено Аноним , 02-Ноя-15 14:20 
Системы типов как System F нет, которая присутствует в том же Ocaml, оптимизации хвостовой рекурсии нет. Модели акторов в стандартной библиотеке нет. "Вечносырой" компилятор.
Так лучше C++ использовать.