The OpenNET Project / Index page

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



"Выпуск языка программирования Rust 1.57"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск языка программирования Rust 1.57"  +/
Сообщение от opennews (??), 02-Дек-21, 21:53 
Опубликован релиз языка системного программирования Rust 1.57, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=56270

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск языка программирования Rust 1.57"  +8 +/
Сообщение от Аноним (1), 02-Дек-21, 21:53 
Генераторы когда?
Ответить | Правка | Наверх | Cообщить модератору

5. Скрыто модератором  +/
Сообщение от Аноним (-), 02-Дек-21, 22:10 
Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от morphe (?), 02-Дек-21, 22:15 
С настоящими генераторами ещё много неразрешенных вопросов, а пока можно использовать https://github.com/whatisaphone/genawaiter , что не сильно хуже
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

53. "Выпуск языка программирования Rust 1.57"  –3 +/
Сообщение от Аноним (53), 03-Дек-21, 01:21 
какие там генераторы, если для многих платформ

> без ... тестирования и проверки возможности сборки кода.

Сколько ещё десятилетий ждать?

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

102. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 08:04 
А ты вместо того, чтобы ждать, взял бы да помог людям. Ась? Не приходила никогда в голову такая простая мысль?
Ответить | Правка | Наверх | Cообщить модератору

150. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (150), 03-Дек-21, 10:37 
Ты часто помогаешь?
Ответить | Правка | Наверх | Cообщить модератору

163. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 10:52 
Всегда, когда заинтересован в чём-то.
Ответить | Правка | Наверх | Cообщить модератору

202. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Аноним (53), 03-Дек-21, 12:35 
Вот только ты ни в чём не заинтересован.
Ответить | Правка | Наверх | Cообщить модератору

213. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от anonymous (??), 03-Дек-21, 13:54 
Ну воля помогают (ну, и, конечно же, числюсь контрибьютором используемого мной компилятора). Дальше что? В чём ваш аргумент?
Ответить | Правка | Наверх | Cообщить модератору

215. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от anonymous (??), 03-Дек-21, 13:55 
воля => вот я

Сорри, набираю с планшета с автозаменами.

Ответить | Правка | Наверх | Cообщить модератору

228. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Прохожий (??), 03-Дек-21, 15:13 
Тебе-то откуда знать? Или просто надо было что-то сказать в ответ?
Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

2. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (2), 02-Дек-21, 22:04 
А что там с Core Team?
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от Аноним (16), 02-Дек-21, 22:46 
Правит неограниченной властью и никому не подотчетна, что же с ней ещё будет?
Ответить | Правка | Наверх | Cообщить модератору

37. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от SerjAnt (?), 03-Дек-21, 00:18 
Великолепная пятёрка в Rust Foundation нашептала что народ слушать не надо, а надо быть нэзалэжными от их мнения и влияния и это трэнд. И собрала номера карт для зачисления бонусов лояльности следования планам их развития.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

214. "Выпуск языка программирования Rust 1.57"  –3 +/
Сообщение от Мавродий (?), 03-Дек-21, 13:54 
тебя, как истинного росиянина, должен радовать сей факт. а ты расстроен, почему?
Ответить | Правка | Наверх | Cообщить модератору

348. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 04-Дек-21, 11:43 
> нэзалэжными
> истинного росиянина

Россиянин получился какой-то не очень настоящий.

Ответить | Правка | Наверх | Cообщить модератору

407. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от lufog (ok), 10-Дек-21, 04:50 
Вполне себе настоящий, сомневаюсь что украинец написал бы слово "незалежний" русскими буквами. Ибо выглядит каким-то кривлянием.
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск языка программирования Rust 1.57"  +14 +/
Сообщение от Аноним (8), 02-Дек-21, 22:20 
> const _: () = assert!(std::mem::size_of::<u8>() == 1);

Уж на что синтаксис perl своеобразный, но это, гм, практически брейнфак какой-то...

Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (16), 02-Дек-21, 22:46 
Что ж тут такого? На C++ с шаблонами примерно такие же перлы
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (27), 02-Дек-21, 23:46 
Там еще большую магию творить можно, на самом деле
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск языка программирования Rust 1.57"  +5 +/
Сообщение от Аноним (34), 03-Дек-21, 00:14 
Можно. Но для банальнейших ассертов и не нужно.
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Аноним (36), 03-Дек-21, 00:17 
В Rust тоже можно можно обернуть эту магию в макрос и назавть его static_assert!(). Мб в std рано или поздно так и сделают, но здесь не уверен.

А вообще, ничего сильно страшного в коде не происходит: всего лишь объявили неиспользуемую константу _ пустого типа ().

Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от Аноним (90), 03-Дек-21, 07:15 
"const _: ()" - лично меня "убивает" не только эта конструкция, но и формулировка "неиспользуемая константа пустого типа".
Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 08:11 
Иной раз константы следует объявлять неиспользуемыми, чтобы компилятор не ругался. Для тебя такое в новинку?

А пустой тип сродни null. Или тоже первый раз о таком слышишь?

Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 08:19 
А пустой тип сродни null или void.
Ответить | Правка | Наверх | Cообщить модератору

145. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Анонимъ (?), 03-Дек-21, 10:32 
Строго говоря тип не пустой. У этого типа есть одно единственное значение. Это тип, размер которого равен нулю.

Альтернатива подобному - специальный синтаксис для краевых случаев. Но это усложняет язык и со временем порождает монстров вроде C++.

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

302. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (16), 03-Дек-21, 20:30 
() это хорошо известный из функциональных языков программирования тип Unit. В Хаскеле, каком-нибудь, нету того же void, там будет IO () скорее всего для процедур с побочными эффектами.
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

397. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (397), 06-Дек-21, 12:12 
Две неиспользуемые константы с одним и тем же именем?
Там же в строчках подряд
   const _: () = ...;
   const _: () = ...;
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

398. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 06-Дек-21, 13:04 
> Две неиспользуемые константы с одним и тем же именем?
> Там же в строчках подряд

Это вообще-то "классика", мимо которой довольно сложно пройти:
https://en.wikipedia.org/wiki/Underscore#Programming_convent...
> In some languages with pattern matching, such as Prolog, Standard ML, Scala, OCaml, Haskell, Erlang, and the Wolfram Language, the pattern _ matches any value, but does not perform binding.

...

Ответить | Правка | Наверх | Cообщить модератору

401. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от freecoderemail (ok), 08-Дек-21, 10:10 
В Rust подчеркивание "_" - это не имя, а служебное слово языка.
Ответить | Правка | К родителю #397 | Наверх | Cообщить модератору

40. "Выпуск языка программирования Rust 1.57"  –5 +/
Сообщение от Аноним (40), 03-Дек-21, 00:43 
Да в самом деле, не человечий язык. Всё надо до одной буковки сократить и выражения кодировать в виде символов.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

46. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 01:08 
> Да в самом деле, не человечий язык. Всё надо до одной буковки
> сократить и выражения кодировать в виде символов.

Предложи свой, более правильный вариант - ты же знаешь, как сделать лучше?

Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Аноним (70), 03-Дек-21, 02:53 
C++ лучше
Ответить | Правка | Наверх | Cообщить модератору

107. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Прохожий (??), 03-Дек-21, 08:13 
Чем? Количество страниц в спецификации больше? 🤣
Ответить | Правка | Наверх | Cообщить модератору

133. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Совершенно другой аноним (?), 03-Дек-21, 10:14 
По этому параметру Rust действительно, похоже, побеждает. У него вообще нет спецификации (https://stackoverflow.com/questions/21177436/is-there-a-publ.... Насколько я понял из ответа - авторы ждут, когда им её кто-то напишет.
Ответить | Правка | Наверх | Cообщить модератору

136. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 10:19 
C++ победить нельзя - у него полный текст стандарта закопирайчен и продается за деньги.
Опенсорсные растососы опять в пролете.
Ответить | Правка | Наверх | Cообщить модератору

148. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Совершенно другой аноним (?), 03-Дек-21, 10:35 
> C++ победить нельзя - у него полный текст стандарта закопирайчен и продается
> за деньги.
> Опенсорсные растососы опять в пролете.

В этих ваших интернетах всегда есть публичный последний черновик, который от релиза отличается только датой. Иначе как по Вашему в командах gcc и llvm пилят все нововведения? не иначе как через libastral.so

Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 10:37 
>Иначе как по Вашему в командах gcc и llvm пилят все нововведения?

Вполне возможно, что покупают.

Ответить | Правка | Наверх | Cообщить модератору

169. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от fsb4000 (?), 03-Дек-21, 11:06 
Не. Последнего черновика достаточно. В Microsoft берут оттуда т.з. для реализации новых фич.
Ответить | Правка | Наверх | Cообщить модератору

152. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 10:40 
>Насколько я понял из ответа - авторы ждут, когда им её кто-то напишет.

Вполне, возможно, что так и есть. Сообщество пока сравнительно небольшое. Однако же, уверен, когда её напишут, вряд ли её объём сравнится с плюсами. Плюсы объективно гораздо более сложный язык.

Ответить | Правка | К родителю #133 | Наверх | Cообщить модератору

224. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (224), 03-Дек-21, 14:35 
Зачем предлагать? У меня уже есть велосипеды: C, Go, Java.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

47. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 01:08 
Где-то тихо хихикали another perl hacker-ы...
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

110. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 08:25 
Какой из языков программирования человеческий?
Сколько лично ты знаешь человеческих языков? Раст осваивается примерно за месяц-другой в первом приближении. С немецким, английским, китайским, французским или ещё каким человеческим языком так сможешь управиться? Сильно сомневаюсь. А если так нет, зачем здесь твоё нытьё?
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

155. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Аноним (150), 03-Дек-21, 10:41 
Ложь. А хотя, если для тебя хелло ворлд - это освоить язык, то да.
Ответить | Правка | Наверх | Cообщить модератору

205. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Аноним (-), 03-Дек-21, 12:45 
> Ложь. А хотя, если для тебя хелло ворлд - это освоить язык, то да.

Интересно, что именно там "ложь" и почему так ловко проигнорированны наводящие вопросы?

Понимаешь, далеко не все ограничиваются в своем проф. развитии одним лишь JS/PHP/C^H/Python (после турбо-паскаля в родном ПТУ), попутно полностью забивая на теоретерическую часть.
И вот им - многие концепты в расте совсем не кажутся непонятно-извращенной тарабарщиной (а синтаксис - овно^W "чудным").


Ответить | Правка | Наверх | Cообщить модератору

229. "Выпуск языка программирования Rust 1.57"  +3 +/
Сообщение от Прохожий (??), 03-Дек-21, 15:20 
Я же специально сказал "в первом приближении". Это значит базовые вещи вполне можно ухватить за этот период. Да и сложного там ничего по большому счёту нет, если вдумчиво читать книгу для начинающих программировать на Rust (есть в свободном доступе и в оригинале, и на русском).

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

Ответить | Правка | К родителю #155 | Наверх | Cообщить модератору

225. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (224), 03-Дек-21, 14:36 
Я выучил Си за 3 дня.
А кресты и сам не люблю. Но в том то и прикол, что нафига предлагать те же грабли.
Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

141. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 10:26 
Как перл и руби с питоном - язык писателей. Для чтения непригоден.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

304. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 20:36 
Зачем же так толсто? Perl ещё куда ни шло - там бывают "разночтения". Но Руби с Питоном чем не угодили? Уж куда читабельней-то?
Ответить | Правка | Наверх | Cообщить модератору

359. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноньимъ (ok), 04-Дек-21, 17:52 
Ха.

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

Когда ненужно всматриваться в пробелы нужно всматриваться в километровые портянки из замыканий.

Ответить | Правка | Наверх | Cообщить модератору

360. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 04-Дек-21, 18:11 
> Ха.
> Питон читабельнее?
> Человеческое восприятия с большими проблемами, внезапно, измеряет длину пустого места.
> А блоки кода определяются проблемами, испанский стыд.

А пацаны-то и не знали ...


static int cap_validate_magic(cap_user_header_t header, unsigned *tocopy)
{
    __u32 version;

    if (get_user(version, &header->version))
        return -EFAULT;

    switch (version) {
    case _LINUX_CAPABILITY_VERSION_1:
        warn_legacy_capability_use();
        *tocopy = _LINUX_CAPABILITY_U32S_1;
        break;
    case _LINUX_CAPABILITY_VERSION_2:


Какой же ты все-таки балабол, испанский стыд.
Ответить | Правка | Наверх | Cообщить модератору

411. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 15-Дек-21, 18:42 
> switch (version) {
>    case

прикинь, оно скомпилится и с пробелами и без пробелов и с переносами и без . потому что блок определяет скобка

Ответить | Правка | Наверх | Cообщить модератору

412. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 15-Дек-21, 22:48 
>> Человеческое восприятия с большими проблемами, внезапно, измеряет длину пустого места.

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

Прикинь - можно читать не только жопой, но и глазами.

> оно скомпилится и с пробелами и без пробелов и с переносами и без

Но в ядре (а код оттуда) почему-то предпочитают именно такой код, с "пробелами".

https://www.kernel.org/doc/html/v4.10/process/coding-style.h...
> The whole idea behind indentation is to clearly define where a block of control starts and ends.

Вообще да, у теоретиков на опеннете все может быть, но в реальности, любой проект чуть сложнее хелловрота, на не сильно эзотерическом ЯП, будет (внезапно) отформатирован "блоками", "пробелами" и "переносами".

https://www.freebsd.org/cgi/man.cgi?query=style&sektion=9

switch (ch) {         /*    Indent the switch. */
             case 'a':             /*    Do not indent the case.    */
                 aflag = 1;         /*    Indent case body one tab. */


> /usr/src/tools/tools/editing/freebsd.vim
>          A Vim plugin to follow the    FreeBSD    style indentation rules.

https://chromium.googlesource.com/chromium/src/+/refs/heads/...
> Chromium follows the Google C++ Style Guide unless an exception is listed below.


switch (var) {
  case 0: {  // 2 space indent
    ...      // 4 space indent


Ответить | Правка | Наверх | Cообщить модератору

313. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (313), 03-Дек-21, 21:14 
Большинство погроммистов как раз таки писатели :)
Ruby лучший синтаксис как по мне, но тоже начали гадить: =>
Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

41. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (40), 03-Дек-21, 00:44 
Язык эгоистов. Сам написал, сам понял, но другие не смогут прочесть, и сам через месяц тоже.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

49. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 01:09 
Почему нет? C++ подобный подход даже украшает.
Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (70), 03-Дек-21, 02:58 
C++ попроще
Ответить | Правка | Наверх | Cообщить модератору

108. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 08:15 
То-то люди по пять лет C++ изучают только для того, чтобы через эти пять лет начать писать что-то сколь-либо осмысленное.
Ответить | Правка | Наверх | Cообщить модератору

137. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (348), 03-Дек-21, 10:20 
Ну, какую-нибудь ржавчину можно за пару месяцев выучить от и до, а чтобы научиться более-менее нормально писать на плюсах, и десяти лет мало.
Ответить | Правка | Наверх | Cообщить модератору

156. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 10:43 
Мало того, даже через десять лет люди сомневаются в качестве своего кода ввиду особенностей полюсов и сложности спецификации.
Ответить | Правка | Наверх | Cообщить модератору

164. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 10:54 
полюсов -> плюсов
Ответить | Правка | Наверх | Cообщить модератору

142. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 10:28 
Причины разные.
Некоторые считают, что "изучили хруст/питон/жс", подтянув 100500 чужих лефтпадов из ближайшей мусорки, и кое-как слепив их конструкциями языка.
Вот только к изучению языка и программированию лепка петухов из фекалий отношения не имеет.
Ответить | Правка | К родителю #108 | Наверх | Cообщить модератору

158. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 10:44 
Если на этих языках так можно, а на полюсах - нельзя, значит последние объективно сложнее. Ч. Т. Д.
Ответить | Правка | Наверх | Cообщить модератору

178. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 11:21 
Нет, это значит в последних выбрана парадигма crowd shitcoding.
Ответить | Правка | Наверх | Cообщить модератору

286. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 19:26 
Расскажи о shitcoding людям, которые уже разочаровались в C++ и больше на него смотреть не хотят, переключаясь кто куда, но только подальше от этого кошмара.

Также будет нелишним вспомнить об объёме спецификации Плюсов. Есть в мире хоть один человек, который знаком с ней хотя бы процентов на 80? Я вот сильно сомневаюсь в этом. Очень сильно.

В названных ранее языках таких сложностей нет. Да, эти языки не идеальны, но ведь свои задачи решают более-менее успешно, как показывает реальность. И ведь программирование - это НЕ вещь в себе, НЕ искусство ради искусства, как неправильно думают некоторые представители из мира разработки.

Ответить | Правка | Наверх | Cообщить модератору

318. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Онаним (?), 03-Дек-21, 22:07 
> разочаровались в C++ и больше на него смотреть не хотят

Их проблемы. Машины - это не об эмоциях.

Ответить | Правка | Наверх | Cообщить модератору

367. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноньимъ (ok), 04-Дек-21, 23:51 
Люди не машины.
Ответить | Правка | Наверх | Cообщить модератору

319. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Онаним (?), 03-Дек-21, 22:08 
> будет нелишним вспомнить об объёме спецификации Плюсов

Ну извини, да, в этом мире сложно.
Rocket science ещё сложнее.

Ответить | Правка | К родителю #286 | Наверх | Cообщить модератору

173. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 11:15 
> Вот только к изучению языка и программированию лепка петухов из фекалий отношения не имеет.

Ну, есть такая прога - ld. Позволяет автоматизировать этот процесс.

Ответить | Правка | К родителю #142 | Наверх | Cообщить модератору

177. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 11:20 
Наверняка прекрасно понимаете отличия, но привычно лицемерите.
Подсказка: отличие фекалий от библиотек заключается в объёме полезной работы.
Ответить | Правка | Наверх | Cообщить модератору

182. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 11:25 
Кроме того, ld занимается чисто техническим связыванием, оставляя подтягивание лефтпадов из выгребных репозитариев на совести ассеникодера.
Ответить | Правка | К родителю #173 | Наверх | Cообщить модератору

187. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 11:35 
и обеспечивая невозможность запуска программы без выгребания из реп (что, в свою очередь, привело к появлению пакетных менеджеров и бандлов).
Ответить | Правка | Наверх | Cообщить модератору

358. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноньимъ (ok), 04-Дек-21, 17:45 
>Уж на что синтаксис perl своеобразный, но это, гм, практически брейнфак какой-то...

На вид обычная Сипипишка. Ничего страшного.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

408. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от lufog (ok), 10-Дек-21, 05:32 
>> const _: () = assert!(std::mem::size_of::<u8>() == 1);
> Уж на что синтаксис perl своеобразный, но это, гм, практически брейнфак какой-то...

С синтаксисом смирится можно, всяко легче освоить чем тот же F# после плюсов.

Больше напрягает подход Rust Core Team к сообществу. Например, программист открывает issue, проект у него под Linux собирается, а под Windows нет. Ибо cargo не умеет в длинные имена под Windows, хоть сама Windows c 2016 года умеет. Программист просит, добавите в бинарь виндовой сборки cargo манифест с longPathAware true. Ибо это идиотизм когда кроссплатформенность твоего проекта зависит не от обращения с ОС специфичным API, а от длинны имен пакетов зависимостей. В итоге Core Team пишет что это невозможно, ибо Rust в манифесты не умеет (а задача это настолько невозможная что в crates уже сто лет в обед пакет валяется, который это умеет), да и rustс в длинные имена не может (те добавить манифест и туда видимо не вариант), а еще есть вероятность что в msvc тулчейне этой поддержки нет (сильное заявление, проверять я его конечно не буду), а затем вообще в тумане теряется.

Предвижу с десяток ответов вроде "Вендузоеды должны страдать!". Должны, не должны, я думаю что если проект назвали кроссплатформенным, то он должен таковым являться, а не делать видимость. И это я привел только один пример, а таких я уже с пару-тройку десятков повидал, за то не долгое время пока осваивал данный язык.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

11. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от AirToad (?), 02-Дек-21, 22:25 
А что системного написано на этом "языке системного программирования"?
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск языка программирования Rust 1.57"  +5 +/
Сообщение от Аноним (-), 02-Дек-21, 22:44 
> А что системного написано на этом "языке системного программирования"?

https://firecracker-microvm.github.io/
>Firecracker is an open source virtualization technology that is purpose-built for creating and managing secure, multi-tenant container and function-based services.

https://github.com/0x59616e/SteinsOS
> SteinsOS is an operating system featuring non-preemptive kernel targeting on single-core armv8 architecture.

https://github.com/smoltcp-rs/smoltcp
> smoltcp is a standalone, event-driven TCP/IP stack that is designed for bare-metal, real-time systems.

https://www.opennet.me/opennews/art.shtml?num=56056
> Релиз RustZX 0.15.0, кросплатформенного эмулятора ZX Spectrum

https://www.opennet.me/opennews/art.shtml?num=56193
> Выпуск Stratis 3.0, инструментария для управления локальными хранилищами

Ждем-с привычного "Это и вот это не считается, потому что не считается! И это тоже не считается! Вот!"

Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (19), 02-Дек-21, 22:49 
Посоветуйте антивирус на Расте
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (32), 03-Дек-21, 00:07 
В касперском его вроде использовали, но по-моему в их безопасной ОСОБО, а не в самом антивирусе
Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск языка программирования Rust 1.57"  +6 +/
Сообщение от Led (ok), 03-Дек-21, 00:29 
новичо^Wспутник5
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

50. "Выпуск языка программирования Rust 1.57"  –4 +/
Сообщение от Аноним (348), 03-Дек-21, 01:11 
Раст признан технологией двойного назначения и запрещён к экспорту в недемократические страны?
Ответить | Правка | Наверх | Cообщить модератору

121. "Драйвер на Rust "  +/
Сообщение от n00by (ok), 03-Дек-21, 09:23 
Для современного антивируса обязателен драйвер. В Венде для использования произвольного языка не надо преодолевать формальности в виде пальца Линуса.

Нашёл достаточно простой пример драйвера. devrandom driver sample which has been ported to Rust.
https://github.com/pravic/winapi-kmd-rs/blob/master/examples...

Оригинал на Си++ https://github.com/pravic/ontl/blob/master/samples/devrandom...
несколько больше по размеру, за счёт дополнительного функционала. Но интересно не это, а безопасная работа с памятью.

Вариант на небезопасном Си++ использует механизм структурной обработки исключений, если указатель Buffer адресует навалидный адрес, функция завершится корректно со статусом status::data_error.


ntstatus RandomData(void* Buffer, uint32_t Length)
{
  int64_t seed;
  KeQueryTickCount(seed);
  __try{
    uint32_t* data = reinterpret_cast<uint32_t*>(Buffer);
    for(uint32_t i = 0; i < Length / 4; i++)
      data[i] = RtlRandom((uint32_t*)&seed);
    if(Length % 4){
      uint32_t r = RtlRandom((uint32_t*)&seed);
      std::memcpy(&data[Length/4], &r, Length % 4);
    }
  }__except(efilter(exception_info(), __FUNCTION__)){
    return status::data_error;
  }
  return status::success;
}

Вопрос к знатокам: упадёт ли аналог в синьку, или Rust неявно использует SEH, или как-то иначе гарантируется валидность адреса?

// RtlRandom: Random number generator based on MacLaren and Marsaglia.
// RtlRandomEx is twice as fast and produces better random numbers
// since the period of the random numbers generated is comparatively higher.
fn GenerateRandom(buffer: PVOID, size: usize) -> Result<usize> {
    let mut seed = km::time::QueryTickCount() as u32;
    let data = buffer as *mut u32;
    let dwords = size / 4;
    let tail = size % 4;
    KdPrint!("[rs] generate random for %d bytes as %d words and %d padding\n", size as u32, dwords as u32, tail as u32);
    unsafe {
        let mut i = 0;
        while i < dwords {
            let word = km::rtl::RtlRandomEx(&mut seed);
            *data.offset(i as isize) = word;
            i += 1;
        }
        if tail != 0 {
            let word = km::rtl::RtlRandomEx(&mut seed);
            km::crt::memcpy(data.offset(dwords as isize) as *mut u8, &word as *const u32 as *const u8, tail);
        }
    }
    KdPrint!("[rs] generate complete\n");
    return Ok(size);
}

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

201. "Драйвер на Rust "  +1 +/
Сообщение от _hide_ (ok), 03-Дек-21, 12:34 
И в чем же его безопасность в этом примере? Просто до сих пор не понял, зачем себе яйца тисками зажимать?
Ответить | Правка | Наверх | Cообщить модератору

240. "Драйвер на Rust "  +1 +/
Сообщение от Аноним (53), 03-Дек-21, 15:47 
Редокс безопасно течёт, FF безопасно падает, драйвер на расте безопасно выводит "хеловорд!".
Ответить | Правка | Наверх | Cообщить модератору

343. "Драйвер на Rust "  +/
Сообщение от n00by (ok), 04-Дек-21, 08:26 
Сам по себе этот драйвер примечателен уже тем, что он есть. То есть без особого шума (как при попытке протащить Rust в Linux) автор создал библиотечку и написал к ней пример (угу, по традиции портировал пример аналогичной Си++ библиотеки). Но как раз по безопасности есть вопросы, на которые пока нет ответов.
Ответить | Правка | Наверх | Cообщить модератору

342. "Драйвер на Rust "  +1 +/
Сообщение от n00by (ok), 04-Дек-21, 08:19 
Если вопрос про безопасность Rust, то как раз это и интересно.

Обе функции получают в качестве параметра указатель, адресующий пространство пользователя. Если данному адресу не сопоставлена физическая страница ОЗУ, при обращения (запись результата) из ядра генерируется исключение. Если его не обработать должным образом, система покажет BSOD (синий экран смерти). Что делает возможным атаку вида "отказ в обслуживании". Вариант на Си++ использует SEH (конструкция __try __except) и обрабатывает такой случай, юзерленд получит код ошибки. Что в аналогичном сценарии произойдёт с драйвером на Rust, хотелось бы узнать.

Ответить | Правка | К родителю #201 | Наверх | Cообщить модератору

25. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (25), 02-Дек-21, 23:28 
>> Ждем-с привычного "Это и вот это не считается, потому что не считается! И это тоже не считается! Вот!"

Считается, зачёт, молодцы!
А зачем?

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

30. "Выпуск языка программирования Rust 1.57"  –5 +/
Сообщение от Аноним (-), 02-Дек-21, 23:58 
по любой поделке раста огромный список недоделок, ещё один язык для писателей?
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

305. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 20:41 
Список недоделок в студию, балабол!
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (-), 03-Дек-21, 00:02 
до чего все безопасное на раст, каждый вызов небезопасной функции libc помечен как небезопасный, что автоматом повышает безопасность на тысячи процентов. весь файл состоит из таких вызовов.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

35. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (36), 03-Дек-21, 00:14 
> до чего все безопасное на раст, каждый вызов небезопасной функции libc помечен как небезопасный, что автоматом повышает безопасность на тысячи процентов. весь файл состоит из таких вызовов.

Это пример того, как на Rust писать неправильно. А правильно использовать unsafe по минимуму и какм можно раньше оборачивать небезопасный код в безопасные абстракции.

Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск языка программирования Rust 1.57"  –3 +/
Сообщение от Аноним (53), 03-Дек-21, 01:26 
> Это пример того, как на Rust писать неправильно.
> ... писать неправильно ...

А разве на расте есть другая возможность?

Ответить | Правка | Наверх | Cообщить модератору

62. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Токсичный адепт Rust (?), 03-Дек-21, 01:50 
> А разве на расте есть другая возможность?

Написано же в комментарии выше, нет :)

> А правильно использовать unsafe по минимуму и какм можно раньше оборачивать небезопасный код в безопасные абстракции.

Вообще, unsafe - зло. Но часто это необходимое зло. И он помогает лучше локализовать причину проблемы в случае сегфолта - достаточно погрепать только по unsafe.

Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Токсичный адепт Rust (?), 03-Дек-21, 01:59 
> Написано же в комментарии выше, нет :)

Здесь пропущен ? в конце предложения. Конечно же, на Rust можно писать правильно :)

Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Аноним (348), 03-Дек-21, 01:13 
>  до чего все безопасное на раст, каждый вызов небезопасной функции libc помечен как небезопасный, что автоматом повышает безопасность на тысячи процентов. весь файл состоит из таких вызовов.

В итоге получится обычная сишная программа. Такая же "безопасная", как и любая другая сишная программа.
Смысл так делать?

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

56. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Аноним (53), 03-Дек-21, 01:28 
Если 100500 раз написать unsafe для самоуспокоения, что компилятор за тебя всё сделает, то прога получает +9000 к безопасности.
Ответить | Правка | Наверх | Cообщить модератору

59. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (-), 03-Дек-21, 01:36 
> Если 100500 раз написать unsafe для самоуспокоения, что компилятор за тебя всё
> сделает, то прога получает +9000 к безопасности.

А вот и Опеннетные Знатоки Компиляторов и статического программного анализа подоспели ... уж они-то точно знают, как их любимый компилятор турбо-паскаля работает!


Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (53), 03-Дек-21, 02:15 
Ну как там редокс - уже не течёт безопасно?
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 02:32 
> Ну как там редокс - уже не течёт безопасно?

Какой неуклюжий спрыг с темы, да еще и прямо в лужу:
https://gitlab.redox-os.org/redox-os/redox/-/issues/855
> The Redox kernel does not have the structures in place to allow freeing memory.

Ответить | Правка | Наверх | Cообщить модератору

143. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Онаним (?), 03-Дек-21, 10:30 
То есть это ещё и не баг, это вообще фича такая. Язычкасто.
Ответить | Правка | Наверх | Cообщить модератору

207. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 12:54 
> То есть - это не лужа, это вообще грязевая ванна такая! Вот!

Яснопонятно.


Ответить | Правка | Наверх | Cообщить модератору

280. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от burjui (ok), 03-Дек-21, 18:56 
Нет, не такая же. В Rust небезопасный код локализован в unsafe блоках и функциях, а весь остальной код получает все преимущества статического анализа компилятора. В C этого нет, в нём весь код - unsafe. К тому же, даже unsafe код на Rust безопаснее кода на C, потому что большая часть статического анализа применима и к нему: unsafe в Rust не означает полное отсутствие проверок и сишную семантику.
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

54. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (53), 03-Дек-21, 01:24 
Толсто. А теперь перечисли, что из этого нормально работает и не является хеловордом.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

58. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Аноним (-), 03-Дек-21, 01:32 
>> Firecracker was developed at Amazon Web Services to improve the customer experience of services like AWS Lambda and AWS Fargate .
>> Firecracker is used by/integrated with (in alphabetical order): appfleet , containerd via firecracker-containerd , Fly.io , Kata Containers , Koyeb , Northflank , OpenNebula , Qovery , UniK , and Weave FireKube (via Weave Ignite ). Firecracker can run Linux and OSv guests. Our latest roadmap can be found here .

...
>> Поддержка Stratis интегрирована в дистрибутивы Fedora и RHEL начиная с выпусков Fedora 28 и RHEL 8.2.

...
> Толсто. А теперь перечисли, что из этого нормально работает и не является хеловордом.

А вот и "Это и вот это не считается, потому что не считается! И это тоже не считается! Вот!", дождались!

Ответить | Правка | Наверх | Cообщить модератору
Часть нити удалена модератором

101. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 07:59 
Луддитам и правда не нужно.

Поправил, не благодари.

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

144. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 10:31 
Куча названий, которые скорее всего не пригодятся никогда, от слова "совсем".
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

409. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (409), 14-Дек-21, 21:53 
Firecracker не взлетел ни хрена. Примерно год назад его собирались закрывать, а растаманов - увольнять.
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

242. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (53), 03-Дек-21, 15:53 
Что характерно, растаманы придумывают названия своим хеловордам с помощью генератора случайных букв. Наверное, чтобы показать "важность" продуктов.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

246. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 16:13 
>> firecracker - английский
>> Stein - немецкий (камень, распространенная фамилия)
>> smol - английский
>> stratis - латынь
> Что характерно, растаманы придумывают названия своим хеловордам с помощью генератора случайных
> букв. Наверное, чтобы показать "важность" продуктов.

Что характерно, Воены Антирастового Военства и в обычных языках ни бум-бум и проекты на 50к строк у них - "хелловорды".


Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от anonymous (??), 02-Дек-21, 22:47 
Из моих интересов первыми приходят на ум:
Oreboot
Alacritty
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

285. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от нах.. (?), 03-Дек-21, 19:22 
И как всегда как и все на хрясте это тоже бесполезное бесполезно. Проект ради проекта.
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (27), 02-Дек-21, 23:48 
Например,

https://github.com/BurntSushi/ripgrep

Работает быстрее обычного grep'а и используется в VSCode по дефолту.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

73. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (70), 03-Дек-21, 03:04 
> Работает быстрее

А в чём магия? Игнорируют часть стандарта unicode?

Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (1), 03-Дек-21, 05:14 
Он лжёт, это плохая программа. Быстрее там только за счёт многопоточной работы с диском. Заплатить за это придётся тормозами и рандомными сегфолтами на простых привычных регулярках (которые всегда работали в грепе).
Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (86), 03-Дек-21, 07:02 
Сегфолт на расте?! Да вы видно бредите! Это невозможно.
Ответить | Правка | Наверх | Cообщить модератору

160. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Анонимъ (?), 03-Дек-21, 10:48 
Это возможно, как и в любом другом языке. Было бы желание. Лично я систему наглухо вешал из под раста (синергия багов ядра, дров, либ и одного стандарта).

Раст не про то, чтоб насовсем избежать таких вещей, а сделать их достаточно редкими, чтоб не считать их каждодневной рутиной.

Ответить | Правка | Наверх | Cообщить модератору

88. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Прохожий (??), 03-Дек-21, 07:11 
У тебя взаимные противоречия в одном предложении, но ты это не замечаешь. И почему я не удивлён?

Так "быстрее" или "придётся расплачиваться тормозами" всё-таки?

Откуда там сегфолтам взяться, если язык для работы с памятью безопасный?

Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

129. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (-), 03-Дек-21, 09:52 
потому что растососы используют unsafe вызовы libc, который для скорости работы все проверки делает через сегфолты
Ответить | Правка | Наверх | Cообщить модератору

134. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 10:16 
> для скорости работы все проверки делает через сегфолты

Typical C programming.

Ответить | Правка | Наверх | Cообщить модератору

165. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 10:56 
Но если проблемы в libc, причём тут Rust?
Ответить | Правка | К родителю #129 | Наверх | Cообщить модератору

184. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (348), 03-Дек-21, 11:27 
Притом, что токсичные растовики на машине времени слетали на 20 лет назад и переписали libc так, чтобы она сегфолтилась.
Ответить | Правка | Наверх | Cообщить модератору

196. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (1), 03-Дек-21, 12:07 
Это "быстрее" на практике окажется "медленнее", а вот в 1 поток выгода уже не столь очевидна, особенно учитывая меньшие возможности и постоянные проблемы. Что не понятного?

Что до "безопасности", то паники по кд это очень "безопасно" и радует пользователя, ну и сегфолты никто не отменял.

Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору

230. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 15:25 
Автор же приводит ссылку на тесты. Можешь повторить и проверить. Эта утилита быстрее и в одном потоке, чем стандартная.

> Что до "безопасности", то паники по кд это очень "безопасно" и радует пользователя, ну и сегфолты никто не отменял.

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

Ответить | Правка | Наверх | Cообщить модератору

245. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (1), 03-Дек-21, 15:58 
Автор манька, я грепал сорцы хрома и рг оперативно всосал. У меня нет примера и больше эту дрянь я ставить не буду, я уже выяснил, что регулярки она не поддерживает и рандомно падает даже на простейших.
Ответить | Правка | Наверх | Cообщить модератору

288. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 19:34 
Автор - довольно уважаемый разработчик, вообще-то. Один из контрибьюторов в Раст.

Регулярки она поддерживает. Не знаю, что и как ты там выяснял, может после похмелья какого.

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

Ответить | Правка | Наверх | Cообщить модератору

303. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (1), 03-Дек-21, 20:31 
>по-умолчанию очень тупо запускается в много потоков на жёстком диске, регулярки несовместимы с любыми прочими реализациями, баги
>во всём виноват пользователь

ясно-ясно

Ответить | Правка | Наверх | Cообщить модератору

349. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 04-Дек-21, 11:46 
> много потоков на жёстком диске
> во всём виноват пользователь

Действительно, если пользователь путает жесткий диск и процессор, рановато ему о языках программирования рассуждать.

Ответить | Правка | Наверх | Cообщить модератору

353. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (1), 04-Дек-21, 11:51 
Непонятно, к чему ты тут это приплёл, видимо, иллюстрация одного известного эффекта. Когнитивные искажения, они такие.
Ответить | Правка | Наверх | Cообщить модератору

74. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (70), 03-Дек-21, 03:07 
ripgrep has optional support for switching its regex engine to use PCRE2. Among other things, this makes it possible to use look-around and backreferences in your patterns, which are not supported in ripgrep's default regex engine

А, даже ещё проще, они regexp частично поддерживают :-) понятно.

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

135. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 10:17 
Не хочу вас огорчать, но вы видели BRE и ERE, которые доступны в старом grep без включения perl-режима?
Ответить | Правка | Наверх | Cообщить модератору

146. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 10:33 
Так мы же за производительность.
Соответственно все недоделки на хрусте упрутся именно в том, что их использовать не будут, а будут использовать PCRE2. А если в недоделке включить PCRE2, она внезапно окажется не быстрее PCRE2 :D
Ответить | Правка | Наверх | Cообщить модератору

186. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 11:32 
90% бытовых задач админа решается средствами BRE/ERE.
Ответить | Правка | Наверх | Cообщить модератору

221. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 14:20 
80/20
Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Аноним (-), 02-Дек-21, 23:07 
Убедили. Читаем.


>fn main() {
>    println!("Hello, world!");
>}
> If Hello, world! did print, congratulations! You’ve officially written a Rust program. That makes you a Rust programmer—welcome!

Ну для этого надо блобятину скачивать на компутер, нет уж спасибо, расскажите что за восклицательные знаки, новичку так сказать, который уже суперхелопрограмер как-никак.

>Second, println! calls a Rust macro. If it called a function instead, it would be entered as println (without the !). We’ll discuss Rust macros in more detail in  Chapter 19. For now, you just need to know that using a ! means that you’re calling a macro instead of a normal function, and that macros don't always follow the same rules as functions.

Ну ладно, поехали

> 19. Advanced Features
>19.5 Declarative Macros with macro_rules! for General Metaprogramming
> The most widely used form of macros in Rust is declarative macros. These are also sometimes referred to as “macros by example,” “macro_rules! macros,” or just plain “macros.” At their core, declarative macros allow you to write something similar to a Rust match expression.

Ага, замечательно

> Macros also compare a value to patterns that are associated with particular code: in this situation, the value is the literal Rust source code passed to the macro; the patterns are compared with the structure of that source code;

И тд . Я вот что хочу этим сказать, точнее задать простой вопрос, вот честно ответьте мне или себе:

Если раст это язык для тех кто не осилил указатели то неужели вы думаете что осилите это все ? Да вас по вашей же книжке погонять - рассыпитесь с первых двух вопросов. По моему скромному мнению - кто не осили сишечку - раст не осилит уж точно

Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (27), 02-Дек-21, 23:42 
> По моему скромному мнению - кто не осили сишечку - раст не осилит уж точно

А откуда у вас были такие ожидания, что Rust легко освоить, тем более не зная C/C++? Наоборот, при знании C++ гораздо проще понять, почему придумали Rust и какие проблемы он решает. И да, Rust известен своим высоким порогом вхождения относительно остальных языков.

Хотя AFAIK я слышал, что в Rust люди идут и после скриптовых языков вроде Python и JS, но здесь пруфов не будет.

Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от anonimous (?), 03-Дек-21, 01:45 
>Наоборот, при знании C++ гораздо проще понять,  почему придумали Rust и какие проблемы он решает.

При знании stl и умных указателей как раз как-то не очень понятно зачем раст придумали. Т.е. зачем придумали то понятно, а вот зачем он нужен не очень.

Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (86), 03-Дек-21, 07:07 
Имхо у C++ проблема - отсутствие бинарной совместимости. Это мешает его использовать для системных либ. Поменяли порядок виртуальных методов в классе, или добавили новый - всех клиентов надо пересобирать. Поэтому в Symbian, в свое время, даже заводили пустые методы, чтобы зарезервировать имя на будущее.
Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от fsb4000 (?), 03-Дек-21, 07:17 
Лол, в С++ отличная бинарная совместимость. с 1993 года, даже до первого стандарта С++ вышел COM, и до сих пор бинарно совместим. 28 лет бинарной совместимости. А так и в сишке в левых либах ломают бинарную совместимость каждый год...
Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от ОйраОйра (?), 03-Дек-21, 08:08 
В приведенном сценарии у C++ будут проблемы, а вот бинарная совместимость от перемены порядка функций в C не зависит. И при чем здесь COM? Вы на VB писать собираетесь? С получением метода через IDispatch? В остальном - те же проблемы.
Ответить | Правка | Наверх | Cообщить модератору

115. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от fsb4000 (?), 03-Дек-21, 08:30 
Ты в курсе что такое COM?

Это просто класс С++ только с виртуальными методами  особой конвецией вызова, который наследуется от IUnknown.

Ты в курсе что такое бинарная совместимость?

Это когда ты компильнул свой класс и можешь использовать с разными компиляторами. Вот собрав свой COM класс в 1993 году на каком-нибудь убогом Borland C++, ты можешь использовать его с Visual C++2022 и Mingw gcc 11 в 2021.

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

Ответить | Правка | Наверх | Cообщить модератору

119. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от ОйраОйра (?), 03-Дек-21, 08:39 
Тебе больше нравится термин ABI? Пусть.
Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от n00by (ok), 03-Дек-21, 09:38 
COM это Си-интерфейс. Стандарт Си++ не требует реализации таблицы виртуальных функций совместимым способом, просто MSVC это транслятор от производителя ОС, остальные под него подстроились.
Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

131. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от fsb4000 (?), 03-Дек-21, 10:05 
>COM это Си-интерфейс.

```c++
struct IUnknown
{
public:
   virtual HRESULT QueryInterface(REFID riid, void** ppv)=0;
   virtual ULONG AddRef () = 0;
   virtual ULONG Release() = 0;

   template<class Q>
   HRESULT QueryInterface(_COM_Outptr_ Q** pp)
   {
       return QueryInterface(__uuidof(Q), (void **)pp);
   }
};
```

Ясно, понятно. "С интерфейс". Ага. "Причём тут С++?" Да-да. Всё ясно с вами...

Ответить | Правка | Наверх | Cообщить модератору

168. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от n00by (ok), 03-Дек-21, 11:05 

;  Microsoft Macro Assembler (MASM)

      IInterface_Function1Proto     typedef proto :DWORD
      IInterface_Function2Proto     typedef proto :DWORD, :DWORD

      IInterface_Function1          typedef ptr IInterface_Function1Proto
      IInterface_Function2          typedef ptr IInterface_Function2Proto

      IInterface struct DWORD
            QueryInterface          IUnknown_QueryInterface         ?
            AddRef                  IUnknown_AddRef                 ?
            Release                 IUnknown_Release                ?
            Function1               IInterface_Function1            ?
            Function2               Interface_Function2             ?
      IInterface ends


Ясно, понятно. "С интерфейс". Ага. "Причём тут С++?" Да-да. Всё ясно свами...
Ответить | Правка | Наверх | Cообщить модератору

126. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (126), 03-Дек-21, 09:39 
>Ты в курсе что такое COM? Это просто класс С++ только с виртуальными методами  особой конвецией вызов... Вот собрав свой COM класс в 1993 году на каком-нибудь убогом Borland C++, ты можешь использовать его с Visual C++2022...

Повторю вопрос анонима выше - причем здесь COM?
И в чем здесь заслуга C++, если это больше межязыковой проприетарный стандарт для написания компонент к оффтопику? Понятно, саму прослойку/поддержку технологии ты можешь написать и на плюсах, вот только это не часть плюсов. Мне пять лет пришлось COM/DCOM на дельфях ковырять, в си++ влазить не пришлось, "классов С++ только с виртуальными методами" в самопальных компонентах там не было. Ты ведь сейчас не начнешь утверждать что в 1990-х годах твой COM, как неотъемлемая часть стандарта C++ ( :D ), широко и повсеместно использовался в юниксах?

Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

211. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от anonymous (??), 03-Дек-21, 13:49 
Вы перепутали. Бинарная совместимость как раз у С++ постоянно ломается. Например, из-за этого виндузоиды имеют много копий стандартной библиотеки (просто разные версии). В свободных дистрибутивах попроще, ибо всё можно пересобрать, ибо совместимость программного уровня в С++ сохраняется.
Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

258. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от fsb4000 (?), 03-Дек-21, 16:51 
>Вы перепутали. Бинарная совместимость как раз у С++ постоянно ломается.

Я не перепутал. COM бинарная совместимость не ломалась никогда. Вы можете COM класс собранный Visual C++ 2.0 слинковать с новейшим gcc или Visual C++ или с чем угодно, хоть с паскалем или Rust.

COM - это подмножество С++ если важна бинарная совместимость между компиляторами и даже между разными языками программирования.

Ответить | Правка | Наверх | Cообщить модератору

267. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от fsb4000 (?), 03-Дек-21, 16:59 
Как пример, DirectX написан на С++. И вы можете использовать DirectX из любого языка, с любыми версиями компиляторов.

Надеюсь пример понятен.

Ответить | Правка | К родителю #211 | Наверх | Cообщить модератору

336. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Зз (?), 03-Дек-21, 23:52 
COM - хорошая штука. Уважаю безгранично, мне кажется его даже недооценили в своё время.

Однако обрати внимание, уважаемый любитель плюсов. Где там в IUnknown хвалёные умные указатели, std::стринги, RAII и прочие гаранты безопасности?
Сплошные ненавистные бездарные сишные указатели и даже указатели на указатели.
Да, слово public добавили в структуру, это к счастью пока что не ломает ABI.

Все бы на таком подмножестве С++ свои либы писали.

Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от Прохожий (??), 03-Дек-21, 07:36 
Затем, что освоить спецификацию C++, которая составляет примерно полторы тысячи страниц, как показывает практика, никому не под силу. Это в свою очередь чревато большим количеством ошибок в коде.

Кроме того, в C++ частая проблема - UB.

Кроме того, в C++ нет такой удобной стандартной инфраструктуры, как в Rust.

Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

100. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от ОйраОйра (?), 03-Дек-21, 07:59 
Спецификация C++ - это для разработчиков компиляторов. Для обычного прикладного программиста на C++  cppreference.com дает отличную выжимку из него. И его вполне возможно осилить.
Ответить | Правка | Наверх | Cообщить модератору

218. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 14:16 
Да, конечно, можно. Вот только люди, очень даже грамотные и толковые, надо заметить, которые оптимизацией софта занимались в одной из крупных софтовых контор, типа Google, Netflix, Facebook выгорают от подобных "выжимок". Есть на Хабре статья одного такого. И при желании другие можно поискать.

И сегодня одна "выжимка". Завтра - другая. Послезавтра - третья. Каждый ходит в итоге со своим багажом знаний и своей стилистикой в голове, что в итоге вылазит боком на крупных проектах, когда один использует круглые скобочки для инициализации, второй - фигурные. И так далее в том же духе.

Я ещё не сказал о том, что не все компиляторы на разных платформах полностью поддерживают стандарты C++. И это ещё одна головная боль, на самом деле.

Вот зачем так раньше было заморачиваться было понятно, альтернатива - абсолютно небезопасный, хоть и очень простой в освоении C. Но сейчас, с появлением нового языка, не отягощенного кучей стандартов и не уступающего в производительности конечного кода, зачем?

Ответить | Правка | Наверх | Cообщить модератору

118. "Выпуск языка программирования Rust 1.57"  –3 +/
Сообщение от Аноним (-), 03-Дек-21, 08:39 
>Кроме того, в C++ нет такой удобной стандартной инфраструктуры, как в Rust.

С JS дяденька вылез и думает, что leftpad.io - это круто. И даже новости на опеннете об очередных майнерах в удобной стандартной инфраструктуре ноды или питона не смогли поколебать его разум, потому что раст априори безопасен, что значит, майнеров в карго конечно же не будет.

Про то, что программы дожны каждая делать своё дело и то, что системе сборки не требуется лезть в интернеты, я уже молчу. Непуганого любителя глобально-надёжных решений этим не пронять.

Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

147. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 10:34 
Всё ещё хуже. Они учатся тянуть чужие высеры, и считают, что научились погромировать.
Ответить | Правка | Наверх | Cообщить модератору

190. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (348), 03-Дек-21, 11:39 
Такая вот культура программирования, что поделать.

"Зачем мне с нуля писать криптографию или сжатие, лучше возьму готовую библиотеку"

Ответить | Правка | Наверх | Cообщить модератору

217. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 14:13 
s/библиотеку/обёртку к openssl или xz/
Ответить | Правка | Наверх | Cообщить модератору

231. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 15:33 
> Про то, что программы дожны каждая делать своё дело и то, что системе сборки не требуется лезть в интернеты, я уже молчу.

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

> С JS дяденька вылез и думает, что leftpad.io - это круто.

Какой у тебя занимательный бред. Только мне он не особо интересен. Обратись к специалисту лучше. Вдруг поможет.

> раст априори безопасен

Сам придумал глупость, и сам же её опровергаешь. Раст более безопасный, чем тот же C - вот это действительно априори.

Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

33. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Аноним (32), 03-Дек-21, 00:10 
С каких пор Rust для тех кто не освоил указатели? Там вообще-то есть указатели наряду со ссылками.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

42. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 00:44 
> С каких пор Rust для тех кто не освоил указатели?

Так на опеннете под каждой новостью о расте авторитетные аноны пишут - "Мы все так говорим, а значит это правда!"


Ответить | Правка | Наверх | Cообщить модератору

95. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 07:42 
Тебе бы вместо чтения "авторитетных анонимов" лучше бы взять да почитать книгу для начинающих программировать на Rust. Есть бесплатно на русском, если что, правда, перевод такой себе. Есть и в профессиональном переводе, но за деньги.
Ответить | Правка | Наверх | Cообщить модератору

223. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (223), 03-Дек-21, 14:26 
> Тебе бы вместо чтения "авторитетных анонимов" лучше бы взять да почитать книгу

Тебе бы, помимо "погромистких книг", еще бы посмотреть в словаре "сарказм" и почитать классику:
https://sheba.spb.ru/libra/kipling_maugli.htm
> Обиженный, сонный и голодный Маугли всё же не мог не смеяться, когда обезьяны начинали в двадцать голосов твердить ему, как они мудры, сильны и добры и как он неразумен, что хочет с ними расстаться.
>
> — Мы велики! Мы свободны! Мы достойны восхищения! Достойны восхищения, как ни один народ в джунглях! Мы все так говорим — значит, это правда! — кричали они.
>

Ответить | Правка | Наверх | Cообщить модератору

235. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 15:40 
Не силён в определении сарказма по постам на форуме. Сорри.
Ответить | Правка | Наверх | Cообщить модератору

188. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (-), 03-Дек-21, 11:37 
> С каких пор Rust для тех кто не освоил указатели?

На официальном сайте так написано. Или читать не научили ?

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

192. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (348), 03-Дек-21, 11:42 
Такое определение подходит к любому программисту на C/C++.
Во всем мире на найдется ни одного такого, написавшего что-то сложнее приветмира и не налажавшего с указателями.
Ответить | Правка | Наверх | Cообщить модератору

204. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 12:44 
Про это там тоже что-то было написано. Во всем раста мире наверное таки и не найдется..
Ответить | Правка | Наверх | Cообщить модератору

210. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (-), 03-Дек-21, 13:04 
>> С каких пор Rust для тех кто не освоил указатели?
> На официальном сайте так написано. Или читать не научили ?

Заглядывать на официальный сайт раста в голове анонима - вряд ли научили.
Цитату и ссылку в студию, если не балабол.


Ответить | Правка | К родителю #188 | Наверх | Cообщить модератору

44. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Аноним (-), 03-Дек-21, 01:04 
> Ну для этого надо блобятину скачивать на компутер,

Источник "Правдивейшие фантазии очередного опеннетчика о Расте, том 119"?

> И тд . Я вот что хочу этим сказать, точнее задать простой
> вопрос, вот честно ответьте мне или себе:
> Если раст это язык для тех кто не осилил указатели то неужели
> вы думаете что осилите это все ? Да вас по вашей же книжке погонять - рассыпитесь с первых двух вопросов. По моему скромному мнению - кто не осили сишечку - раст не осилит уж точно

Сначала честно ответьте:
если комментарии "фантазии о расте и вопросы по мотивам анонимных фантазий о расте" пишут исключительно анонимы нетрадиционной ориентации, то неужели они думают, что осилят прочитать ответ?


Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

48. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Токсичный адепт Rust (?), 03-Дек-21, 01:09 
> Ну для этого надо блобятину скачивать на компутер, нет уж спасибо

Все крупные дистрибутивы уже завезли Rust в качестве пакета. Можно просто взять и поставить.

Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

52. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (348), 03-Дек-21, 01:17 
А вот на винде, где сидят отважные борцы со ржавчиной - надо скачивать!
Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Токсичный адепт Rust (?), 03-Дек-21, 01:47 
А разве на винде блобы кого-то волнуют?
Ответить | Правка | Наверх | Cообщить модератору

189. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (348), 03-Дек-21, 11:37 
Если они ржавые - то да!
Пользователи винды - за чистоту системы от оксидов!
Ответить | Правка | Наверх | Cообщить модератору

278. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 18:01 
Под ZorinOS не хочет ставиться...
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

92. "Выпуск языка программирования Rust 1.57"  +3 +/
Сообщение от Прохожий (??), 03-Дек-21, 07:22 
>кто не осили сишечку - раст не осилит уж точно

Проблема сишечки не в её сложности, неужели до сих пор непонятно? Проблема сишечки в том, что там очень часто даже профессионалы высокого класса делают серьёзные ошибки при работе с памятью и приведением типов. От этих вещей и призван страховать Rust. Да и сложного для начинающих в Расте, судя по некоторым опросам, только концепция времени жизни. В остальном довольно простой язык с кучей преимуществ по сравнению с морально устаревшими уже конкурентами С, С++.

Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

117. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (-), 03-Дек-21, 08:32 
Чистая сишка - это не просто язык программирования. Си - это квитэссенция процедурной парадигмы. А парадигмы как законы физики, не могут устареть.
Ответить | Правка | Наверх | Cообщить модератору

122. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (122), 03-Дек-21, 09:24 
чистая сишечка  - это как коммунизм. утопия.

в реальности людям приходиться иметь дело с разными реализациями, на разных архитектурах. И всезде свои особенности, Ладно бы эти особенности зависели только от целевой архитектуры, так нет. Они еще щависят и от версии компилятора, от фазы луны, и может еще от чего.

Короче, говно, эта ваша сишка, та которая получилась в реальности.

Ответить | Правка | Наверх | Cообщить модератору

191. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (-), 03-Дек-21, 11:42 
> в реальности людям приходиться иметь дело с разными реализациями, на разных архитектурах. И всезде свои особенности,

Прикинь.
А ты сишку только сегодня начал учить ? Могу похвалить, уровень примерно как и у местных растописателей - мифический :D

Ответить | Правка | Наверх | Cообщить модератору

198. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 12:21 
Он ещё не успел узреть божественную суть GCC.
Ответить | Правка | Наверх | Cообщить модератору

300. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (122), 03-Дек-21, 20:26 
что мне ее узревать.

поверю професссионалам: "The gcc people are more interested in trying to find out what can be
allowed by the c99 specs than about making things actually _work_."

попросту - кучка буквоедов, в плохом смысле слова.

Ответить | Правка | Наверх | Cообщить модератору

335. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 23:16 
быть пожирателем синтаксиса - это выбор. прогрмминг про другое вообще
Ответить | Правка | Наверх | Cообщить модератору

233. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 15:39 
Если Си - это квинтэссенция парадигмы, то не нужна нам такая парадигма. Нам, видишь ли, не шашечки нужны, нам ехать надо. ;)
Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

294. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Ordu (ok), 03-Дек-21, 20:07 
> Си - это квитэссенция процедурной парадигмы.

Если чего Си и квинтэссенция, так это ассемблеров из 70-х годов. Всё остальное в C в сильно разбавленном виде.

Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

334. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 23:14 
А что-то вообще изменилось с 70х годов ?
Ответить | Правка | Наверх | Cообщить модератору

338. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (-), 04-Дек-21, 00:17 
> А что-то вообще изменилось с 70х годов ?

Например, вычислительные мощности выросли на пару порядков, продвинулись в компиляторосторении и анализе кода, сильно подтянули теорию типов ...

Ответить | Правка | Наверх | Cообщить модератору

356. Скрыто модератором  –2 +/
Сообщение от Аноним (-), 04-Дек-21, 16:48 
Ответить | Правка | Наверх | Cообщить модератору

29. Скрыто модератором  +1 +/
Сообщение от Аноним (-), 02-Дек-21, 23:54 
Ответить | Правка | Наверх | Cообщить модератору

38. Скрыто модератором  +2 +/
Сообщение от Токсичный адепт Rust (?), 03-Дек-21, 00:22 
Ответить | Правка | Наверх | Cообщить модератору

75. Скрыто модератором  +/
Сообщение от Аноним (70), 03-Дек-21, 03:13 
Ответить | Правка | Наверх | Cообщить модератору

80. Скрыто модератором  +3 +/
Сообщение от anonymous (??), 03-Дек-21, 03:59 
Ответить | Правка | Наверх | Cообщить модератору

79. Скрыто модератором  +1 +/
Сообщение от anonymous (??), 03-Дек-21, 03:57 
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

93. Скрыто модератором  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 07:29 
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

68. Скрыто модератором  –1 +/
Сообщение от Аноним (68), 03-Дек-21, 02:32 
Ответить | Правка | Наверх | Cообщить модератору

78. Скрыто модератором  +1 +/
Сообщение от anonymous (??), 03-Дек-21, 03:55 
Ответить | Правка | Наверх | Cообщить модератору

81. Скрыто модератором  –1 +/
Сообщение от Аноним (68), 03-Дек-21, 04:32 
Ответить | Правка | Наверх | Cообщить модератору

85. Скрыто модератором  +1 +/
Сообщение от anonymous (??), 03-Дек-21, 05:55 
Ответить | Правка | Наверх | Cообщить модератору

99. Скрыто модератором  +/
Сообщение от Прохожий (??), 03-Дек-21, 07:52 
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

105. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Иваня (?), 03-Дек-21, 08:11 
> ... std::mem::size_of::<u64>() ...

Страшно, очень страшно, мы не знаем что это такое, если бы мы знали, что это такое, но мы не знаем, что это такое)

