The OpenNET Project / Index page

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

Выпуск языка программирования Rust 1.46

27.08.2020 20:15

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

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

Основные новшества:

  • Расширены возможности функций, определённых с использованием выражения "const fn", которые могут вызываться не только как обычные функции, но и использоваться в любом контексте вместо констант. Данные функции вычисляются на этапе компиляции, а не в ходе выполнения, поэтому на них накладываются определённые ограничения, такие как возможность чтения только из констант.

    В новом выпуске убран запрет на применение в подобных функциях булевых операторов ("&&" и "||"), разрешено использование конструкций "if", "if let", "match", "while", "while let" и "loop", а также предоставлена возможность преобразования в срезы (slice, динамические массивы) при помощи выражения "&[T]". Применение данных возможностей в функциях "const fn" позволяет вынести некоторые ресурсоёмкие операции на стадию компиляции. Например, реализация "const-sha1" даёт возможность вычислять хэши SHA-1 во время компиляции, что приводит к ускорению работы WinRT привязок для Rust почти в 40 раз.

  • Для повышения информативности сообщений об ошибках стабилизирована поддержка атрибута "#[track_caller]", полезного для функций, подобных unwrap, в которых не исключается возникновение сбоев (panic) при некорректном использовании типов. Указанный атрибут будет использован обработчиком panic для вывода местоположения вызывающего в сообщении об ошибке.
  • Признак "const", определяющий возможность использования в любом контексте вместо констант, применён в методе std::mem::forget.
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы Option::zip и vec::Drain::as_slice.
  • В пакетный менеджер Сargo добавлена поддержка новых переменных окружения, устанавливамых при компиляции пакета: CARGO_BIN_NAME (имя результирующего исполняемого файла), CARGO_CRATE_NAME (имя пакета), CARGO_PKG_LICENSE (лицензия, указанная в манифесте), CARGO_PKG_LICENSE_FILE (путь к файлу с лицензией).


  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: Разработчики Chrome экспериментируют с языком программирования Rust
  3. OpenNews: Анонсировано создание независимой от Mozilla организации Rust Foundation
  4. OpenNews: Выпуск языка программирования Rust 1.45
  5. OpenNews: Предложение по обсуждению вопроса добавления в ядро Linux средств для разработки на языке Rust
  6. OpenNews: Microsoft развивает новый язык программирования на основе Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/53610-rust
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (216) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, Ordu (ok), 22:00, 27/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    > Для повышения информативности сообщений об ошибках стабилизирована поддержка атрибута "#[track_caller]", полезного для функций, подобных unwrap, в которых не исключается возникновение сбоев (panic) при некорректном использовании типов. Указанный атрибут будет использован обработчиком panic для вывода местоположения вызывающего в сообщении об ошибке.

    Полезная штука. А то обработка паники накидывает несколько стековых фреймов, поверх того места, где panic! был вызван, при этом, часто мне не интересно где был вызван panic!, мне интересно где был сделан unwrap, приведший к панике, и приходится этот бектрейс глазами сканировать, выискивая нужное место. А тут можно сразу пропустить кучу неинтересных стековых фреймов и начать втыкать глазами туда, куда собственно нужно.

     
  • 1.1, Урри (?), 21:49, 27/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    А вот и констэкспрешшены из плюсов подвезли. Глядишь, лет через 30 будет новый нескучный С++.

    Зачем, только, если уже есть один...

     
     
  • 2.3, Аноним (3), 21:54, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    У Раста нет ниши, они даже нишу языков для браузерных движков занять не смогли.
     
     
  • 3.19, Аноним (19), 22:52, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ниша - замена легаси вроде C/C++ + веб-разработка. Отличные ниши.
     
     
  • 4.39, Аноним (39), 23:59, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Но ведь си это не легаси. Это модерн. Сказал я, только вчера выяснял почему в программе происходит какая-то дичь, оказалось на этой строчке int ret=execvp(args->argv[0], args->argv); argv не был инициализирован. Упс. Да, конечно, санитизеры без проблем нашли это в рантайме, но компилятору было норм. Копипаста до добра не доводит. Там ещё с фоновым тредом развлекуха была. Помог бы тут руст? Ну, вряд ли. Смысл как раз в том, чтобы иметь минимальный оверхэд в рантайме.
     
     
  • 5.41, Аноним (39), 00:17, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ps. но я что-то не понял чем санитизер сейчас не доволен, кто-нибудь может пояснить мне? 223 ему нравится, а меньше нет. У меня там стояло 16 и больше 12 быть не может.




    void get_vals(char **buf,unsigned *var)
    {
        char varbuf[223];
        char *varbufp=varbuf;
        unsigned char vari=0;
        for(char *bufp=*buf;*bufp!='\0';bufp++) {
            if (*bufp==' '||*bufp=='\n') {
                if (varbufp==varbuf) continue;
                else {
                    *varbufp='\0';
                    var[vari++]=atoi(varbuf);
                    varbufp=varbuf;
                    continue;
                }
            }
            *varbufp++=*bufp;
        }
        *varbufp='\0';
    }


     
     
  • 6.45, topin89 (ok), 00:34, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ошибка здесь скорее всего
    var[vari++]=atoi(varbuf);
    вместо
    var[vari++]=atoi(varbufp);

    Думаю, не ругается, потому что при таком размере стека его не пробивает.

    Кстати, почему передаётся **buf, но используем только первая строка? Думаю, будет лучше

    void get_vals(char * const buf,unsigned *var)

    EDIT: Наглядный пример, что санитайзеры не всегда дают ответ, на какой конкретно строчке проблема. Как и то, что уж лучше с ними, чем совсем без них.

     
     
  • 7.48, Аноним (39), 00:49, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там buf байты на хипе (да, теоретически может быть переполнение, там их 256, но практически этого не случится никогда и 16 байтов на одно значение за глаза -- там UINT_MAX ограничено), var инты на стеке. Я так и не понял, как передать инты на хипе, выдаёт note: expected 'unsigned int *' but argument is of type 'unsigned int (*)[3]', но на стеке вполне работает.

    varbufp вместо varbuf выдаёт одни нули, а не значения, это явно не то что мне нужно.

     
     
  • 8.52, topin89 (ok), 01:09, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А какая разница, на чём buf Да хоть из общей памяти, зачем передавать указатель... текст свёрнут, показать
     
     
  • 9.55, Аноним (39), 01:21, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не-не, там всё в порядке code char fbuf malloc 256 rlen read fd,fbuf,256... текст свёрнут, показать
     
     
  • 10.57, Аноним (39), 01:32, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    code get_vals fbuf,varvals code Если точнее ... текст свёрнут, показать
     
     
  • 11.59, topin89 (ok), 01:43, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ответил чуть ниже И тогда ты должен изменить тип первого аргумента Сейчас пояс... текст свёрнут, показать
     
     
  • 12.65, Аноним (39), 02:12, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    это переданный в единицу трансляции указатель на выделенные в хипе байты, что та... текст свёрнут, показать
     
  • 10.58, topin89 (ok), 01:34, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ух Надеюсь, ты сейчас в процессе обучения Тогда ошибки -- это нормально, а руг... большой текст свёрнут, показать
     
     
  • 11.60, Аноним (39), 01:44, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В чём твоя проблема Последний символ факт что 0 потому что я пишу code if -... текст свёрнут, показать
     
     
  • 12.61, topin89 (ok), 01:47, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хех Ладно, троллинг засчитан, спокойной ночи ... текст свёрнут, показать
     
     
  • 13.64, Аноним (39), 02:05, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну нет Этот код успешно работает в продакшене больше года, и если бы с ним были... текст свёрнут, показать
     
     
  • 14.67, Аноним (39), 03:13, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    После уменьшения malloc и увеличения varbuf компилятор успокоился и гцц и шланг... текст свёрнут, показать
     
  • 11.62, Аноним (39), 02:03, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не знаю, я передавал указатель на указатель на байты, чтобы отправить в функц... текст свёрнут, показать
     
  • 11.127, Ordu (ok), 13:16, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Можно Глянь include stdio h include stdlib h void fill_array int arr 3 ... текст свёрнут, показать
     
  • 6.46, None (??), 00:38, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Эммм... а что, готовой функции распарсить не нашлось? тот же scanf

    Ну и тут санитарзер особо не нужен - из исходного buf идёт копирование без каких-либо проверок, вписались в выделенный размер или нет. Так на C нельзя писать. Что вы выиграете? Некую производительность ценой порчи стека в непредсказуемой ситуации?

     
     
  • 7.49, Аноним (39), 00:51, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В непредсказуемой ситуации мы уже потеряли ядро, это единственный вариант. Или космические лучи, я не знаю.
     
  • 6.69, Webmonkey (?), 03:55, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Какой п****ц. Кто-то реально так пишет, или это толстый траллинг был?
     
     
  • 7.84, Онаним (?), 08:41, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вы удивитесь, но куча народу пишет именно так. Даже если в конкретном случае это троллинг.
    А потом мы удивляемся - "ачигосишечкатакаядырявая". Это не сишечка дырявая, это головы дырявые.
     
     
  • 8.95, Tita_M (ok), 10:04, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Шоко т е Си ни в чём не виноват ... текст свёрнут, показать
     
  • 6.91, Ordu (ok), 09:20, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А можно поинтересоваться для повышения образованности? Что за схема именования переменных? У меня эти имена вообще в голове не укладываются, я не могу читать код, потому что они путаются у меня в голове. Не вижу схемы, не вижу смысла => они все одинаковы для меня. Мне кажется, что рандомно-сгенерированные наборы букв были бы читаемее.

    var, buf, p, и всё возможные комбинации из трёх. Зачем? В латинском алфавите 26 букв, можно было бы под каждую переменную выделить свою букву, и было бы читаемее чем это. И, кстати, короче.

     
     
  • 7.163, Аноним (39), 21:06, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Суффикс p использован для указателя, вполне читаемое, если видеть, что varbuf это максимум 1 инт в виде текста (до 10 байт по-моему), buf это весь текст прочитанный из файла, а var и vari это искомые значения в виде интов и текущий индекс в массиве. Мне так удобно. Я бы мне смог воспринимать это в виде i j k l m.
     
  • 6.99, охохо (?), 11:14, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    strtok_r + atoi ?
     
     
  • 7.160, Аноним (39), 20:49, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А вот это правильный ответ! В данном случае оверкил, мне кажется, но этот вариант намного лучше альтернатив.
     
  • 6.128, имя_ (?), 13:30, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >++=

    руки бы тебе оторвать за такое

     
     
  • 7.161, Аноним (39), 20:50, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>++=
    > руки бы тебе оторвать за такое

    Себе лучше оторви что-нибудь. Небось и от готу бегаешь, как от огня.

     
  • 6.132, Ordu (ok), 14:00, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Задумка этого кода в том, чтобы прочитать три инта из строчки Инты разделены пр... большой текст свёрнут, показать
     
     
  • 7.152, Ололо (?), 19:35, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > while(isspace(*p) && *p != '\0')
    > while(isdigit(*p) && *p != '\0')

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

     
     
  • 8.179, Ordu (ok), 00:02, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, ну да Как же я мог ... текст свёрнут, показать
     
  • 7.159, Аноним (39), 20:48, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, да, спасибо Одна строка, три инта разделённых пробелами, завершается новой ... большой текст свёрнут, показать
     
     
  • 8.177, Ordu (ok), 00:00, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты сначала напиши, померь скорость, а потом думай где тормозит Если ctype h буд... большой текст свёрнут, показать
     
     
  • 9.180, Ололо (?), 00:51, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ахаха, прекрати С таким апломбом рассуждать об убогих функциях библиотеки C и... текст свёрнут, показать
     
     
  • 10.191, Ordu (ok), 09:45, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не, мне больше нравится накачивать твоё ЧСВ сверх меры ... текст свёрнут, показать
     
  • 9.181, Аноним (39), 00:54, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Их уже есть у меня, не в этом дело, мне вообще не нужны эти вычисления совершенн... текст свёрнут, показать
     
     
  • 10.190, Ordu (ok), 09:45, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Какие вычисления тебе не нужны Проверка на пробел не нужна В твоём коде эта пр... большой текст свёрнут, показать
     
  • 5.54, Аноним (19), 01:20, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Руст скорее всего не дал бы это использовать и ругнулся бы
    И Руст как раз минимален, поскольку тоже zero cost abstraction
     
  • 5.81, Lex (??), 08:11, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ууу. Обращение к элементу массива без проверки его наличия и длины..

    Нынче за это нередко даже в JS карают

     
     
  • 6.164, Аноним (39), 21:09, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так прелесть си как раз в том, что от таких проверок можно отказаться, если они совершенно точно не нужны никогда. На постоянные проверки уходит не мало ресурсов.
     
     
  • 7.187, Lex (??), 07:47, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Так прелесть си как раз в том, что от таких проверок можно
    > отказаться, если они совершенно точно не нужны никогда. На постоянные проверки
    > уходит не мало ресурсов.

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

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

     
     
  • 8.204, Аноним (39), 21:21, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У веб-кодеров свои представления о много , это да Процессоры слишком быстрые с... текст свёрнут, показать
     
     
  • 9.218, Lex (??), 09:20, 30/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Частоиспользуемые методы что на стороне браузера, что на стороне гибридных прило... большой текст свёрнут, показать
     
  • 4.90, Аноним (90), 09:18, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лол, так почему он её так и не занял?
     
  • 4.140, СССР (?), 15:37, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С++ развиватсяв ногу со временем, почему это легаси? а вот наоборот легаси это некогда современный взгляд на через чур абстрауцию работы с данными. это легаси.
     
     
  • 5.196, Аноним (19), 17:15, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Настолько развивается, что до сих пор нет нормальной системы сборки без позорного синтаксиса и официального пакетного менеджера
    Даже модулей нигде нет и не будет ещё лет 10
    C++ похож на бабулю, которая пытается одеваться в молодёжные шмотки, но в итоге косплеит колбасу
    Без обид, сам пишу на плюсах достаточный срок, и до сих пор на них остаюсь из-за Qt
     
     
  • 6.215, СССР (?), 00:11, 30/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    без официального пакетного менеджера - а что мешает либу так прикрутить? выбрал либу, скачал нужную версию. Вы хотите программу как сайт писать, в шапке указать 100500 ссылок на js и css ?

    Модули , хз в QT имеется.

    С++ на бабулю? )) только вот работает эта бауля как юнец - спортсмен, а тот же питон как дед пирдет. но это ладно.

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

     
  • 6.240, Аноним (240), 17:09, 04/09/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Даже модулей нигде нет и не будет ещё лет 10

    В C++20 завезли.

     
  • 2.70, Аноним (70), 04:17, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Затем, что современный С++ - это лютый пипец на 2000 страниц стандарта. Такое ощущение, что туда пихают все, что приходит комитету в голову. Выучить это нереально и уж конечно на все 100% этот монстр использоваться не будет. Ну так и нафига он нужен, если есть более компактные и удобные языки?
     
     
  • 3.83, asd (??), 08:38, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Аминь.
     
  • 3.108, Аноним (-), 11:50, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты так пишешь, будто современный Ржавч лучше. Стандарта нет, но для языка, который кичится отсутствием UB, это только показатель его недоделанности. Синтаксис страшнее самых страшных плюсовых шаблонов, а поддержка ООП при этом даже не заявлена.
     
     
  • 4.109, Аноним (70), 11:55, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да и нафиг не надо ООП, я в нем разочаровался, когда попробовал ФП в лице Erlang. Синтаксис нормальный, страшно только поначалу. А то что стандарта нет... Видели мы эти стандарты, 30 страниц стоит 11 килорублей, в общий доступ никто не выложил. Спрашивается, на кой х мне этот стандарт, если я его прочитать не могу.
     
     
  • 5.112, Аноним (240), 12:10, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, сделать софтинку, типа какого CAD'а, без ООП - мазохизм.
     
     
  • 6.118, Аноним (70), 12:29, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И как же ж их делали до появления ООП... Наверно, мазохистами все были.
     
     
  • 7.122, Аноним (240), 12:35, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В те времена они ещё были такие, что умещались в 640 кбайт или меньше. И да, мазохисты, на разработку тратили гораздо больше человекочасов.
     
     
  • 8.154, microsoft (?), 20:06, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И при этом софт был стабильнее и шелковистее... текст свёрнут, показать
     
  • 6.119, Аноним (70), 12:32, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И то, что есть в C++, Java и других монстрах - не ООП в том виде, в каком оно задумывалось. В этом смысле как раз Erlang со своей моделью акторов ближе к оригинальной идее ООП.
     
     
  • 7.123, Аноним (240), 12:37, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть, но Erlang, мягко говоря, не взлетел дальше телекоммуникаций.
     
     
  • 8.124, Аноним (240), 12:39, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И, вроде, считается, что самое правильное ООП было в Smalltalk ... текст свёрнут, показать
     
  • 8.125, Аноним (70), 12:40, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Расскажите это Facebook, чьи сервера WhatsApp поголовно на нем Или тем, кто исп... текст свёрнут, показать
     
     
  • 9.129, имя_ (?), 13:34, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    эрланг хорош, но ведь фейсбук не выбирал его, это выбор изначального разработчик... текст свёрнут, показать
     
  • 9.130, Аноним (240), 13:39, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так я же и написал, кроме телекоммуникаций Что не так-то ... текст свёрнут, показать
     
     
  • 10.133, Аноним (70), 14:08, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я привел примеры не из сферы телекома, где есть Erlang ... текст свёрнут, показать
     
  • 10.134, Аноним (70), 14:12, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Еще примеры, и там тоже не только телеком https www erlang-solutions com blog... текст свёрнут, показать
     
  • 3.188, asdasd (?), 08:46, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так, блин, и не используйте что вам не надо. Туда добавляют то что не хватало. В C++14 дали возможность в lambda'ы прокидывать значения, как в std::bind, make_unique и т.д. В C++17 fold expression что очень многие вещи упрощает, плюс теже constexpr if, плюс инициализация в if'е.
     
     
  • 4.192, Аноним (192), 11:53, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так, блин, и не используйте что вам не надо.

    Вот я и не использую С++

     

     ....большая нить свёрнута, показать (67)

  • 1.2, Аноним (3), 21:52, 27/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –13 +/
    Всех программистов уже выгнали за то что не смогли нормальный язык сделать, а они все равно новые релизы это ненужно пилят.
     
     
  • 2.7, Аноним (7), 22:14, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Мне так нравится, что старым сишникам  от этого неприятно. Казалось бы ну пилят и пилят, но на опеннете каждый раз такая боль у комментаторов.
     
     
  • 3.8, аноним3 (?), 22:21, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    просто пользователи раста еще более помешанные паломники растоманства чем си. ну и их вечное хвастовство о превосходстве и безопасности раста, хотя если взять этот самый раст куда нибудь в системщину или похожие ниши он становится опаснее с++.)) вот и не любят их.
     
     
  • 4.25, Аноним (19), 23:04, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если пользователи чего-либо за бесплатно хвалят и тем более защищают нечто - это очень весомый довод в пользу этого нечто, не правда ли?
     
  • 4.42, topin89 (ok), 00:17, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Мне вот любопытно, те кто хейтят язык, они реально на С/C++ писали что-то сложнее, чем хелловорлд? И почему достаточное количество людей, которые писали -- не хейтят.

    У Раста есть проблемы, но они мало связаны с самим языком.

    Нет простой связи c C++, нельзя просто взять и сделать замену старым либам.
    Интерфейсы из коробки не умеют работать с нехваткой памяти, иногда это важно.
    Нет стабильного ABI в рамках платформ, нельзя распространять бинарные либы.
    Компилятор пока не такой крутой, как для C.
    Выстроить код так, чтобы оптимизация под SIMD была сама собой -- такая же магия, как и для плюсов.
    Наверняка есть другие реальные проблемы.

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

    Короче, мнение всех, кто не сможет сказать, чем он конкретно хуже C+± -- ничего не стоит.

     
     
  • 5.44, Аноним (44), 00:30, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >математически доказано, что весь безопасный код безопасен в работе с памятью, и что если с ней есть неуловимые проблемы, то искать их надо строго внутри unsafe

    Ага, как скажешь. Если в программе есть UB, то оно может проявиться где угодно. Неопределённому поведению плевать safe тут код или нет.

     
     
  • 6.47, topin89 (ok), 00:42, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>математически доказано, что весь безопасный код безопасен в работе с памятью, и что если с ней есть неуловимые проблемы, то искать их надо строго внутри unsafe
    > Ага, как скажешь. Если в программе есть UB, то оно может проявиться
    > где угодно. Неопределённому поведению плевать safe тут код или нет.

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

     
     
  • 7.165, Аноним (39), 21:44, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там только на прошлой неделе исправили уб с флоатами, какие унсафе? Компцерт больше доверия.
     
     
  • 8.172, topin89 (ok), 22:44, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да Исправили если речь идёт о сведении всех флоатов больше 255 0 к 255 u8, ... текст свёрнут, показать
     
  • 5.53, Аноним (19), 01:15, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Нет простой связи c C++

    С C достаточно простая. А с C++ мало у кого в целом есть простая связь из-за шаблонов, классов и этого всего

    > сделать замену старым либам

    На Расте даже замену либы C видел)
    Всё возможно, что совместимо с C

    > нельзя распространять бинарные либы

    Разве? У меня не было с этим проблем, включая на Андроиде (интеграция либы на расте в плюсовый Qt-проект)
    Можно примеры? Интересно чего стоит опасаться

    > Компилятор пока не такой крутой, как для C.

    LLVM и в Африке LLVM)
    (да, я понимаю, что речь не о том, но всё же)

     
     
  • 6.113, Аноним (240), 12:12, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    LLVM и в Африке не нужен.
    (да, я понимаю, что речь не о том, но всё же)
     
     
  • 7.126, Ordu (ok), 12:45, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > (да, я понимаю, что речь не о том, но всё же)

    "Но всё же" смолчать никак не можешь? Такая острая тема, так подгорает, что даже понимая оффтопичность её, молча пройти мимо никак не можешь?

     
     
  • 8.131, Аноним (240), 13:42, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А ты для чего упомянул ... текст свёрнут, показать
     
     
  • 9.136, Ordu (ok), 14:22, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что для меня больная тема -- это анонимы, которые не могут молчать Точне... текст свёрнут, показать
     
  • 6.173, topin89 (ok), 22:51, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У Julia есть вроде Про C я молчу, там просто Опять же, про C я молчу, там чёрт... большой текст свёрнут, показать
     
  • 5.63, deeaitch (ok), 02:04, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я писал и пишу. Большие диагностические вещи. Я пробовал элементарно перевести интереса ради на раст. Не то чтобы у меня не получилось. Но я не получил удовольствия от языка. В начале выглядит здорово и многообещающе. Но стоит разрастись проекту до хотябы 50-ти файлов и начинается ад.

    Нет инфраструктуры для раста. И не будет. Дальше микро веб сервисов и лабораторных он не пойдёт.

    Ну вставочки небольшие "типа" безопасные можно.

     
     
  • 6.96, topin89 (ok), 10:51, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    О, реальный опыт, это ценно Можешь рассказать, в чём именно был ад, что есть ил... большой текст свёрнут, показать
     
     
  • 7.183, deeaitch (ok), 03:40, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо Поделюсь Не тролинга ради, и не ради поливания грязью Только то через ... большой текст свёрнут, показать
     
     
  • 8.195, Аноним (195), 14:14, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    То есть это проблемы с инструментами и библиотеками - что ожидаемо, а не с самим... текст свёрнут, показать
     
     
  • 9.203, deeaitch (ok), 21:16, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я об этом и говорил, не с языком, с инструментами То что я называю инфрастр... текст свёрнут, показать
     
     
  • 10.206, topin89 (ok), 21:48, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Определённо будет ... текст свёрнут, показать
     
     
  • 11.217, deeaitch (ok), 07:54, 30/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ок, но тогда видно это уже будет не комментарий к новости о новом Rust ... текст свёрнут, показать
     
  • 8.205, topin89 (ok), 21:44, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вот Вот хейт Wфрустрация здорового человека Спасибо Итак, проблема инструмент... большой текст свёрнут, показать
     
     
  • 9.216, deeaitch (ok), 07:53, 30/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот emacs я пилю для себя, но коллегам emacs далеко не всем зайдёт, будет вре... большой текст свёрнут, показать
     
  • 6.104, DEV (?), 11:41, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >>В начале выглядит здорово и многообещающе. Но стоит разрастись проекту до хотябы 50-ти файлов и начинается ад.

    интересно послушать в чём заключается ад, можешь рассписать?

     
     
  • 7.184, deeaitch (ok), 03:47, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > интересно послушать в чём заключается ад, можешь рассписать?

    Чуть выше написал, копипастить уже не буду.


     
  • 5.76, Аноним (70), 04:32, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне вот любопытно, те кто хейтят язык, они реально на С/C++ писали что-то сложнее, чем хелловорлд?

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

     
  • 5.155, microsoft (?), 20:09, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дурачек, Линуса уже не спрашивали че он тпм хочет, просто взяли и запилили
     
  • 3.11, ObjectiveC Alive (?), 22:30, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 4.27, Аноним (19), 23:06, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
     
  • 5.35, аноним3 (?), 23:34, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 6.51, Аноним (19), 01:05, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 3.33, Аноним (33), 23:20, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так это никакие не старые сишники, а студенты с хеллоуворлдами
     
  • 2.77, Аноним (70), 04:36, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Интересное наблюдение. При том, что никто никого не выгнал, а перевели фактически в Rust Foundation, что как раз просто замечательно ибо зависимость от компании - ну такое себе. Go вон полностью зависим от Google и как Google захочет, так и будет развиваться. Захочет - закроет обратно, и миллионы вебмакак останутся без работы.
     
     
  • 3.92, Аноним (90), 09:24, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это такой же отстойник ненужных проектов как и Апач Фаундейшн. У Раст Фаундейшн даже инвестора нет, а на 250 программистов им надо не меньше 25 млн долларов в год. Которые им никто не даст.
     
     
  • 4.93, Аноним (70), 09:29, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    При том, что Растом активно интересуются Microsoft и Google (при всей моей нелюбви к ним), конечно, им никто не подаст.
     
     
  • 5.105, Аноним (105), 11:47, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Языку десятый год. И им только интересуются, но не используют. А все эти новости где один программист из Гугла затестил Раст сразу в среде растошкольников выливается в то что Гугл полным составом перешел на Раст.

    Никто на него не перешел и нигде не использует успокойтесь уже.

     
     
  • 6.110, Аноним (70), 11:59, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Детка, я спокоен как фугас. И школу закончил в далеком 2004. А то, что им интересуются (и не один программист), показывает только то, что язык наконец дорос до продакшена и что в традиционных языках интересующиеся разочаровались.
     
  • 6.111, Аноним (70), 12:03, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И собственно, меня мало волнует, кто и по какой причине им интересуется. Я не фанат ни мелкомягких ни корпорации зла - они уроды и лицемеры. Однако ж гугл интересуется им, а не кидается хромиум переписывать на своем Го.
    Лично я интересуюсь Растом, потому что он мне нравится. Точно также как нравятся Erlang и Lisp, которыми никто не интересуется, и нравится С, чьи мнимые фанаты под каждой новостью про Раст ссут кипятком от негодования.
     
  • 5.114, Аноним (240), 12:16, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Растом активно интересуются Microsoft

    У них свой Verona. Похожий, но не Rust.

     

     ....большая нить свёрнута, показать (39)

  • 1.5, Аноним (5), 22:03, 27/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    когда, интересно, тип f16 добавят в rust?
     
     
  • 2.6, Ordu (ok), 22:14, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А надо? Мне кажется, это что-то очень-очень специальное, не? Так ли это надо в языке, если можно сделать в библиотеке?
     
     
  • 3.9, Аноним (-), 22:24, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    есть сомнения, что, как минимум, в embedded это очень актуально; в игроделании тоже используется для экономии ресурсов
     
     
  • 4.15, Ordu (ok), 22:39, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я сомневаюсь насчёт embedded это нужна железная поддержка этих самых short floa... большой текст свёрнут, показать
     
     
  • 5.193, Аноним (193), 13:04, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > можно найти какие-то задачи, где этого будет достаточно, но я чёт как-то затрудняюсь предположить.

    Текстурные координаты, нормали и прочие значения, практически никогда не выходящие за пределы диапазона [-1, +1]. На стороне CPU что-то с ними считать незачем, а в шейдерах они автоматически расширяются до f32/f64 при более эффективном использовании памяти и кэшей за счёт вдвое меньшего исходного размера. Игроделы ради этой эффективности иногда и не так изворачиваются (например, для единичных векторов типа нормалей даже f16 избыточен — можно весь вектор упихать в 32 бита с отклонением менее 0.1°, сравнение разных способов упаковки единичных векторов есть в статье на http://jcgt.org/published/0003/02/01/). :)

     
  • 3.13, anonymous (??), 22:32, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В нейронных сетях используются
     
     
  • 4.16, Ordu (ok), 22:40, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > В нейронных сетях используются

    А, да, вот этим может помочь, точно. Чисел много, но хрен его знает сколько точности не нужно.

     
     
  • 5.36, Аноним (36), 23:40, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А есть аппаратные FPU, которые могут в такие вещественные числа?
     
     
  • 6.40, Аноним (-), 00:08, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В POWER10 есть аппаратные float16 и bfloat16
     
  • 6.43, Anonymous7879 (?), 00:24, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    The Arm architecture provides high-performance and high-efficiency hardware support for floating-point operations in half-, single-, and double-precision arithmetic.
     
  • 5.85, Онаним (?), 08:44, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чисел много, и что там в этих числах - безразлично. Всё равно шум на выходе.
     
     
  • 6.115, Аноним (240), 12:21, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На выходе булева переменная - узнал/не_узнал (фейс Онанима).
     
     
  • 7.157, Аноним (157), 20:37, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Плохо ты знаешь нейросети. На выходе тебя ждёт "да нет наверное". И этот ответ сравнивая с константой выбранной программистом трактуется как 0 или 1.
     
     
  • 8.241, Аноним (240), 17:13, 04/09/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нечёткая логика тоже логика ... текст свёрнут, показать
     
     
  • 9.244, Аноним (157), 07:42, 05/09/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Женская логика это тоже логика, но сильно отличающаяся от строгой, булевой логик... текст свёрнут, показать
     
  • 7.243, Онаним (?), 20:33, 04/09/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > На выходе булева переменная - узнал/не_узнал (фейс Онанима).

    И значение этой переменной соответствует в лучшем случае шуму океанов Марса.

     
  • 5.117, freehck (ok), 12:27, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А, да, вот этим может помочь, точно. Чисел много, но хрен его знает сколько точности не нужно.

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

     
     
  • 6.135, Ordu (ok), 14:19, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В научных расчётах _иногда_ оперируют точностью до порядка Я часто в уме такого... большой текст свёрнут, показать
     
     
  • 7.137, freehck (ok), 14:35, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ошибка накапливается, и поэтому часто расчёты проводятся с заведомо большей точностью, чем требуется от конечного результата.

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

    > В научных расчётах _иногда_ оперируют точностью до порядка.

    Такие расчёты проводятся весьма часто.

     
     
  • 8.138, Ordu (ok), 15:20, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Теоремы о сходимости чего Даже если ты возьмёшь заросшую мхом проблему трёх тел... большой текст свёрнут, показать
     
  • 2.28, Аноним (28), 23:07, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    crate half

    зачем прямо в язык-то? чтобы было?

     
     
  • 3.34, ANonym (?), 23:30, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    зачем i128/u128 в rust добавили?
     
     
  • 4.37, Аноним (36), 23:42, 27/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну это ещё можно понять. Например, адреса IPv6 128 бит.
     
     
  • 5.143, Аноним (143), 16:32, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В сишке это обернуто в структуру.
     

  • 1.10, Аноним (10), 22:30, 27/08/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
     
  • 2.12, ObjectiveC Alive (?), 22:31, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 3.17, Ordu (ok), 22:42, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.14, Hellscream (?), 22:37, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.74, Аноним (70), 04:26, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.20, Аноним (19), 22:57, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 3.38, Аноним (36), 23:46, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.50, Аноним (19), 01:04, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 4.56, topin89 (ok), 01:24, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.82, Аноним (82), 08:14, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.174, topin89 (ok), 22:55, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.78, Аноним (70), 04:40, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.22, Аноним (19), 23:00, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 3.32, Аноним (32), 23:19, 27/08/2020 Скрыто ботом-модератором     [к модератору]
  • +4 +/
     
     
  • 4.66, Аноним (66), 02:52, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.73, Аноним (70), 04:24, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.80, Аноним (80), 07:28, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.75, Аноним (70), 04:28, 28/08/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (17)

  • 1.18, Неа (?), 22:50, 27/08/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     ....ответы скрыты (8)

  • 1.68, deeaitch (ok), 03:32, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Вот заметил такую штуку.

    У приверженцев Rust всё время проблема с C/C++. То у них с памятью всё плохо, то ещё что непонятное и сложное. То они вечно себе в ногу стреляют.

    Зачем вы стреляете себе в ногу? Мазохисты? Вспоминается сразу две вещи:
    1) Доктор, когда я делаю вот так, мне больно. А вы так не делайте.
    2) Старая добрая игра Fallaut 2: "Вы стреляли в златоящеря и попали в себя, вы потеряли 20 пунктов жизни"

    Этакие люди неудачники.

    Но и приверженцы C/C++ не отстают. Но другая ситуация немного. У тех кто знает, понимает и умеет писать на C/C++ проблема не с языком Rust, у них проблема с фанатами Rust.  Что-бы не случилось, фанаты Rust вылазят везде и поносят всех. При этом не осилив даже элементарных правил работы с памятью. Они не могут.

    Вот честно, очень токсичное общество любителей Rust. У них все плохие, кругом дыры. Одни они умные. Всех надо обосрать.

    Приведешь им два аналогичных кода, с аналогичным поведением (вылетанием проги) на C++ и на Rust - Плюсовеки молчат, потому что понимают.

    Что слышно от любителей раста? - "Ты де.....л, ты ничего не понимаешь, ваш C++ от....ой." А поведение то одинаковое.

    Мне интересно. Откуда столько желчи и РЖАВЧИНЫ у приверженцев Rust.

    Тот кто его назвал так что-то подозревал?

     
     
  • 2.72, Аноним (70), 04:23, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так проблема не в языке, а в людях. Пользователи С++ в большинстве своем люди среднего или выше возраста, набившие на нем шишек, пробовавшие другие языки и прекрасно знающие о достоинствах (по-моему их нет, потому что есть С и Rust) и недостатках плюсов. А в Rust в основном (по крайней мере, в русскоязычном сегменте) молодежь, особо пороху не нюхавшая, зато кровь у них кипит.
    А еще у меня подозрение, что большая часть комментаторов тут ни на том ни на другом никогда не писала и просто сотрясает воздух: "Все ругают Rust, ну и я поругаю до кучи".
     
     
  • 3.87, Козлетто (?), 09:04, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Молодежь аха? У меня целая куча знакомых, как раз среднего и выше возраста. Они не то что программировать, а просто включить пк целое достижение. Не говоря ещё о бабульках. Так что нечего гнать на молодёжь.
     
     
  • 4.88, Аноним (70), 09:15, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И вот что это было? При чем тут выключить/выключить? Речь-то было про то, что срачи устраивают в основном молодые.
     
     
  • 5.94, 1 (??), 10:03, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    просто дедушки и бабушки с успехом программируют на Rust
     
  • 2.79, Nick (??), 06:45, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Что-бы не случилось, фанаты Rust вылазят везде

    Вот только в этот раз ты вылез и начал хейтить Раст в теме про Раст. Так что фанатики С++ ни чем не лучше

     
     
  • 3.189, asdasd (?), 08:49, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сами же себя и дискридитировали, не прочитав до конца и побежав строчить комент =) Фанат раста не умеет читать.
     
     
  • 4.194, Nick (??), 13:38, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пруфы будут или только общими фразами умеешь разбрасываться?
     
  • 2.101, Аноним (102), 11:15, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Т.е. все CVE по памяти подлые растоманы в плюсовые проекты накоммитили?
    Только на этом сайте в месяц пара-тройка новостей про то что тут буфер переполнился, там за границы массива вышли (и рут получили) и это по большим проектам, на которые обратили внимание.

    Может это все неправда и происки хейтеров-злопыхателей? Или это все наделали "ненастоящие С++ программисты"™ потому что "настоящие С++ программисты"™ такие ошибки не допускают?

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

     
     
  • 3.178, СССР (?), 00:02, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    пока студент то за 3-4 года приучиш себя пользоватся указателями как скальпилем для нерохирурга (с), как пулиметом для рэмбо (с++). да за месяц обучения программированию научится писать безопасный код скорее получится на php, js, но что может спроектировать такой скороучка? хеллоу ворд в браузире разве только что отобразить.
     
  • 2.103, Аноним (103), 11:40, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Мне понравился на опеннете пару месяцев назад достаточно адекватный коммент, что... большой текст свёрнут, показать
     
     
  • 3.141, Аноним (141), 15:44, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Собственно, хороший специалист в С++ с набитой рукой будет пользоваться смартпоинтерами практически безошибочно

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

     
     
  • 4.144, Аноним (143), 16:33, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Оверхед от того же unique_ptr нулевой.
     
     
  • 5.149, Аноним (103), 18:07, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это не отменяет того, что безопасная работа с кучей в С++ реализуется, по факту, через паттерн. Плюс еще неудобная возня с циклическими ссылками в shared_ptr, которые можно разбить только через weak_ptr. В С++ на уровень "человеческого фактора" выводится очень многое и без статических анализаторов в проектах, где больше сотни классов, просто не уследить за всем. У Rust не очень удобный синтаксис, но в целом идея вынести RAII на уровень синтаксиса и семантики позволяет исключить утечки памяти по невнимательности, при этом не пользуясь сборщиком мусора. Если в Rust программе память и утечет, то это будет осознанная диверсия, когда сотрудник с доступом к мастеру для кучи короткоживущих, но относительно "жирных" объектов выставит lifespan, равный времени жизни долгоживущего объекта.
     
     
  • 6.153, Аноним (153), 20:04, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >В С++ на уровень "человеческого фактора" выводится очень многое

    Да, к сожалению. Но программист должен быть программистом, а не макакой, полагающимся на компилятор и магию.

     
     
  • 7.170, red75prim (?), 22:29, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Монтажник должен быть монтажником, а не тупым жлобом, полагающимся на каску, страховку, изолированную проводку, строительные леса и прочие глупости.
     
  • 6.167, коржик (?), 21:54, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Если в Rust программе память и утечет...

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

     
     
  • 7.175, Аноним (103), 22:59, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну что сборщику мусора легко устроить протечку в Java C - это и так очевидно, д... большой текст свёрнут, показать
     
     
  • 8.234, коржик (?), 21:34, 31/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    иногда лучше молчать ... текст свёрнут, показать
     
  • 2.150, анинимус (?), 19:21, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Зачем вы стреляете себе в ногу? Мазохисты?

    Хуже, это sjw, которые в большинстве своем кодить не умеют.

     
  • 2.176, СССР (?), 23:54, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    хорошо сказал про то что с++ молчат, потому что знают что так не нужно делать )). Вот например топор, юнец колол дрова, обух отлител и прямо в ногу, юнца в больничку, выписали, ходит юнец и рассказывает что нужно заменить топор на бензопилу и приводит свой случай, взрослые мужики молчат, слушают и молчат ибо чо им сказать то еще не окрепшему разумом юнцу? про эллементарные правила колки дров? про то что в руках в общем то оружие которым можно и себя поколечить и соседа? А молчат еще и потому что этому юнцу и бензопилу в руки давать нельзя, максимум пластмассовый нож, и то, глаз себе может выколоть.
     
     
  • 3.185, qwerty (??), 04:22, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ты 100% прав. И вообще, настоящий мужик дерево свалить может и острым камнем, а топор для слабаков и баб.
     
     
  • 4.214, СССР (?), 00:01, 30/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    нет, про настоящих мужиков это уже юмор, сейчас то и нет таких, все вон полу-баб... большой текст свёрнут, показать
     
  • 2.224, burjui (ok), 03:52, 31/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Может, не стоит судить о сообществе Rust по Опеннету? И, ради бога, завязывайте со сказками про мудрых плюсовиков, которые молча всё понимают и не стреляют себе в ноги. Таких единицы, а основная масса плюсового кода написана отвратительно и не падает от любого чиха потому, что разработчики компиляторов достаточно великодушны, чтобы предусматривать защиту от дурака. Вообще, весь ваш пассаж, по сути, высосан из пальца - сплошные обобщения и домыслы, никакой конкретики. Ну пожаловались, что растоманы плохо себя ведут, обижают седых мудрецов, у которых НИКАКИХ проблем с памятью. И как же без типичных острот про ржавчину.
     
     
  • 3.228, deeaitch (ok), 06:01, 31/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тут ты прав За то время которое я тут провел - И тут прав А вот это уже э... большой текст свёрнут, показать
     

  • 1.71, Аноним (70), 04:18, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересные фичи. Еще бы время найти поковырять...
     
     
  • 2.86, Брат Анон (?), 08:58, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бери Go. Там давно и panic есть, и функции возвращающие константы на этапе компиляции. И автоматический сборщик мусора без всякого геморроя.
     
     
  • 3.89, Аноним (70), 09:16, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо, Go я ковырял 2 года, хватит с меня. Когда надоело материться и блевать с этой корявой поделки Гугла, вернулся к Erlang'у.
     
     
  • 4.171, Забыл заполнить (?), 22:36, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда на окамл.
     
     
  • 5.186, Аноним (192), 06:26, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хоть брэйнфак лишь бы не раст?
     

  • 1.97, Аноним (97), 10:52, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пишу на Си и на asm, зарабатываю на жизнь в embedded.
    Хочется вкатиться в rust но не знаю, откуда и главное как начать.

    Хотелось запустить с отладкой mips(pic32mm) или risc-v(gd32) в eclipse.

    У кого-нибудь есть такой опыт?

     
     
  • 2.98, Аноним (70), 11:03, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >но не знаю, откуда и главное как начать

    так отсюда же: https://www.rust-lang.org/what/embedded.
    А вот более детально не расскажу. Самому интересно повозиться, но времени нет совсем.

     
  • 2.162, alex312 (?), 21:02, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В телеге есть группа по эмбедед расту - https://t.me/embedded_rs
    Поспрашивай там.
     
  • 2.201, Аноним (201), 19:26, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На riscv и конкретно на gd32 все очень даже хорошо. Спасибо Disasm.
    А вот для mips'ов ты вряд ли найдешь что-то адекватное.
     
  • 2.202, Аноним (201), 19:30, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/riscv-rust/gd32vf103xx-hal
     

  • 1.139, СССР (?), 15:34, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями" - что бы ваши ети передвигались на инвалидных креслах. Я исключительно ради заботы, ведь передвигаясь на ногах можно споткнуться , забить лоб и умиреть! поэтому пусть передвигаются на инвалидных кресах от проктэр&гэмбэл с автоматизированной головкой!
     
     
  • 2.142, Аноним (142), 16:11, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А мне лень открывать рот и жевать. Я хочу чтобы пища сама попадала в желудок. Мне лень срать хочу чтобы пища сама выводилась из кишечника.
     
     
  • 3.182, Андрей (??), 01:50, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    - А вы, что, и есть, значит, за меня будете?
    - Ага!
     
  • 2.169, red75prim (?), 22:25, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кому какое дело на чём программисты катаются и тешат своё ЧСВ.
     
  • 2.225, burjui (ok), 04:13, 31/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дженкем у вас не менее качественный, чем юмор. Я тут тоже нюхнул и шутку придумал: а давайте светофоры уберём, а то только трафик тормозят. Выбрал удобный момент - и перебежал, делов-то. Просто нужно быть внимательным и развивать реакцию.
     

  • 1.145, Кайф (?), 17:21, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    смузихлебы ликуют! Теперь они смогут в системное программирование, по крайне мере они так думают... Но POSIX и WinAPI смотрят на них как на говно
     
     
  • 2.146, Аноним (141), 17:43, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Вот интересно, почему странные личности с интеллектом школьников ненавидят Rust?
     
     
  • 3.147, Аноним (70), 17:48, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да пускай. Собака лает - караван идет.
     
  • 3.148, Кайф (?), 17:57, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сишный API ядра передаёт пламенный привет всем смузихлебам
     

  • 1.151, Аноним (151), 19:23, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Почему D не упомянули, непорядок
     
     
  • 2.226, burjui (ok), 04:14, 31/08/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    D
     

  • 1.156, anonymous yet another (?), 20:17, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Очень живой и динамичный язык. Только за этот год вышло, кажется, больше версий "языка программирования Rust" чем ISO-IEC-14882-xxxx за всё время (лет за 25, кажется).

    Опять же встроенный подтягиватель updates, packages и всего остального, о чём вы не знаете, но ... --- да и не надо забивать себе этим голову.

     
  • 1.166, Аноним (166), 21:45, 28/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А на нем можно делать окна, кнопочки, черепашью графику?
     
     
  • 2.168, Аноним (168), 22:21, 28/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.areweguiyet.com/
     

  • 1.197, Аноним (197), 17:29, 29/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Можете, назвать меня неосилятором, но. Приходит директор и говорит. Вот тебе железка на rs485. Сделай утилиту для её конфигурации и настройки. Срок три дня. Беру я такой раст... И через два месяца меня увольняют. Берут парня, который на делфи зафигачил все за 4е часа. Все довольны. Ну кроме меня.
     
     
  • 2.209, Аноним (166), 22:13, 29/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А если на Лазарус, то ещё и минус затраты/ворвство иде
     
  • 2.220, Аноним (103), 10:50, 30/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и правильно уволили, не умеешь выбирать инструмент под задачу. Rust это жирный DLL/SO собрать с развесистой core логикой, а дельфях формочки нашлепать и через FFI вызывать процiдурки.
     
     
  • 3.221, Аноним (221), 12:47, 30/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А какой инструмент под задачу необходимо было выбрать?
    На производстве нужно: управление промышлееным оборудованием, работа с базой данных, формирование всяких протоколов и отчётов, следить за состоянием и работоспобоностью узлов и, естетсвенно, вменяемый, быстрый и отзывчивый пользовательский интерфейс. Смотрю вот в сторону реакта и Node.JS. Ещё бы во всё это дело внедрить Scrum. Мастера только хорошего надо найти, что бы минимум в два раза больше $ от разработчика получал. Желательно, что бы умел кататься на баланс борде.
     
     
  • 4.229, Аноним (229), 08:47, 31/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Командной строк достаточно. Мозг не выпаривайте.
    Не знание Линукса, не означает чтопод него нету хитрых инструментов.
     
     
  • 5.231, Аноним (141), 13:23, 31/08/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Берут парня, который на делфи зафигачил
    >Не знание Линукса, не означает

    Есть некоторая вероятность что в организации не линукс, а что-то другое

     

  • 1.222, Аноним (-), 20:03, 30/08/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Растаманы читайте Эриксона. Не гипнотезера. Джона.
    "Простота языка С позволяет делать приложения более эффективными и пред­
    сказуемыми, но ошибки, допущенные во время написания кода, порой стано­
    вятся причиной таких уязвимостей, как переполнение буфера и утечки памяти,поскольку не существует механизма, проверяющего, помещается ли содержимое переменной в выделенную для нее область памяти. Если программист захочет по­ местить десять байтов данных в буфер, под который выделено восемь байтов про­странства, ничто не помешает это сделать, хотя результатом, скорее всего, станет аварийное завершение программы. "
    Хакина. Искусство эксплойта. 2009 год.
     
     
  • 2.227, burjui (ok), 04:29, 31/08/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Сам себе противоречит. Более предсказуемые приложения, но с непредсказуемыми уязвимостями. Книга точно 2009, а не 1989 года? Не существует механизмов, конечно. А мужики-то не знали. Это же очень сложно - рядом с указателем на буфер положить размер этого буфера, назвать сию сложную структуру данных слайсом и работать с ней вместо голого указателя. Это ж лишние байты. Уж лучше предсказуемое поведение в виде мусора в памяти и, если повезёт, аварийного завершения программы.
     
  • 2.242, Ordu (ok), 18:25, 04/09/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > "Простота языка С позволяет делать приложения более эффективными и пред­сказуемыми

    "Более" -- это по сравнению с чем?

     

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



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

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