LINUX.ORG.RU

Rust 1.7

 


1

6

Команда 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

★★★★★

Проверено: tailgunner ()
Последнее исправление: cetjs2 (всего исправлений: 3)
Ответ на: комментарий от foror

Если нужно будет сделать, что-то десктопное для массового юзера

Для массового юзера говоришь... а гуй на чём писать? Или ты только ядро на расте писать собрался?

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

видима

'outer: for x in 0..10 {
  'inner: for y in 0..10 {
    if x % 2 == 0 { continue 'outer; }
    if y % 2 == 0 { continue 'inner; }
    println!("x: {}, y: {}", x, y );
  }
}

anonymous
()
Ответ на: комментарий от foror

выбор ржавого очевиден как для джависта, так и для питонщика

Нет. Обломаются о borrow checker твои питоножабы. Язык намеренно сделали таким, что никто на нем писать не станет добровольно, кроме самых упоротых memory-safety задротов. Даже хардкорным крестовикам он жмёт, а у GC-индусов просто мозг выкипит.

anonymous
()
Ответ на: комментарий от anonymous

Вот когда для раста осилят годную IDE, в которую любой макак сможет (как в студию)

Ну плагины, разной степени сырости, под имеющиеся IDE имеются.

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

Язык намеренно сделали таким, что никто на нем писать не станет добровольно, кроме самых упоротых memory-safety задротов.

Какой бред.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

К тому же и синтаксис мега-говно. Вот словно специально сидели и придумывали, как бы сделать повырвиглазнее.

anonymous
()
Ответ на: комментарий от shkolnick-kun

Пиписьки нужно мерить одинаковыми линейками.

Ну а если в языке вообще не имеется ничего для многопоточности? Или имеющиеся примитивы ужасны? Или наоборот - имеется удобное распараллеливание из коробки. Преимуществами надо пользоваться, иначе смысла сравнивать мало.

DarkEld3r ★★★★★
()
Ответ на: комментарий от tailgunner

а вот Си++14 выглядит несколько стремно

Почему?

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

Язык намеренно сделали таким, что никто на нем писать не станет добровольно, кроме самых упоротых memory-safety задротов.

Какой бред.

Чё бред?

Процитированное - бред. Злокачественный.

tailgunner ★★★★★
()
Ответ на: комментарий от DarkEld3r

И ты хочешь сказать, что программисты на расте специально пошли туда и написал кривой код на С? И ты не наркоман после этого?

Он не кривой:

1. Там значительные отличия в архитеутуре, что само по себе не дает корректно сравнить производительность ЯП.
2. Он намеренно оформлен так, что его трудно читать
3. Там намеренно внесены изменения, снижающие общую производительность.
4. Там написаны горы комментариев, как будто девочка двух лет программу писала.

И да, я считаю, что код написан пеарщиками.

И ты не наркоман после этого?

Нет, я трезвенник-язвенник.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от DarkEld3r

Они есть в обоих, и недьзя сказать что в расте какая-то ахуеть какая удобная реализация. Всё аналогично. Просто кому-то лень, лол.

anonymous
()
Ответ на: комментарий от tailgunner

Процитированное - бред.

Ага, даже Александреску оказался недостаточно упорот для хруста, лол.

anonymous
()
Ответ на: комментарий от anonymous

и до сих пор не могу с первого раза осилить написать эту хрень правильно