Ответить | Правка | Наверх | Cообщить модератору

199. Скрыто модератором  –3 +/
Сообщение от Аноним (53), 03-Дек-21, 12:33 
Ответить | Правка | Наверх | Cообщить модератору

247. Скрыто модератором  +1 +/
Сообщение от Аноним (-), 03-Дек-21, 16:25 
Ответить | Правка | Наверх | Cообщить модератору

248. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от Аноним (-), 03-Дек-21, 16:28 
>> ... std::mem::size_of::<u64>() ...
> Страшно, очень страшно, мы не знаем что это такое, если бы мы
> знали, что это такое, но мы не знаем, что это такое)

И то ли дело boost::mpl::sizeof_<DATA_TYPE>


Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

368. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноньимъ (ok), 04-Дек-21, 23:55 
Я вот растбук дальше хеллоу верда не читал, но опыт подсказывает, что это функция возвращающая размер типа uint64.
Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

112. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 08:28 
Язык одной реализации, убийца сишарпа.
Ответить | Правка | Наверх | Cообщить модератору

166. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Анонимъ (?), 03-Дек-21, 10:57 
Ващет есть реализация под gcc.
Ответить | Правка | Наверх | Cообщить модератору

114. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (114), 03-Дек-21, 08:30 
Какие плюсы по сравнению с хачкелем?
Ответить | Правка | Наверх | Cообщить модератору

124. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от fsb4000 (?), 03-Дек-21, 09:32 
Более безопасный :)

При реализации одного и того же алгоритма Haskel всё скомпилирует и будет работать, Rust продолжит съедать мозг с временем жизни и говорить что все в опасности :)

Rust это язык для любителей страдать. Тем кто хочет боли и унижений.

Ответить | Правка | Наверх | Cообщить модератору

175. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от MAX (??), 03-Дек-21, 11:19 
Слава богу что хоть с юмором у нас все хорошо )
И по моему лучший комментарий из всех что я читал про Rust )
Ответить | Правка | Наверх | Cообщить модератору

200. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (200), 03-Дек-21, 12:33 
безопасТный
Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

209. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Аноним (-), 03-Дек-21, 13:01 
> Rust это язык для любителей страдать. Тем кто хочет боли и унижений.

100%, "приветмир" программисты созданы для этого. Вот только все меньше тех кто знает и при этом любит унижать.

Учите раст товарищи опенчановцы и да прольется гнев и заполохают табуретки растокодеров !

Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

390. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноньимъ (ok), 05-Дек-21, 10:26 
>При реализации

При декларации.

>Haskel всё скомпилирует

Со временем.

>и будет работать

В конечном счёте.

Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

219. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (219), 03-Дек-21, 14:17 
Предположу что это производительность при относительной безопасности языка.
Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

116. "Выпуск языка программирования Rust 1.57"  +3 +/
Сообщение от Аноним (-), 03-Дек-21, 08:31 
Если так подумать, то гораздо проще рачта было бы завезти сишечку в SML и получившийся гибрид был бы гораздо проще. А с текущими оптимизирующими компиляторами вся эта орава растоманов могла бы уже давно на нём (или окамле) что-то годное писать.
Ответить | Правка | Наверх | Cообщить модератору

130. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от n00by (ok), 03-Дек-21, 09:52 
Ну как бы немножко завезли. Пока компилируется HelloWorld, можно выпить кофе.

"Имеет тонкий и быстрый FFI[en], обеспечивающий полное двустороннее взаимодействие с языком Си (вплоть до взаимной рекурсии); а также генератор привязок[en] NLFFI (No-Longer-Foreign Function Interface — рус. интерфейс к отныне-более-не-чужеродным функциям), позволяющий встраивать заголовочные файлы Си прямо в проект на SML и использовать прямые вызовы функций Си в программах на SML[5]."

https://ru.wikipedia.org/wiki/MLton

Ответить | Правка | Наверх | Cообщить модератору

120. Скрыто модератором  +3 +/
Сообщение от Аноним (-), 03-Дек-21, 08:55 
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск языка программирования Rust 1.57"  +3 +/
Сообщение от Аноним12345 (?), 03-Дек-21, 09:31 
Язык для хипстеров
Порог вхождения довольно высок
Синтаксис невменяемый
Область применения ограниченная
Ответить | Правка | Наверх | Cообщить модератору

154. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Аноним (154), 03-Дек-21, 10:41 
Я (бывший многолетний C++-ник) тоже раньше любил поглумиться над синтаксисом Раста. Но в процессе освоения его и работы (а уже третий год пошёл) понял, что каждая деталь синтаксиса тщательно продумана и добавлена не просто так. Rust — изящный красивый язык.
Ответить | Правка | Наверх | Cообщить модератору

203. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (200), 03-Дек-21, 12:36 
Ну а с наследованием-то как в нём, всё также?
Ответить | Правка | Наверх | Cообщить модератору

277. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от Аноним (154), 03-Дек-21, 17:56 
Rust не является джаваподобным объектно-ориентированным языком. В нём есть инкапсуляция и полиморфизм, но нет наследования реализации. Можно закодировать отношение "IsA" между трейтами, впрочем, и назвать это наследованием интерфейса. А от наследования реализации на практике часто больше проблем, чем пользы.
Ответить | Правка | Наверх | Cообщить модератору

316. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (68), 03-Дек-21, 21:53 
ООП в том виде в котором оно есть, еще с Simula пошло
Ответить | Правка | Наверх | Cообщить модератору

337. "Выпуск языка программирования Rust 1.57"  +10 +/
Сообщение от морошка ягодка такая (?), 04-Дек-21, 00:00 
> изящный красивый язык.

Как только разработчик произносит слова изящный и красивый, я сразу обращаю на это внимание. Скорее всего он приболел. Так же я обращаю внимание на некоторые слова в его речи, которые он произносит с свойственным придыханием:
"функторы",
"идиомы",
"всё есть (вставьте сюда любое слово)",
"ФП",
"ООП",
"Запахи кода",
"Интерфейс сегрегейшен",
"Предварительная пессимизация".
"Согласен" (переводится как "ты не прав, но я готов сделать исключения для тебя, отсталый дeбил")