Но ведь до сих пор не бросил? (:

Да и ценность лайфтаймов не в том, чтобы «с первого раза написать правильно», а в том чтобы потом не расстреливать память, получать гонки и т.д.

А про ублюдочный синтаксис можно подробнее? Я таким разве что макросы назвать могу. Мелкие претензии имеются, но в целом терпимо.

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

В данном случае в Си есть прямые аналоги использованного, но почему-то использовали OpenMP, в С++ есть стандартные потоки и pthreads, но программа написана без многопоточности...

shkolnick-kun ★★★★★
()
Ответ на: комментарий от anonymous

видима

Ну да, я тоже про это подумал. Но считать это goto не согласен.

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

Только мозильщикам некуда деваться: партия сказала надо! Приходится ковырять это говно (правда они там походу имитируют оргазм, судя по темпам запила сервы).

anonymous
()
Ответ на: комментарий от DarkEld3r

Вообще всё, от разметки лайфтаймов до местных шаблонов. Выглядит не лучше чем кишки какого нибудь буста.

anonymous
()
Ответ на: комментарий от theNamelessOne

A (break|continue) expression has an optional label…

В курсе. Но это такое же goto как ссылки - указатели. Внутри одинаково, но применение гораздо более ограниченное.

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

даже Александреску

Даже не стану спрашивать, почему кого-то должно интересовать мнение этого акробата.

tailgunner ★★★★★
()
Ответ на: комментарий от shkolnick-kun

И да, я считаю, что код написан пеарщиками.

Разве что «пеарщиками С».

Но ты ещё можешь заявить, что сишникам просто не надо ничего никому доказывать и они делом заняты, а эту реализацию «пеарщики» сознательно написали именно так.

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

Просто кому-то лень, лол.

Пусть так, но некоторые и тут заговоры видят.

DarkEld3r ★★★★★
()
Ответ на: комментарий от shkolnick-kun

1. Там значительные отличия в архитеутуре, что само по себе не дает корректно сравнить производительность ЯП.

В архитектуре чего? Алгоритм один и тот же.

2. Он намеренно оформлен так, что его трудно читать

Все притензии к тому, кто написал сие поделие, и к тем, кто гонит бочку, но ничего не делает, чтобы исправить ситуацию.

3. Там намеренно внесены изменения, снижающие общую производительность.

В студию!

4. Там написаны горы комментариев, как будто девочка двух лет программу писала.

Подозреваю, что комментарии там для того, чтобы не писали пункты 1, 2, 3, 4. Но это касается тех, кто читает их (комментарии).

anonymous
()
Ответ на: комментарий от shkolnick-kun

выпиливший поддержку PyPy и LUAJIT...

Заодно cpython2, mercury, пролог и еще кучи «маргинальщины» и т.д.

Там еще какие-то «приколы» с условиями задач были, на которые одно время жабисты жаловались – нельзя вроде было буферизировать выхлоп программы (код просто не принимали, т.к. «не по правилам!») и в результате (для жабы) измерялась какая-то специфичная фишка имплеметации write_to_stdout_чейто_там.
Идиотизм короче, с явным подсуживанием Си.
Но народу нравится, любят ссылаться как на авторитетный источник.

anonymous
()
Ответ на: комментарий от Esteban_Garcia

Но рубисты же идут.

Ну и что твои воображаемые рубисты пишут на хрусте? Они вообще чем-то кроме веба разве интересуются?

anonymous
()
Ответ на: комментарий от anonymous

Вообще всё

Ну так не интересно. Покажешь как сделал бы ты?

Выглядит не лучше чем кишки какого нибудь буста.

Ну нет.

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

Идиотизм короче, с явным подсуживанием Си.

Это не идиотизм, это называется соответствие условиям - на какой фиг сравнивать разные алгоритмы (вывода, кек), если стоит вопрос о перформансе языков?

anonymous
()
Ответ на: комментарий от anonymous

Но народу нравится, любят ссылаться как на авторитетный источник.

Дык, более вменяемых альтернатив нет?

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

На медиуме недавно была статья, как пхпшник просто «взял и перешёл» с пхп на раст (причём в продакшене) и начал писать рабочий код на нём (причём по примерам кода - с низкоуровенщиной вроде примитивов синхронизации и прочими страшными для вебмакак словами. Скажите ещё кто нибудь, что моззила не занимается пеаром.

anonymous
()
Ответ на: комментарий от DarkEld3r

Ну так не интересно. Покажешь как сделал бы ты?

За меня это уже давно показали разработчики языков как D и Swift - для читабельности хотя бы избегать шифтовых знаков и ужаса :: из плюсов.

anonymous
()

А какие аппаратные платформы оно поддерживает? Те, что llvm?

anonymous
()
Ответ на: комментарий от anonymous

если стоит вопрос о перформансе языков?

Угу, а давайте сравним питон с си, используя PyPy и TCC.

Интересуют, вообще-то реализации ...

это называется соответствие условиям

Мусье в курсе, что сишный рантайм glibc буферизирует по умолчанию?

anonymous
()
Ответ на: комментарий от anonymous

В архитектуре чего? Алгоритм один и тот же.

На Rust количество потоков выбирается динамически, на сях оно жестко фиксировано.

В студию!

На Си коичество потоков выбрано меньше, чем в реализации на Rust, это снижает общую произодительность.

Подозреваю, что комментарии там для того,

чтобы код никто не читал.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от feofan

Андроид почти внативно впилят, в иос будет статиком, на винфонах хз как сделают, но тоже впилят.

foror ★★★★★
()
Ответ на: комментарий от anonymous

За меня это уже давно показали разработчики языков как D и Swift - для читабельности хотя бы избегать шифтовых знаков

О чём речь? В Swift «<>» очень даже используются. В D почти такие же почти такие же «кишки буста». И это при том, что там нет лайфтаймов. В общем, ничего по существу сказано не будет, так?

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

С вашим растом такие дела: когда каждую фичу по отдельности смотришь, вроде не так уж и страшно, но всё вместе в реальном коде - кровь-кишки. Чувствуется комитетский дизайн без вменяемого главкома.

anonymous
()
Ответ на: комментарий от anonymous

Так TCC выиграет и тут, лел. Нет, не в курсе. Значит мэйнтейнер сайта мудель, извини явамакак :3

anonymous
()
Ответ на: комментарий от DarkEld3r

Я говорил о стабильном ржавом в районе 2.5-3.0 версии. Да и пусть хоть на servo будет интерфейс, так даже круче, чем изобретать очередной фреймворк.

foror ★★★★★
()
Ответ на: комментарий от DarkEld3r

Используются. Только это не выглядит как порнография с цензурой аля раст. А про д – лан, я тебя понял, забей. Ты видимо году так в 2003 смотрел.

anonymous
()
Ответ на: комментарий от shkolnick-kun

Так вот уважаемый... В этом комментарии я привёл исполнение Си на 3 и 4 потоках на моей машине. Приведу ещё раз.

// Си с 3 потоками
$ time ./fasta3 25000000 &>/dev/null 

real	0m1.411s
user	0m4.130s
sys	0m0.000s

// Си с 4 потоками
$ time ./fasta4 25000000 &>/dev/null 

real	0m1.400s
user	0m5.410s
sys	0m0.000s
anonymous
()
Ответ на: комментарий от foror

Я говорил о стабильном ржавом в районе 2.5-3.0 версии.

Предлагаешь заморозить все проекты и не начинать новые пока раст не дорастёт до этой версии? (:

Да и пусть хоть на servo будет интерфейс

Его можно так использовать?

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Да и пусть хоть на servo будет интерфейс

Его можно так использовать?

Можно ли сейчас - ХЗ, но это одна из целей разработки.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.