Как только я слышу эти слова - я сразу понимаю, что разработчик приболел "крутым программированием".

У этой болезни есть так же менее заметные на первый взгляд симптомы:
- разработчик программирует на кухне, не прикасаясь к компьютеру
- разработчик очень редко поворачивается к своему столу и основное время проводит за разговорами
- откидывается на стуле и закрывает глаза при разговоре
- очень умный взгляд, смотрит как бы сквозь собеседника, решает в голове одновременно 2-3 задачи
- может тебя похвалить с высоты собственного величия
- стол усеян игрушками, кубиками рубика и статуэтками героев марвел
- три монитора, притом, один из них повёрнут "на попа"
- механическая клавиатура, разделённая на пополам, с переключателями "чери блю", набирает текст очень быстро, аггрессивно (переписывается с женой в телеграме)
- вертикальная мышь марки "члeн"
- очень специфично настроенное окружение, всё заточено под себя, имеет шорткаты ко всему.
- делает техдолг, рефакторит, пишет фреймворки для простых вещей в то время, которое не занято обсуждением программирования и баб
- говорит загадками
- сражается с мельницами
- решает задачи на два года вперёд, предлагает сложные и очень интересные способы решения задачи "загрузи JSON и покажи" и "прими JSON и запиши в БД"
- имеет на каждый библиотечный метод обёртку, которая лучше, потому что в в Microsoft работают индусы и программировать не умеют
- его код как правило через 3 месяца выкидывавают и меняют на "IF ELSE"
- тот код, который не смогли выкинуть, доставляет всем проблемы, потому что он "очередь функций самоитерирующихся стратегий в тред-пуле (самописном, конечно же)"
- пишет не код, а кодогенераторы, которые всё за него делают


Если не принять срочные меры - то скорее всего ваш проект накроется. Будьте на чеку

Ответить | Правка | К родителю #154 | Наверх | Cообщить модератору

340. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Зз (?), 04-Дек-21, 01:32 
Хаха, жизненно
Ответить | Правка | Наверх | Cообщить модератору

345. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от n00by (ok), 04-Дек-21, 08:52 
> Так же я обращаю внимание
> на некоторые слова в его речи, которые он произносит с свойственным
> придыханием:
> "функторы"

Вот сейчас не понял, это про Rust или про operator(). Но на всякий случай плюсанул и убрал со стола ключ-шестигранник.

Ответить | Правка | К родителю #337 | Наверх | Cообщить модератору

371. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноньимъ (ok), 05-Дек-21, 00:00 
>- пишет не код, а кодогенераторы, которые всё за него делают

Иногда это необходимость.

И если может, и ему так удобно, то замечательно.
Тем более что, на сишечке например без кодогенераторов педалить есть слабоумие и отвага.

Ответить | Правка | К родителю #337 | Наверх | Cообщить модератору

382. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 05-Дек-21, 00:15 
Плять, не в бровь, а в глаз.
Ответить | Правка | К родителю #337 | Наверх | Cообщить модератору

410. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от wyry (?), 15-Дек-21, 18:27 
Подписываюсь под каждым словом), я одно время тоже долго и тяжело болела LISP'ом и F#, когда на них была мода, смотрела на С++ разработчиков как на отсталых обезьян. Иллюзии все же разбиваются о реальность когда начинается реальная работа. Я бы сказала, что я C++ до сих пор недолюбливаю за его монструозность и бешенный принтер стандартизации, но вот когда кто-то несёт чушь, что грядёт замена C - это абсолютный бред. C - это действительно монумент.
Я думаю, что все в один момент переживают нечто подобное, меняются лишь декорации. А правда такая, что если язык не вносит вообще ничего нового в индустрию (а Rust в отличие от ML и LISP ну вообще по минимуму меняет мировоззрение, более того, он ещё и во вред может сработать, что человек уже никогда не научится вменяемо работать с памятью), умрёт сам по себе. На C++ ещё до Rust можно было писать в стиле Rust используя его move-семантику, растоманы конечно скажут что ЭТО ДРУГОЕ (и частично это так), но чёрт возьми, когда в существующем инструменте, который совместим со всем чем только можно пилить новый язык где всё нужно допиливать напильником - это же идиотизм.
Ответить | Правка | К родителю #337 | Наверх | Cообщить модератору

413. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от морошка ягодка такая (?), 15-Дек-21, 23:26 
> растоманы конечно скажут что ЭТО ДРУГОЕ

Это факт, это другое. Даже дотнет решает 90% вероятного УБ.

Ответить | Правка | Наверх | Cообщить модератору

414. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от wyry (?), 27-Дек-21, 16:57 
У Pascal (всех или почти всех диалектов) вообще нет UB. При этом он гораздо проще в освоении, программировании и чтении кода, однако Pascal устарел и не нужен даже для обучения (при этом обучают на Python (маразм), который вообще не объясняет как всё работает "за кадром"), и Rust в котором всё стильно, модно, молодёжно, но спустя время не было написано ничего вменяемого и масштабного. Кстати даже на Pascal написано дохрена, несмотря на то что это даже близко не менстрим и "коллеги засмеют".
Ответить | Правка | Наверх | Cообщить модератору

417. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от морошка ягодка такая (?), 27-Дек-21, 20:02 
> он гораздо проще в освоении, программировании и чтении кода

Я думаю, в таких случаях уместно писать "на мой взгляд".


Ответить | Правка | Наверх | Cообщить модератору

418. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от wyry (?), 28-Дек-21, 03:42 
>> он гораздо проще в освоении, программировании и чтении кода
> Я думаю, в таких случаях уместно писать "на мой взгляд".

нет, это именно объективный взгляд. Я на Pascal не писала уже со времён универа, но даже сегодня разберусь в любой программе на Pascal. Его синтаксис мне кстати не нравится (пишу на C и это уже на МОЙ ВЗГЛЯД - идеальный язык), но могу опять же отметить, что в Pascal синтаксис более понятный чем в C. Единственное что в нём бесит (это уже субъективно) - это цепочки из begin end и свойственная "многословность", взамен он на уровне дизайна создан так чтобы быть понятным, в нем нет неочевидных конструкций, более того, я всерьёз считаю, что если бы Pascal не существовало и он вышел бы в наше время как нечто новое - он мог бы сильно поконкурировать даже с C и был бы гораздо успешнее чем его положение сейчас. И уж точно он был бы гораздо успешнее Rust, т.к. он одновременно безопасный, простой и без UB. Исторически мне даже жаль, что Pascal незаслуженно забыт, несмотря на то что лично мне он нафиг не нужен.

Ответить | Правка | Наверх | Cообщить модератору

419. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от морошка ягодка такая (?), 28-Дек-21, 08:55 
> нет, это именно объективный взгляд.

извини, я дальше не стал читать

Ответить | Правка | Наверх | Cообщить модератору

243. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 15:54 
> Язык для хипстеров

В Амазоне, Гугле, Вавее, Майкрософте одни хипстеры работают. Да? Может хватит уже лужи газифицировать?

> Порог вхождения довольно высок

Вовсе нет. Очень простой язык по сравнению с C++.

> Синтаксис невменяемый

Вменяемый и красивый, можно даже сказать. Но это - вкусовщина, конечно же.

> Область применения ограниченная

Какими областями? Это универсальный язык, вообще-то. Хочешь в Вебе используй, хочешь на системном уровне, хочешь - даже на смартфоне уже можно программки писать под Андроид, вроде.

Ответить | Правка | К родителю #123 | Наверх | Cообщить модератору

393. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Sem (??), 05-Дек-21, 20:27 
> Вовсе нет. Очень простой язык по сравнению с C++.

Ну да, а вот это очень очевидная конструкция что делает?

let f: || -> () = || {...};

Ответить | Правка | Наверх | Cообщить модератору

395. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (154), 06-Дек-21, 10:23 
А чего непонятного? Создан биндинг к значению типа замыкания (безымянной функции с захватом контекста) без параметров, возвращающего unit (то есть ничего не возвращающего). В дальнейшем предполагается вызов вида f(). Очевидно, чтобы делать что-то полезное, это замыкание должно использовать окружающий контекст для создания побочных эффектов.
Ответить | Правка | Наверх | Cообщить модератору

399. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Sem (??), 07-Дек-21, 19:20 
Вообще, это на перл похоже.
Ответить | Правка | Наверх | Cообщить модератору

400. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Gedweb (ok), 07-Дек-21, 19:35 
тоже что и стрелочная функция в TS и выглядит так же
Ответить | Правка | К родителю #393 | Наверх | Cообщить модератору

402. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от freecoderemail (ok), 08-Дек-21, 13:38 
Вы привели невалидный код. Запись типа
|| -> ()
не применима в Rust. Потому что это синтаксис определения замыкания, а не указания его типа. Просто так указать тип замыкания в Rust нельзя, потому что он формируется компилятором самостоятельно под каждое конкретное замыкание. Вы могли бы записать вместо замыкания функцию, тип которой указывать можно:

let foo: fn() = || {};

Ответить | Правка | К родителю #393 | Наверх | Cообщить модератору

127. "Выпуск языка программирования Rust 1.57"  +8 +/
Сообщение от cat666 (ok), 03-Дек-21, 09:40 
Я здесь ради срача.
Ответить | Правка | Наверх | Cообщить модератору

170. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 11:09 
Запасайся попкорном.
Ответить | Правка | Наверх | Cообщить модератору

236. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (53), 03-Дек-21, 15:42 
Да ты знаток пердежа от попкорна! Специалист со стажем, да?
Ответить | Правка | Наверх | Cообщить модератору

139. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от Онаним (?), 03-Дек-21, 10:24 
_: () - это водолаз?
Ответить | Правка | Наверх | Cообщить модератору

172. "Выпуск языка программирования Rust 1.57"  +3 +/
Сообщение от n00by (ok), 03-Дек-21, 11:14 
Это чекурва (человек, курящий вайп).
Ответить | Правка | Наверх | Cообщить модератору

183. "Выпуск языка программирования Rust 1.57"  –3 +/
Сообщение от Аноним (-), 03-Дек-21, 11:25 
Нет, это ты, которые просматривает логи форума.
Ответить | Правка | Наверх | Cообщить модератору

216. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (216), 03-Дек-21, 13:57 
А ты хотел сразу эмодзями программировать?
Ответить | Правка | К родителю #139 | Наверх | Cообщить модератору

282. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 19:15 
Это непроверяемая компилятором переменная (константа) на предмет её задействования где-то в коде. Символ подчёркивания в начале имени (в данном случае он единственный в имени) говорит компилятору, что если даже эта переменная (константа) не используется, не обращай на это внимание. Можно было бы и директиву включить соответствующую, но иной раз так проще.

() - означает пустой тип (вроде NULL, void).

Ответить | Правка | К родителю #139 | Наверх | Cообщить модератору

289. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Филимон Любопытный (?), 03-Дек-21, 19:40 
Спасибо за разъяснения. В знак благодарности обещаю не угорать над Рустом две следующие новости. Есть ещё маленький вопрос: я правильно понимаю, что

const _: () = assert!(std::mem::size_of::<u64>() == 8);

это эквивалент

static_assert(sizeof(uint64_t) == 8);


???

Ответить | Правка | Наверх | Cообщить модератору

290. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 19:48 
std::mem легко можно убрать из этого выражения, если вы на громоздкость намекаете, задействуя use. Например:

use std::mem::size_of;

"const _:() =" тоже по сути не сильно нужен. Можно без него обойтись.

в итоге останется:

assert!(size_of::<u64>() == 8);

Сойдёт?

Ответить | Правка | Наверх | Cообщить модератору

293. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 20:03 
Восклицательный знак в assert!() означает, что мы используем макрос. Так проще отличать от других функций.
Ответить | Правка | Наверх | Cообщить модератору

322. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 22:09 
Восклицательный знак - это что-то от эмо-культуры. Упасть на пол и стенать рыданиями. Или рыдать стенаниями.
Ответить | Правка | Наверх | Cообщить модератору

331. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 22:37 
>> !(a != 0)
> Восклицательный знак - это что-то от эмо-культуры. Упасть на пол и стенать
> рыданиями. Или рыдать стенаниями.

Паскалист, не пались ...

Ответить | Правка | Наверх | Cообщить модератору

332. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 22:41 
Ты просто не чувствуешь разницы.
В твоём выражении это просто логика.
А вот assert!() - это именно оно, бить ногами, ассертя хочуху.
Ответить | Правка | Наверх | Cообщить модератору

333. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 23:13 
Ну и кстати да, ты даже не ошибся, я вполне себе и в паскаль с дельфи умею.
Хотя это старое умение, почти забытое уже.
Ответить | Правка | К родителю #331 | Наверх | Cообщить модератору

291. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 19:52 
> обещаю не угорать над Рустом две следующие новости

Хочу заметить, что не всегда смех без причины понятен окружающим. Даже пословица есть на эту тему подходящая.

Ответить | Правка | К родителю #289 | Наверх | Cообщить модератору

295. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Филимон Тактичный (?), 03-Дек-21, 20:08 
Ну, в данном случае, значение слова "угорать" было ближе к "издеваться", но я не хотел вас задеть (ибо Куверти не выдержал и куда-то пропал) и в последний момент заменил.

Я не намекал на громоздкость. Я честно пытаюсь понять зачем вы пишите длинно и непонятно там где уже можно писать понятно и лаконично. Просто для себя. Из любопытства. Так иногда бывает, когда видишь хрень лютую и непонятную настолько, что начинаешь думать, что пропустил что-то фундаментальное. Больше нет вопросов. Спасибо за ответы.

Ответить | Правка | Наверх | Cообщить модератору

298. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 20:16 
Да, пожалуйста, задевайте на здоровье.  Чем бы дитя не тешилось, как говорится. ;)

Я - не фанат Раст. У меня вообще другая профессиональная область интересов. Просто не нравится атмосфера, в которой идёт обсуждение очередной новости об этом языке. Вот и вся причина, почему я некоторым могу со стороны показаться токсичным.

У любого языка есть недостатки. Это я готов признавать и признаю. Но давайте же обсуждать что-либо КОНСТРУКТИВНО. Вот как вы, например. Вам что-то непонятно, вы задали вопрос. Я, как смог, ответил. Но когда приходят люди, и начинают сходу писать "язык для идиотов", "не нужно" и так далее, то разговаривать с такими вежливо не получается.

Заранее благодарен за понимание.

Ответить | Правка | Наверх | Cообщить модератору

292. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от От.Со.Сишник (?), 03-Дек-21, 20:03 
> Есть ещё маленький вопрос: я правильно понимаю, что
> const _: () = assert!(std::mem::size_of::<u64>() == 8);
> это эквивалент
> static_assert(sizeof(uint64_t) == 8);
> ???

"Эквивалент" - это вот тут https://docs.rs/static_assertions/0.1.1/static_assertions/in...
Нюанс в том, что растовый assert/static_assert - реализуется макросами, а не в недрах компилятора.


use std::mem::*;
#[macro_export]
macro_rules! static_assert {
    ($condition:expr) => {
        const _: &() = &[()][1 - ($condition) as usize];
    }
}

static_assert!(size_of::<usize>() == 8);
static_assert!(size_of::<*const u8>() == 8);
static_assert!(align_of::<*const u8>() >= align_of::<u128>());
static_assert!(5>3);

Ответить | Правка | К родителю #289 | Наверх | Cообщить модератору

324. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 22:10 
> const _: &() = &[()]

И вот тут я поломался, несите следующего.

Ответить | Правка | Наверх | Cообщить модератору

325. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Онаним (?), 03-Дек-21, 22:10 
_: &() - это водолазу шланг перевязали
Ответить | Правка | Наверх | Cообщить модератору

328. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 22:12 
А &[()] - это водолаз, когда перевязанный шланг сохранялся слишком долго
Ответить | Правка | Наверх | Cообщить модератору

394. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Sem (??), 05-Дек-21, 20:33 
Поздравляю, вы начали понимать раст )
Ответить | Правка | К родителю #325 | Наверх | Cообщить модератору

346. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Cucumber (?), 04-Дек-21, 11:20 
const _: &() — объявляем константу без имени, тип которой ссылка на ничего.

[()] — создаем массив из одного ничего.

[1 - expr as usize] — берем оттуда элемент номер 1 - (подставляемое в макрос выражение, которое преобразуется в число).

&… — берем ссылку на этот элемент.

Ответить | Правка | К родителю #324 | Наверх | Cообщить модератору

347. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Cucumber (?), 04-Дек-21, 11:23 
соответственно, когда результат вычисления поставляемого выражения не true или 1, то мы пытемся взять элемент за границами массива из одного элемента и программа падает.
Ответить | Правка | Наверх | Cообщить модератору

352. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от n00by (ok), 04-Дек-21, 11:48 
> создаем массив из одного ничего.

В Средние века вот за такое и сжигали.

Ответить | Правка | К родителю #346 | Наверх | Cообщить модератору

403. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от freecoderemail (ok), 08-Дек-21, 13:49 
В этом есть смысл, так как "ничто" ничего не занимает в памяти, соответственно и массив из "ничего" ничто не займет.

Ответить | Правка | Наверх | Cообщить модератору

406. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от n00by (ok), 08-Дек-21, 17:01 
Да я про костёр не шутил. Сатана - это тот, кого "нет".
Ответить | Правка | Наверх | Cообщить модератору

296. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Ordu (ok), 03-Дек-21, 20:09 
> В знак благодарности обещаю не угорать над Рустом две следующие новости.

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

Ответить | Правка | К родителю #289 | Наверх | Cообщить модератору

297. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Ordu (ok), 03-Дек-21, 20:14 
> Есть ещё маленький вопрос: я правильно понимаю, что
> const _: () = assert!(std::mem::size_of::<u64>() == 8);
> это эквивалент
> static_assert(sizeof(uint64_t) == 8);

Нет. Результат assert'а в первом случае сохраняется в переменную. В _const_ переменную. То есть assert! должен отработать во время компиляции, а не в рантайме. И обломаться если что должна компиляция, а не рантайм.

Ответить | Правка | К родителю #289 | Наверх | Cообщить модератору

299. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Филимон Тактичный (?), 03-Дек-21, 20:22 
Т.е. это извращение (простите хак) только для того чтобы assert сработал на стадии компиляции ?!?!? Ох как необдуманно я пообещал Прохожему!


Ответить | Правка | Наверх | Cообщить модератору

301. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 20:28 
Вам всё-таки нужно что? Протестировать программу или сохранить результат теста в константе?

И что здесь необдуманного, не могли бы вы прояснить?

Ответить | Правка | Наверх | Cообщить модератору

306. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Филимон Непонятливый (?), 03-Дек-21, 20:42 
Я не понял зачем сохранять в константе. Зачем пишется сохранение того, что не будет использовано и не может быть использовано. Ведь смысл вызвать прекращение компиляции, если не соблюдаются необходимые условия.


Ответить | Правка | Наверх | Cообщить модератору

308. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 20:57 
Вам, если действительно интересно, лучше ознакомиться с главой 11 популярной (в узких кругах) книженции The Rust Programming Language. А потом по доке пошерстить немного.

В данной новости просто абстрактный пример был приведен. Зачем он - я не знаю, с такими случаями не сталкивался (однако, следует признать, мой опыт ограничен). Может для цепочки тестов. Как можно было проще -  ответил ранее.

Если вы запускаете "cargo test" на юнит-тестах - получите или ok, если тест пройден, или fail - в противном случае. То, что вы хотели?

Компилятор же за логикой приложения следить не может (и вряд ли должен). Это область ответственности программиста.

Ответить | Правка | Наверх | Cообщить модератору

327. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 03-Дек-21, 22:11 
Честно говоря, круги слишком узкие, чтобы влезать.
И слишком громкие, чтобы просто пройти мимо.
Ответить | Правка | Наверх | Cообщить модератору

372. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноньимъ (ok), 05-Дек-21, 00:04 
Используйте лубрикант на силиконовой основе.
Ответить | Правка | Наверх | Cообщить модератору

307. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Ordu (ok), 03-Дек-21, 20:50 
> Вам всё-таки нужно что? Протестировать программу или сохранить результат теста в константе?

В данном случае, нужно обломаться на этапе компиляции, если размер типа не соответствует. Это может быть полезно, например, на границах с внешним миром, когда ты описываешь типы, бинарно соответствующие тому, что ты читаешь из сокета. У тебя в спецификации написано, что размер записи 24 байта, а описываешь ты эту запись поле за полем, указывая размер для каждого, как проверить, что ты не ошибся в описании ни одного из полей?

Это можно тестами проверять, но... эмм... А если у меня функция:

fn read_24_bytes_into_struc<T>(dst: &mut T) {
    // как ты здесь в компайл-тайме убедишься, что size_of::<T>() равен 24 байтам?
    // а тут надо проверить, потому что дальше пойдёт unsafe код, который сможет, если что, записать за границу выделенного буфера
    // понятно, что можно проверить в рантайме, но _зачем_ выносить в рантайм проверку, которую можно сделать в компайл тайме?
}

В C это делается как-то так:

#if sizeof(typeof(*dst)) != 24
#error "Go check sizes of your structs, moron"
#endif

Точнее делалось бы, если бы C умел бы в параметризацию по типу. Как это делается в C++, мы не знаем, не интересовались ни разу. Возможно, так же как в C.

> И что здесь необдуманного, не могли бы вы прояснить?

Нет, не могли бы. Мы не понимаем, что здесь необдуманного. Всё продумано отлично.

Ответить | Правка | К родителю #301 | Наверх | Cообщить модератору

309. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 20:58 
Я не вам задавал вопросы. :) Филимону.
Ответить | Правка | Наверх | Cообщить модератору

310. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Ordu (ok), 03-Дек-21, 21:01 
> Я не вам задавал вопросы. :) Филимону.

А, сори. Я запутался в ответах.

Ответить | Правка | Наверх | Cообщить модератору

311. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 21:02 
Но спасибо, что ответили.
Ответить | Правка | К родителю #309 | Наверх | Cообщить модератору

314. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Филимон Непонятливый (?), 03-Дек-21, 21:21 
Пятница. Вечер.. Наверное поэтому мы не понимаем друг друга.

Что в С, что в C++ облом на стадии компиляции организовывается через static_assert()

Я знаю зачем это нужно на практике.

Размер типа по указателю это банальный sizeof(*ptr), если ptr не на void

я НЕ понимаю зачем в Русте сохранение при ассерте в переменную. Вернее, понимаю это как хак над assert, который работает в рантайме. А, если сохранять в const, то сработает во время компиляции.

И если я это правильно понял, то это ппц. Я бы мог написать пост с объяснением почему, но он слишком длинный для пятницы. Но если кратко и непонятно: то так убивается дофаминовая система и человек идёт работать охранником.


Необдуманно я пообещал Прохожему не угорать на Рустом. Забейте. Это мой искромётный юмор

Ответить | Правка | К родителю #307 | Наверх | Cообщить модератору

315. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Ordu (ok), 03-Дек-21, 21:52 
> Пятница. Вечер.. Наверное поэтому мы не понимаем друг друга.
> Что в С, что в C++ облом на стадии компиляции организовывается через
> static_assert()

А, да, я проглядел. Но это не растовый подход. Заводить второй assert, когда можно не заводить? Зачем?

> Размер типа по указателю это банальный sizeof(*ptr), если ptr не на void

А, ну да, можно проще.

> я НЕ понимаю зачем в Русте сохранение при ассерте в переменную. Вернее,
> понимаю это как хак над assert, который работает в рантайме. А,
> если сохранять в const, то сработает во время компиляции.

Это не хак. Если я пишу:

const KEYWORDS = {
    let mut keywords = HashMap::new();
    // populate keywords
    keywords
};

То блок кода будет выполнен в компайл-тайме, и хеш-табличка будет лежать на старте программы в _созданном_ виде в KEYWORDS. (Впрочем, конкретно этот пример, я подозреваю не сработает, потому что HashMap требует аллокаций памяти, и их статически выполнять не удастся, но есть phf, он может.).

Почему бы не использовать то же самое, для выполнение assert'а? Зачем заводить специальный assert, если язык и так позволяет вызывать существующий assert в компайл-тайме? Не, если _тебе_ это зачем-то надо, ты можешь написать свой собственный макрос static_assert, который будет работать так, как тебе хочется.

> Необдуманно я пообещал Прохожему не угорать на Рустом. Забейте. Это мой искромётный
> юмор

Слава богу. Я очень рад, что ты передумал. Мои усилия прошли не даром.

Ответить | Правка | Наверх | Cообщить модератору

381. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 05-Дек-21, 00:13 
> Зачем заводить специальный assert, если язык и так позволяет вызывать существующий assert в компайл-тайме

Вот в этом весь хруст.

Ответить | Правка | Наверх | Cообщить модератору

193. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (193), 03-Дек-21, 11:52 
Язык этот не для человека. Это убьёт все достоинства. Даже если быстрый, работает с памятью, параллельностями и проч. Увы, обречен.
Ответить | Правка | Наверх | Cообщить модератору

194. "Выпуск языка программирования Rust 1.57"  +3 +/
Сообщение от Сишник (?), 03-Дек-21, 12:00 
Отлично сказано! Снимаю перед вами шляпу из фольги.
Ответить | Правка | Наверх | Cообщить модератору

206. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от _hide_ (ok), 03-Дек-21, 12:46 
Да лучше не снимать.
Любой современный язык, в который встроены абстракции блоков кодов и добавлена жёсткая привязка и проверка владения на выделенные объекты памяти компилятором, будет иметь те же достоинства.
Да в С и Ко это сделать сложно (+20% ко времени компиляции очень сильно нивелируют достоинства), но нет ничего невозможного. Про однопроходные синтаксисы я вообще молчу.
Ответить | Правка | Наверх | Cообщить модератору

222. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Аноним (219), 03-Дек-21, 14:20 
Привыкнуть можно даже к перлу.
Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

234. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (53), 03-Дек-21, 15:40 
Перл хотя бы работает и активно используется.

Перл - 19-е место в рейтинге.
Раст - 26-е...

Ответить | Правка | Наверх | Cообщить модератору

239. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 15:45 
> Перл хотя бы работает и активно используется.

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

Ответить | Правка | Наверх | Cообщить модератору

351. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (53), 04-Дек-21, 11:48 
От 15-летнего раста тоже пора уже избавляться, уже устарел, пока создавали.
Ответить | Правка | Наверх | Cообщить модератору

404. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от freecoderemail (ok), 08-Дек-21, 15:30 
> От 15-летнего раста тоже пора уже избавляться, уже устарел, пока создавали.

Какая есть более новая замена Rust'у?

Ответить | Правка | Наверх | Cообщить модератору

238. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним12345 (?), 03-Дек-21, 15:44 
Можно
Но не нужно
Ответить | Правка | К родителю #222 | Наверх | Cообщить модератору

241. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 15:48 
> Язык этот не для человека.

А какой для человека, по-твоему?

Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

264. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (193), 03-Дек-21, 16:56 
Человеки выбрали питон. Мы его не любим, а человеки выбрали.
Ответить | Правка | Наверх | Cообщить модератору

283. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 19:16 
Ок. Это начало конструктивного обсуждения. А в какой области они его выбрали и почему его, а не, скажем, C++?
Ответить | Правка | Наверх | Cообщить модератору

396. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (396), 06-Дек-21, 11:04 
обучать личинкочеловеков "программированию" , кресты даже матерые сишники боятся, что говорить о неокрепших умах
Ответить | Правка | Наверх | Cообщить модератору

415. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от wyry (?), 27-Дек-21, 17:06 
Матёрые сишники не боятся кресты, скорее считают многую его функциональность идиотской и бесполезной. И кстати часто критике подвергаются "безопасные" средства управления памятью (что так любят в том же Rust!), т.к. Сишники как раз таки с памятью работать учатся В ПЕРВУЮ ОЧЕРЕДЬ. В C управление памятью уже давно перестало быть существенной проблемой даже в очень крупных проектах. И кстати раньше на C было программировать сложнее, а на других языках ВООБЩЕ НЕВОЗМОЖНО, почему? А потому что когда у вас скажем 4 мб ОЗУ, все "новомодные" инструменты управления памятью автоматически идут нахрен. Сегодня в многих даже встраиваемых системах есть гигабайты ОЗУ, Сишник сегодня может на коленке написать с нуля свой безопасный аллокатор скажем на 256 мб и его ПО будет в нём вариться с нулевой вероятностью внешней утечки и всё это вместо секса с шизоидным компилятором Rust.
Ответить | Правка | Наверх | Cообщить модератору

416. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от wyry (?), 27-Дек-21, 17:19 
кстати по причинам, указанным выше Rust облажался в том числе на микроконтроллерах, где "как бы" можно было бы развернуться, на деле оказалось что как писали на C и даже иногда на C++, так и пишут, а охренительно "безопасный" Rust не взлетел, хотя пиарился системным программированием. Пусть бы на Rust просто RTOS написали ПОЛЕЗНЫЙ, а не для proof of concept-системы. В теории можно и н Brainfuck написать, вопрос лишь в пользе. На сишке сейчас любой инженер за неделю..месяц рабочего времени напишет кастомную RTOS, которая будет идеально работать, это вообще не проблема сегодняшнего времени изобилия ресурсов.
Ответить | Правка | Наверх | Cообщить модератору

405. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от freecoderemail (ok), 08-Дек-21, 15:31 
> Человеки выбрали питон. Мы его не любим, а человеки выбрали.

И JavaScript. "Миллионы людей не могут ошибаться!"

Ответить | Правка | К родителю #264 | Наверх | Cообщить модератору

212. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Аноним (216), 03-Дек-21, 13:51 
Как там конференция RustCon  в Москве идет? По приборам она идёт прямо сейчас.  QwertyReg даже ливнул с опеннета так как отработал лаве.  
Ответить | Правка | Наверх | Cообщить модератору

232. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (53), 03-Дек-21, 15:38 
Да что-то как-то никак не слышно...
Ответить | Правка | Наверх | Cообщить модератору

287. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 03-Дек-21, 19:30 
>QwertyReg даже ливнул с опеннета так как отработал лаве.

Да не, он посрать вышел. Сейчас придёт.

Ответить | Правка | К родителю #212 | Наверх | Cообщить модератору

312. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (313), 03-Дек-21, 21:05 
Какой ппц в синтаксисе. Хотя сейчас всякий сахар почти во все языки добавляется.

Пора бы уже символы вводить и специальный font с набором (что-то подобное было, но не могу вспомнить, может анон подскажет?)

Ответить | Правка | Наверх | Cообщить модератору

330. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Онаним (?), 03-Дек-21, 22:31 
Не тот случай. Это не сахар, это гранитная крошка.
Я бы ещё китайских иероглифов напихал.
Ответить | Правка | Наверх | Cообщить модератору

339. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от menangen (?), 04-Дек-21, 00:41 
Щас и в питон наркоманию тоже вводят
Ответить | Правка | К родителю #312 | Наверх | Cообщить модератору

341. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Зз (?), 04-Дек-21, 02:04 
Я вот лично ничего против раста не имею. Даже готов закрыть глаза на то, что раст имеет против меня - так настырно лезет в мою жизнь, что похоже уже не скрыться. Намеревается уничтожить Си, который я УЖЕ знаю.

Однажды придёт к тебе вдохновлённый начальник и скажет "а может на расте попишем, вроде модно, молодежно". А пара коллег его поддержит. Тренинги проведут. Ты как раз ответишь - "да хоть на брейнфаке, дружище! Мы же хакеры или не хакеры в конце концов. А что проект писать в два раза дольше - это не мои проблемы, я свою зарплату получу."

Ну да, крутая новая парадигма, интересно. Но вот проблемы-то эти с памятью, а так ли они мешают?
На моём субъективном опыте большая часть времени уходит на курение манов очередной библиотеки или стандарта или сертификата или требований, вытаскивание щипцами из партнёров что же они хотят, исследование недокументированных но жизненно необходимых констант, срач с коллегами по поводу выбора фреймворка для юнит тестов или нюансов лицензий, попытки удалённо подключиться к какой-то упоротой железяке, угоды код-ревьюеру, установка и переустановка системы, починка CI, модификация системы сборки, комменты на опеннете!!

Статистически проблема с памятью возникает два раза в год и исправляется за пол дня. Собрал с санитайзером, поковырял гдб и готово. Это вообще самый простой тип бага, его даже искать не надо, он сам на тебя прыгает.

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

Ответить | Правка | Наверх | Cообщить модератору

355. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (-), 04-Дек-21, 13:58 
Рынок безопастников перегрет. Потому учи раст. Потом будешь еще что-то учить абы под ногами не мешался.
Ответить | Правка | Наверх | Cообщить модератору

357. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Анонн (?), 04-Дек-21, 17:09 
> а так ли они мешают?

Это ты так шутишь? Правда ведь?

Тут раз в неделю выходить новость о том, что очередные погромисты накосячили с памятью, поэтому твой сервак может выполнить произвольный код из-за кривого пакета или пдф-файла (привет мудилам их HP). Последняя была аж два дня назад - переполнение буфера в Mozilla NSS. И она там минимум с 2012 (а то и с 2003). И там чего-то только не было - и Coverity, санитайзеры, и фаззи-тестинг. И все равно они смогли нафакапить и оно жило в коде годами.

А потом оказывается что у тебя 1млрд уязвимых андроид телефонов или ботнет из 100500 китайских вебкамер, которые никогда не получат обновлений.

Ответить | Правка | К родителю #341 | Наверх | Cообщить модератору

361. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 04-Дек-21, 21:55 
Раскажи про утечки памяти в ОС Редос.
Ответить | Правка | Наверх | Cообщить модератору

363. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 04-Дек-21, 22:28 
> Раскажи про утечки памяти в ОС Редос.

Ну давай, расскажи, что там за "утечки".

Ответить | Правка | Наверх | Cообщить модератору

376. "Выпуск языка программирования Rust 1.57"  +3 +/
Сообщение от Анонн (?), 05-Дек-21, 00:09 
1. Память в редоксе "текла" потому что модуль управления памятью не был написан (она не освобождалась).
2. Утечка памяти - это не та ошибка, которая получит рут и сольет твои данные налево, максимум - denial of servive.

Встречный вопрос - почему текло ядро https://bugzilla.redhat.com/show_bug.cgi?id=1679972, оно же написано на божественной сишечке лучшими погромистами в мире!

Ответить | Правка | К родителю #361 | Наверх | Cообщить модератору

362. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Онаним (?), 04-Дек-21, 22:14 
А вот если бы они писали на хрусте...
Никаких принтеров и мозиллынсс бы не было. Был бы один сплошной хеллоуворлд.
Ответить | Правка | К родителю #357 | Наверх | Cообщить модератору

373. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Анонн (?), 05-Дек-21, 00:04 
Прекрасно, допустим раст плохое решение этой проблемы, предположим для этого не подходит.
Назовите другое решение, которое справится с таким потоком говнокода и как следствие уязвимостями.
Только что-то более-менее реалистичное, а не "давайте перестанем писать код плохо и начнем писать код хорошо".
Ответить | Правка | Наверх | Cообщить модератору

374. "Выпуск языка программирования Rust 1.57"  –2 +/
Сообщение от Онаним (?), 05-Дек-21, 00:08 
Хорошая попытка манипуляции, но нет.

Могу посоветовать только не писать говнокод.

Ответить | Правка | Наверх | Cообщить модератору

375. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Онаним (?), 05-Дек-21, 00:09 
И да, если для вас не писать говнокод - это не "что-то более-менее реалистичное", у меня для вас плохие новости.
Ответить | Правка | К родителю #373 | Наверх | Cообщить модератору

377. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Анонн (?), 05-Дек-21, 00:10 
Так в том то и дело что говнокод пишу не я, а си программеры. Sad but true.
Ответить | Правка | К родителю #373 | Наверх | Cообщить модератору

380. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Онаним (?), 05-Дек-21, 00:12 
Не, ну то, что не пишешь - никто не сомневался.
Я ж не зря посоветовал "не писать говнокод". Можно вообще ничего не писать, думаю, в данном конкретном случае будет лучше.
Ответить | Правка | Наверх | Cообщить модератору

364. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (364), 04-Дек-21, 22:28 
> Но вот проблемы-то эти с памятью, а так ли они мешают?
> Полагаю если лезть на рынок безопасников - там раста недостаточно, там фаззеры нужны.

Сам спросил, сам и ответил.

Фаззеры, конечно, нужны. Вот только это очень дорогое и ресурсоёмкое удовольствие. Большие программы полностью профаззить нереально.

Поэтому ограничиваются наиболее ответственными модулями.

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

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

Времена, когда программа должна "просто работать" скоро закончатся.

Ответить | Правка | К родителю #341 | Наверх | Cообщить модератору

365. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Аноним (53), 04-Дек-21, 23:46 
> Времена, когда программа должна "просто работать" скоро закончатся.

Ну да, на расте проги будут просто не работать.

Ответить | Правка | Наверх | Cообщить модератору

378. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Онаним (?), 05-Дек-21, 00:10 
Хуже. Их просто не будет.
А там, где таки умудряться налепить, будут обёртки к сишным библиотекам и ансейфы вдоль и поперёк.
Потому что ущербно by design. Язык не для того, чтобы ограничивать возможности, ага.
Ответить | Правка | Наверх | Cообщить модератору

379. "Выпуск языка программирования Rust 1.57"  –1 +/
Сообщение от Онаним (?), 05-Дек-21, 00:11 
// умудрятся
Ответить | Правка | Наверх | Cообщить модератору

384. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Зз (?), 05-Дек-21, 03:16 
> Времена, когда программа должна "просто работать" скоро закончатся.

К сожалению если говорить не теоретически, люди только и бьются годами за то чтобы программа "просто работала", да чтобы она вообще была.
Все эти уязвимости в Мазиле находят потому что их ищут. Кстати они-то раст и запустили, и много лет назад. Почему не переписали на нём браузер, зря создавали что ли? Предполагаю потому что легко сказать

Ответить | Правка | К родителю #364 | Наверх | Cообщить модератору

386. Скрыто модератором  –2 +/
Сообщение от Аноним (-), 05-Дек-21, 08:24 
Ответить | Правка | Наверх | Cообщить модератору

388. Скрыто модератором  –2 +/
Сообщение от Онаним (?), 05-Дек-21, 09:07 
Ответить | Правка | Наверх | Cообщить модератору

389. Скрыто модератором  –1 +/
Сообщение от Аноним (389), 05-Дек-21, 10:13 
Ответить | Правка | Наверх | Cообщить модератору

391. Скрыто модератором  –1 +/
Сообщение от Онаним (?), 05-Дек-21, 10:43 
Ответить | Правка | Наверх | Cообщить модератору

387. Скрыто модератором  +/
Сообщение от Аноним (-), 05-Дек-21, 08:30 
Ответить | Правка | Наверх | Cообщить модератору

392. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 05-Дек-21, 13:55 
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру