The OpenNET Project / Index page

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

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

14.07.2023 12:49

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

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

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

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

  • Стабилизирован ABI C-unwind ('extern "C-unwind"'), который отличается от ABI без суффикса "-unwind" ('extern "C"') сохранением безопасного поведения (safe), если процесс "размотки" (unwinding), инициируемый при аварийном завершении программы или генерации исключения в стиле C++, пересекает границу ABI (например, когда исключение, возникшее в коде на одном языке программирования, при размотке затрагивает стек, связанный с кодом на другом языке программирования).
  • Стабилизирована поддержка атрибутов '#[debug_visualizer(natvis_file = "...")]' и '#[debug_visualizer(gdb_script_file = "...")]', позволяющих встраивать в Rust-библиотеки метаданные Microsoft Natviz и скрипты GDB для улучшения отладочного вывода при инспектировании структур данных, создаваемых библиотеками. Подобные скрипты уже включаются для стандартной библиотеки, а теперь появилась возможность их включения и для сторонних библиотек.
  • На платформе Windows реализована возможность использования функций из динамических библиотек, которые недоступны во время сборки (например, чтобы не устанавливать лишние библиотеки в сборочное окружение и упростить кросс-компиляцию). Для связывания с отсутствующими библиотеками в атрибуте "#[link]" предложена опция 'kind="raw-dylib"'.
  • Целевые платформы, использующие Си-библиотеку Musl ("*-linux-musl"), переведены на выпуск Musl 1.2.3 (ранее использовалась версия 1.1.24), что позволяет использовать тип time64 на 32-разрядных системах.
  • В стандартной библиотеке предложен вариант макроса thread_local, инициализируемый с признаком "const", допускающим использование в контексте вместо констант, что позволяет генерировать более оптимальный код.
    
       use std::cell::Cell;
    
       thread_local! {
           pub static FOO: Cell = const { Cell::new(1) };
       }
    
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Признак "const", определяющий возможность использования в любом контексте вместо констант, применён в функциях:
  • В пакетном менеджере Cargo разрешено указание именованных опций debuginfo в файле Cargo.toml. В метаданные добавлена опция workspace_default_members. При выполнении команд "cargo new" и "cargo init" обеспечено автоматическое наследование полей рабочих пространств (workspace).
  • Реализован второй уровень поддержки целевой платформы loongarch64-unknown-linux-gnu. Второй уровень поддержки подразумевает гарантию сборки.
  • Реализован третий уровень поддержки для платформы x86_64h-apple-darwin. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.


  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: Выпуск языка программирования Rust 1.70
  3. OpenNews: Представлен Crab, форк языка Rust, избавленный от бюрократии
  4. OpenNews: Google опубликовал результат аудита используемых пакетов на языке Rust
  5. OpenNews: Компания Microsoft добавит код на Rust в ядро Windows 11
  6. OpenNews: Изменение политики товарных знаков Rust Foundation
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59438-rust
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (262) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:50, 14/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +20 +/
    С замиранием сердца жду Раст 2.0, где наконец-то рискнут усложнить синтаксис.
     
     
  • 2.49, Иван Петроу (?), 14:25, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +16 +/
    Ну да, такой сложный и непонятный синтаксис, все эти дженерики...иное дело кастовать void* - вот это действительно просто и понятно, а главное негде ошибиться, нужно просто аккуратно писать код, без багов
     
     
  • 3.74, Витюшка (?), 15:33, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Посмотри как это сделано в Zig и вопросов не будет. Там нет проблем ни с covariance/etc.

    Типы как first-class citizen. Проверяй что хочешь и как хочешь.

     
  • 2.93, Аноним (93), 16:39, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не надо никого ждать - возьми D и пиши! ТАМ ЕСТЬ ВСЁ.
     
     
  • 3.107, Cooler (??), 18:29, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там нет захвата в лямбда "по значению".
     
     
  • 4.176, Аноним (176), 06:20, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Всё есть и всё захватывается только в SPARK: https://learn.adacore.com/courses/intro-to-spark/index.html
     
  • 3.108, Прохожий (??), 18:32, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только те, которые с ним работали (работают), почему-то жалуются на нестабильность и подолгу неисправляемые баги. Здесь, на этом сайте часто о таком читал.
     
     
  • 4.159, Аноним (159), 22:43, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А наскольео тут писавшим можно доверять?
     
     
  • 5.162, Аноним (162), 23:28, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А насколько можно доверять утверждению: "Возьми D и пиши! ТАМ ЕСТЬ ВСЁ." ?
     
  • 5.163, Анонин (?), 23:31, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Абсолютно нельзя доверять!
    Но можно напр. зайти в багтрекер d-lang и посмотреть, что там творится.
    https://issues.dlang.org/buglist.cgi?component=druntime&order=changeddate%;2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=D&query_format=advanced&resolution=---
    https://issues.dlang.org/buglist.cgi?component=dlang.org&order=changeddate

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

     
     
  • 6.209, Hck3r (?), 16:30, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто бы в других крупных проектах такого нет, лол
     
  • 5.167, freehck (ok), 01:03, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > А наскольео тут писавшим можно доверять?

    Анонимам в принципе нельзя доверять. Местным -- особенно нельзя.

     
     
  • 6.218, Аноним (218), 19:42, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну нет, анонимы не обманывают, в отличие от регистрантов. А в случае с сабжем, имеет смысл верить любой негативной дичи. Скорее всего, это правда, и даже не гипертрофированная. Я сам в этом убеждался. Другое дело, что не со всем легко столкнёшься, но, всегда стоит учитывать, что вероятность имеется.
     
  • 2.95, Аноним (95), 16:45, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    синтаксис раста и так постоянно усложняют, в результате чего большая часть проектов собирается исключительно на найтли.
     
     
  • 3.103, Аноним (-), 18:04, 14/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.140, Прохожий (??), 20:40, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Какая связь между усложнением синтаксиса (которого на самом деле нет) и сборкой проектов на бета-версиях компилятора?
     
     
  • 4.170, Rustoman (?), 04:12, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тут связь обратной должна быть, из-за простоты и невыразительности синтаксиса приходится на найдтли компилить
     
  • 2.139, Прохожий (??), 20:38, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Для таких, как ты, придумали C++. Спецификация на примерно 1000 страниц, UB, выборочная поддержка стандартов компиляторами. Всё, как ты любишь.
     
     
  • 3.145, Аноним (145), 21:07, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    кто ж виноват, что очередной васян, считающий себя гением, лезе чтобы добавить новых конструкций в язык, раздувая спецификацию
     
     
  • 4.149, Аноним (162), 21:33, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда уж "очередные васяны" ( Спецификация коллективный продукт.
     
  • 3.190, Аноним (190), 11:31, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А спецификация для Rust сколько страниц?
     
     
  • 4.203, Аноним (203), 14:41, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    У раст вообще нет спецификации.
     
     
  • 5.253, Neon (??), 03:49, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т.е. правая рука не знает, что делает левая ?)))
     
     
  • 6.281, Прохожий (??), 17:17, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То есть у Rust есть RFC. Это то же по сути, что и спецификация - разработчики GCC, которые, вроде, пилят альтернативный компилятор Rust, не дадут соврать. Только более динамичное, не такое анально отгороженное от общественности, как спецификация Плюсов, и к тому же бесплатное.
     
  • 2.276, Анонимитатор (?), 15:09, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Версии 2.0 никогда не будет, успокойтесь.
     
     
  • 3.300, Серб (ok), 13:59, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С чего ты взял?

    А если добавить отслеживание владений для коллекций объектов?

     

  • 1.2, 12yoexpert (ok), 12:52, 14/07/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +13 +/
     

  • 1.6, frac (?), 13:11, 14/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Да ну, прошлый релиз был месяц назад.
    Опять маркетологи подсказали, что цифирька в версии придает уверенности и зрелости?
    слишком часто для "самого" безопасного ЯП, там изменения прошлой версии еще по-критиковать не успели, а тут выкатывают новую.
    На лицо замазывание дыр и сомнений по средством гонки релизов.
     
     
  • 2.22, Аноним (22), 13:39, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +11 +/
    > по-критиковать
    > На лицо
    > по средством

    Садись, два.

     
     
  • 3.40, frac (?), 14:17, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –7 +/
    согласен, не перечитывал и в угоду быстроте публикации коммента подзабил на грамотность. в интернетах почему то стало привычкой
     
     
  • 4.76, Аноним (76), 15:40, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    blazing fast commenting
     
  • 4.100, Аноним (100), 17:49, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > почему то

    почему-то

     
  • 3.46, frac (?), 14:21, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    хотя вот "по_средством" стало таким случайно при нажатии С.
    Недавно сам журил за это слово, а тут вон оно как бывает забавно палец жмяк на две клавиши и на тебе
     
  • 3.310, Аноним (310), 06:36, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    За отсутствием аргументов хотя бы ошибки поискал у человека, правда? В тапки не забудь нагадить ещё и подлокотник подрапать. =)
     
  • 2.23, Анонин (?), 13:40, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Не месяц, а 6 недель назад. https://blog.rust-lang.org/2023/06/01/Rust-1.70.0.html
    У них просто 6-week release cycle. А не потому что они хотят чтобы у опеннетчиков горело каждые 6 недель.

    > там изменения прошлой версии еще по-критиковать не успели

    Еще не остыло?)

    > На лицо замазывание дыр и сомнений по средством гонки релизов.

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

     
     
  • 3.58, Пушок (?), 14:57, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну зачем ты врёшь, вводишь опеннет в заблуждение? Зачем хочешь скрыть, что раст навязывают корпорации? Думаешь, стоящая за ним, армия маркетологов незаметна? Маркетологи добавили в Rust code of conduct! Для смузихлёбов. Их нанимают корпорации, чтобы было дёшево, а они глупые, не могут писать. Раст помогает им джейсоны перекладывать. Я, кстати, пишу на Bash и часто бываю в комментариях opennet. Спасибо. Но врать это ты брось. Раст в комментариях уже не раз обсуждали, всё с ним понятно. Опеннет не проведёшь.
     
     
  • 4.90, Аноним (93), 16:34, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    +1. Такого навязчивого просовывания языка во все щели я ещё не видел! Даже MS с его C# намного скромнее  себя вела - объявила, мол, есть C#, есть WinForms, можно писать. И грабить корованы. И ВСЁ! Народ побежал писать.
    С растом и так сунут, и так припудрят, и здесь блёстками посыпят, но .... никому это г___но не нужно!
     
     
  • 5.109, Прохожий (??), 18:38, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > никому это г___но не нужно

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

    А в чём навязчивость, кстати? OpenNET - свободный ресурс. Кто что хочет, тот то и публикует. Даже ты можешь какую-то новость запулить. Также тебя никто не заставляет читать новости про Rust, не правда ли?

     
     
  • 6.256, Neon (??), 04:22, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, целая секта бегает и орет на всех углах про чудесный раст. И волосы от него станут густее и шелковистее.))) Очень навязчивая реклама Раста уже достала
     
     
  • 7.268, Прохожий (??), 14:16, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты перестань вещества употреблять разные, глядишь, и "целая секта" исчезнет из твоей головы. Мне вот, кроме статей на Опеннете нигде эта информация больше и не встречается почему-то. Тем более, реклама.
     
  • 5.206, Аноним (206), 15:40, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Такого навязчивого просовывания языка во все щели я ещё не видел!

    Это наверное потому, что си/плюсы со своими ошибками достали тех, кому на совесть "работу работать" надо и кому надо чтобы всё работало немного надежнее.

    > но .... никому это г___но не нужно!

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

     
     
  • 6.255, Neon (??), 04:21, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С/С++ может быть и достали, но кроме раста есть еще множество других путей, но что то носятся и суют во все щели в качестве серебряной пули именно раст
     
     
  • 7.263, Анонин (?), 11:55, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это какие еще пути для сишечки? Давайте, перечислите.
    Если они есть, то почему до сих пор нереализованно?

    Вы считаете что нормально что в ядре дыра для получение рута, потому что нешмогли посчитать размер массива, живет с 2014 года (https://www.opennet.ru/opennews/art.shtml?num=59409)?
    Ну а кто-то посчитал, что это не нормально и начал писать на расте.
    Ваши "аргументы" напоминает мем с жирным котом "я тоже так могу, просто не хочу".
    Не в состоянии современный сишник писать без багов по памяти на большом проекте.

    > в качестве серебряной пули

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

     
     
  • 8.301, anonymmm (?), 14:18, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Анализаторы, верификаторы, модел чекеры, генерация кода из языков с доказанной к... текст свёрнут, показать
     
  • 4.254, Neon (??), 04:20, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    +1 Армии маркетологов носятся с очередной серебряной пулей. Так они разве что с Java носились. Типа решение всех проблем. И это при том что, виртуальная машина была еще в древнем Паскале с его p кодом
     
  • 3.92, Аноним (93), 16:38, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А не потому что они хотят чтобы у опеннетчиков горело каждые 6 недель.

    Не факт :) Как раз "частые релизы" позволяют корпорастам создавать в инфополе видимость "всем нужен раст". Хотя ДЛЯ ЯЗЫКА(!) такая скорость релизов крайне частая. Ну нельзя спроектировать и написать язык, беспрестанно выкатывая "а мы вот тут скобочки добавили!". Это говорит о незрелости языка и главное - о его ненужности, потому что НОРМАЛЬНЫЙ язык "пропихивать" не нужно - люди его сами юзают! Даже, прости господи, С++ при всех его недостатках и неуклюжем синтаксисе выбирается добровольно. Раст - суют и в рот и в зад и всё равно погромизды не хотят вешать на себя двойную работу по слежению за указателями!

     
     
  • 4.96, Аноним (96), 16:53, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Молодежь не помнит как пропихивали с++ вместо сишечки))
    Очень жаль что тебе в зад засунули раст, это ооочень печально)
     
     
  • 5.192, Аноним (-), 12:14, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Молодежь не помнит как пропихивали с++ вместо сишечки))

    А ты такой старый откуда появился? Я не помню чтобы Си плюс-плюс кто-то проприхивал. Жабу, да пропихивали.

     
  • 4.121, Прохожий (??), 19:12, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Частые релизы позволяют быстрее исправлять накопившиеся ошибки, быстрее тестиров... большой текст свёрнут, показать
     
     
  • 5.166, Аноним (76), 23:42, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Со всем согласен кроме последнего пункта - в геймдеве пока еще раст даже близко не конкурент плюсам. Но надеюсь и тут скоро будут анрил потеснится, надо движкам немного настояться и обрасти редакторами и тулингом.
     
     
  • 6.246, Прохожий (??), 01:50, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Unreal engine - это всё-таки не НОВЫЙ проект.
     
  • 5.193, Аноним (-), 12:18, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А парни из Гугл, Микрософт и других спонсоров Rust и не догадываются об этом. Вот же дураки, да? 😂

    А к чему весь этот сарказм а? Тебе нравится лизать зад корпорастам? Те кто за Свободу не будут писать на Расте?

     
     
  • 6.223, Аноним (223), 21:48, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А к чему весь этот сарказм а? Тебе нравится лизать зад корпорастам?

    https://isocpp.org/std/the-committee
    > Convener: Herb SProject
    > Editor: Thomas Köppe (Google)utter (Microsoft).

    https://gcc.gnu.org/steering.html
    > David Edelsohn (IBM)
    > Ian Lance Taylor (Google)

    Ты пишешь на фрипаскале или опять "вынипонимаитиэтодругое!"?


     
  • 6.245, Прохожий (??), 01:48, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Мне плевать, где работают квалифицированные программисты. Для меня главное это то, что они грамотные умные ребята. Идиотов туда не берут, очень жёсткая конкуренция потому что.
     
     
  • 7.249, Аноним (249), 02:08, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тут намек что в Rust прежде всего заинтересованы корпорации, потому что он резко усиливает контроль над качеством кода. Сишник начинает мыслить по другому. На себе проверено )
     
     
  • 8.269, Прохожий (??), 14:28, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В скорейшем повсеместном внедрении Rust вместо Си прежде всего заинтересованы ко... текст свёрнут, показать
     
  • 2.41, анонимус (??), 14:17, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > прошлый релиз был месяц назад

    слегка больше но не суть
    так ведь получается отличный график!

    1.5 месяца читаем про дыряшку, найденные уязвимости и глумимся над дидами, которые так и не научились не выходить за пределы массива или делать фри не больше 1 раза

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

     
     
  • 3.50, frac (?), 14:26, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ну если по вашему, то может и сесть смысл
    в статистике неосиляторства, может быть больше смысла чем в похвале адептов.
    интересная мысль у вас, надо обдумать.
     

  • 1.8, Аноним (8), 13:20, 14/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Отличный язык! Позволяет безопасно работать с памятью!
     
     
  • 2.11, frac (?), 13:23, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    чем докажешь?
     
     
  • 3.15, Аноним (22), 13:33, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ответ прост: боров-чекер. У сишки его нет.
     
     
  • 4.37, frac (?), 14:13, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    что мешает улучшать сишку?
    что мешает писать на сишке с учетом недостатков?

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

     
     
  • 5.48, Анонин (?), 14:23, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > что мешает улучшать сишку?

    Обратная совместимость

    > что мешает писать на сишке с учетом недостатков?

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

     
     
  • 6.66, Аноним (66), 15:20, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Сишка такая как она есть. Можно из нее сделать какое-то безопасное подмножество, но это будет другой язык с си-синтаксисом.

    Уже пытались. Это языки Си плас-плас, Циклон, Обджект Си, Жаба.

     
  • 6.165, Аноним (162), 23:42, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы не ходить далеко предлагаю здесь примерно описать как Вы будите реализовывать "макроса thread_local," из статьи в синтаксисе С. Для справки это макрос который реализует поток со своими данными, легко вызывается как метод статического типа с конструктором и лямбдой.  
     
  • 5.54, Пушок (?), 14:46, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >что мешает писать на сишке с учетом недостатков?

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

     
     
  • 6.67, Аноним (67), 15:21, 14/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.79, anonist (?), 15:57, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    object-c?
     
  • 5.91, Аноним (91), 16:35, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Изучи в свободное время модули в C++, а затем посмотри на поддержку в компиляторах (её нет, это тяжёлая задача - идти против языка, использующего заголовочные файлы). Легаси мешает очень сильно.
     
  • 4.39, Аноним (39), 14:16, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Боров привязывается на изи только он всех бесит потому им никто не пользуется.
     
     
  • 5.123, Прохожий (??), 19:15, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Отучаемся говорить за всех. Ты не пользуешься. Но, скорей всего, твой софт никому не нужен.
     
  • 5.126, Аноним (162), 19:24, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Значит Вы неправильно работаете с памятью. В си у Вас будут ошибки, которые Вы скроете (си доброжелателен). но они вылезут в рантайме и будут обнаружены в CVE.
     
  • 3.124, Аноним (162), 19:18, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > чем докажешь?

    Вы работали в Раст? Или Вам напели или слышали артиста в хоре?

     
  • 2.13, frac (?), 13:28, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если отличный в смысле отличается, то да, действительно.
    если безопасно работать с памятью, то откуда все это берут, если софта написанного на этом толком нет.
    Давайте подождем чего нибудь критически важное на этом языке и тогда если интернет не будет пестрить новостями о дырах будем хвалить.
     
     
  • 3.16, Пушок (?), 13:33, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А почему ты затрясся весь?
     
     
  • 4.30, frac (?), 13:50, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    напротив, спокоен и критическое мышление в состоянии ВКЛ.
    вокруг все излишне рады и восторжены этим растом как некой панацеей.
     
     
  • 5.38, Анонимусс (?), 14:15, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно рады! Мясные мешки до сих пор не научились работать с памятью. Причем там правила просто элементарные, просто нужно быть внимательным. Внимательным на паре сотен тысяч строк кода, ничего сложного))
    И это прекрасно видно по количеству, а главное видам дырений в ядре и других сишных проектах.
    Поэтому возможно переложить эту рутину на компилятор - это просто прекрасное решение.
     
     
  • 6.42, Аноним (39), 14:18, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А толку если ты точно такой же мешок не в состоянии управляется с кодом на сотни тысяч строк на расте.
     
     
  • 7.45, Анонимусс (?), 14:20, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Толк в том, что оно тебе просто не позволит скомпилировать такой код без использования unsafe.
    И код не попадет в прод, к юзерам и тд.
     
     
  • 8.53, frac (?), 14:33, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    что мешает слелать компилятор для сишки таким же надоедливым пусть мигает свето... текст свёрнут, показать
     
     
  • 9.56, Анонимусс (?), 14:50, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В теории можно Но это очень большая работа в самом компиляторе Плюс будет проб... текст свёрнут, показать
     
  • 9.62, Аноним (62), 15:16, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    есть же раст ах, да, ты же не осилишь... текст свёрнут, показать
     
  • 9.127, Аноним (162), 19:30, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы еще ассемблер предложите сделать таким же Си близок к ассемблеру и доброже... текст свёрнут, показать
     
  • 9.134, Прохожий (??), 20:13, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это как из Жигули пытаться сделать Лотус Оно-то возможно ТВ шоу Топ Гир не д... текст свёрнут, показать
     
  • 3.17, Аноним (22), 13:35, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > софта написанного на этом толком нет

    Есть, просто ты не догадался погуглить.

     
     
  • 4.27, frac (?), 13:44, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    критически важный? от и до написанный на раст?
    пару строк в большом проекте не надо считать
     
     
  • 5.29, Аноним (22), 13:47, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > критически важный?

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

    > от и до написанный на раст?

    Чувак, у тебя даже ядро не написано на сишке "от и до". Есть ассемблерные вставки? Всё, проект не "от и до". Так что у тебя просто moving goalpost syndrome (загугли).

     
     
  • 6.35, frac (?), 14:07, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы уважаемый тот еще диверсант. не хочу с вами спорить, время покажет и рассудит.
    Не надо эту "moving goalpost syndrome" американщину тем более лженаучную,в пример приводить.
    Есть понятие софизм. Есть несколько видов софизмов в споре 1. отступление от задачи спора 2. отступления от тезиса.

    Любое из них есть неуважение к собеседнику и наблюдателям за спором. Продолжать такое - себя не уважать.

     
     
  • 7.52, анонимус (??), 14:30, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    э... а почему ты думаешь, что тебя кто-то здесь уважает?
    как и наблюдателей за спором?
    разве на пенек анонимы за уважением приходят

    Dropbox - движок синка файлов (они сами хвастались в своем блоге)
    Ruffle - спасибо, могу поиграть в флеш игры из детства
    Tauri - довольно неплохой ui

    > американщину тем более лженаучную

    вообще то это British, но не важно (хотя показывает твои глупочайшие познания)
    а важно то что и линукс, и компы как они сейчас есть, и даже rust это продукт той самой американщины)

     
     
  • 8.59, Аноним (59), 15:04, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В копилочку проектов ещё Pingora и половина серверного бекенда Discord ... текст свёрнут, показать
     
  • 8.85, User (??), 16:25, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С ruffle ом рофл конечно Этот калич года то ли с 16 то ли с 17 пилят - и до сих... текст свёрнут, показать
     
     
  • 9.94, Аноним (96), 16:44, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А сколько лет пилили оригинальный флеш Лет 20 ... текст свёрнут, показать
     
     
  • 10.106, User (??), 18:29, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот через 20 лет и приходите ... текст свёрнут, показать
     
  • 7.128, Аноним (162), 19:34, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы сами не готовы к предметному спору по Rust.
     
  • 6.112, Аноним (112), 18:46, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чувак, у тебя раст без пяти минут в ядре окажется, если уже не.

    Мне почему-то кажется, что раст в ядре - это примерно как обязательное наличие представителей ЛГБТ в современных конторах. Просто повесточка такая. Сопротивляться сложнее (дороже), чем сделать вид, что следуешь этим "правилам".

     
     
  • 7.113, Аноним (22), 18:48, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне почему-то кажется

    Крестись, когда кажется.

    > примерно как обязательное наличие представителей ЛГБТ

    Кто о чем, а вшивый о бане.

     
  • 7.129, Аноним (162), 19:41, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Меня другое беспокоит в наличие кода Rust в ядре. Как будут уживаться unsafe и полная система типов Rust. Без unsafe скорее всего не обойдутся. А так все типы в Rust это структуры и функции к ним.
     
     
  • 8.133, Анонимусс (?), 20:05, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не скорее всего, а 100 Но раст не ставит цель писать без unsafe Это просто не... текст свёрнут, показать
     
     
  • 9.135, Аноним (162), 20:17, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы на bound всё сводилось к буферам Layout структур надо тоже отслеживать ... текст свёрнут, показать
     
  • 9.152, _ (??), 22:15, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А на кЫргЫзкую песню с от тогда нужен Впрочем те немногие проги на расте котор... текст свёрнут, показать
     
  • 2.20, Аноним (39), 13:38, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Раст позволяет небезопасно работать с памятью.
     
     
  • 3.25, Аноним (22), 13:42, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Дефолтное состояние раста -- безопасная работа с памятью.
    Дефолтное состояние сишки -- небезопасная работа с памятью, все ворнинги отключены.
     
     
  • 4.31, Аноним (218), 13:50, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну правильно, нахчем вселенную обогревать? Включено у разработчика. В итоге это дерьмище ржавое часами компилируется, а притягивается оно по зависимостям какого-то минорного дерьма.
     
     
  • 5.33, Аноним (22), 13:53, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пусть вкалывают роботы, а не люди.
     
     
  • 6.44, Аноним (39), 14:20, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вкалывают майнеры, а не твои купленные сервера.
     
  • 5.136, Прохожий (??), 20:20, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Куда лучше многомиллионные убытки пользователей дырявого Си-шного софта, да? Уж там-то точно планета не обогревается (если на баги попросту плюнуть и не исправлять их).
     
     
  • 6.154, _ (??), 22:19, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ой как ты убиваешься за наши деньги то! :)
    Но ты же так не убьёшься! (с) :-)
     
  • 4.43, Аноним (39), 14:19, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Да всем как то пофиг что там по дефолту. Раст небезопасный йазыг.
     
     
  • 5.137, Прохожий (??), 20:26, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ещё один воин супротив Раста за всех пытается говорить. Отучайтесь от этого, глядишь, за умных сойдёте.

    Раст - это просто язык программирования, который даёт в руки программисту возможность писать ЛЮБОЙ код, на усмотрение программиста. Безопасность - это свойство кода, а не языка. Код может быть любым, в зависимости от задач и квалификации программиста.

    Чем же хорош Раст тогда? Тем, что он предоставляет ВЫБОР: хочешь писать безопасный код - на тебе, хочешь не безопасный - пожалуйста.

     
     
  • 6.155, _ (??), 22:21, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Безопасность - это свойство кода, а не языка.

    Ты сам это сказал.
    Теперь скажи - при таких раскладах - зойчем он нужен?
    Я знаю зачем, и кому, но всё же внимательно Вас скушаю :)

     
     
  • 7.158, Аноним (162), 22:38, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А для того, чтобы безопасная работа с памятью была не обещание кодера, а результат контроля компилятора.
     
  • 4.69, Аноним (69), 15:24, 14/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.169, Аноним (169), 03:01, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    как ты это узнал?
     
  • 2.257, Neon (??), 04:24, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это то спустя столько лет, после изобретения языков программирования, наконец то научились безопасно работать с памятью ?))) Да еще древний Basic  умел и не вызывал ошибок с памятью.)))
     
  • 2.297, Брат Анон (ok), 09:04, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наброс засчитан!))
     

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

  • 1.32, Аноним (32), 13:52, 14/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >NonZeroI*::is_positive

    Это что быстрее и понятнее, чем >=0?

     
     
  • 2.57, Аноним (57), 14:55, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот я не понимаю почему они так синтаксис переусложняют? Можно же было сделать это как-нить так:
    NonZeroI()*{^&}::<>(*)is_positive?:'()
     
     
  • 3.68, Аноним (68), 15:23, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Почитай исходники glibc на досуге.
     
     
  • 4.97, Аноним (39), 17:07, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Напиши аналог glibc на расте на досуге.
     
     
  • 5.177, Советский инженер (?), 07:02, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Поройся в исходниках Redox, там есть.
     
  • 3.73, Аноньимъ (ok), 15:32, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Обычный С++, всё просто и понятно.
     
     
  • 4.178, n00by (ok), 07:20, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В С++ такое определено как ill-formed.
     
  • 3.141, freecoder (ok), 21:00, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там звёздочка - это не синтаксис, а wildcard от авторов обзора на релиз, чтобы сократить записи I8, I32, I64 написали просто I*.
     
  • 2.99, Анонимусс (?), 17:11, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какой смысл сравнивать NonZeroI с нулем через больше или РАВНО, если оно NonZero?
    А причина - строгая типизация, ты не можешь без неявного преобразования сравнить NonZero и numeric literal. И, в отличие от некоторых, тут решили не делать неявных преобразований.
     
     
  • 3.172, Аноньимъ (ok), 05:07, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я смотрю вы в теме, как они этот тип вообще реализовывают? Это что-то из llvm ?
    То есть что за этим скрывается? Что в ассемблере будет?
     
     
  • 4.183, Аноним (183), 09:25, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На ассемблере будет обычный int Но компилятор сможет учитывать, что этот int в ... большой текст свёрнут, показать
     
     
  • 5.196, ламер (ok), 12:35, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не в упрёк, а в дополнение юзеру выше Всё таки не стоит сильно упрощать Гово... большой текст свёрнут, показать
     
     
  • 6.231, Аноним (231), 22:43, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что Вы тут нафантазировали?
    Больно читать. Option это enum ( None и Some(T) T - тип )
    Какие классы в Rust?
    https://doc.rust-lang.org/std/num/struct.NonZeroI32.html - NonZeroI32
    https://doc.rust-lang.org/std/option/enum.Option.html - Option
     
     
  • 7.251, ламер (ok), 02:28, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я боюсь, что Вы слишком бегло просмотрели текст и не уловили контекст. Но в этом есть и моя вина, что написал не разборчиво. Выше просто поднялась тема про реализацию типов-сумм и я решил несколько раскрыть мысль, сделав небольшие ремарки.

    В моем комментарии говорится про то, что в языках без тип-сумм их можно средствами тамошних систем типов. В примитивном варианте — через union-тип, в ООП — через объектную систему и её полиморфизм подтипов.

    Я думаю, что осложнила восприятие изложение про связь в Rust компилятора и кода пользователем. Это было лишнее, Вы правы.

     
  • 5.199, Аноньимъ (ok), 14:21, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >этот int в своем нормальном состоянии никогда не будет равен нулю

    За счёт чего это гарантируется?

     
     
  • 6.228, warlock66613 (ok), 22:19, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Просто нет возможности туда присвоить ноль. Нет публичного метода или ещё чего-то аналогичного.
     
  • 6.233, Аноним (231), 22:54, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Просто учитывается Z флаг процессора при присвоении и выставляется валидность в поле структуры.
    Но говорю сразу я не проверял _пока_.
     
  • 5.232, Аноним (231), 22:48, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    NonZero это структура с полем валидности (не ноль) и значением. Нет классов в расте. Структуры и из имплиментация. Отдельно выделяются трейты
     
  • 4.186, Анонимусс (?), 10:17, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Просто как соответствующий i32. Остальные - аналогично.
    Как и предположили выше используются оптимизации и оно занимает ровно столько же места в памяти.
    https://godbolt.org/z/8K1PqdTr6

    Чуть больше подробностей из доки:
    An integer that is known not to equal zero.
    This enables some memory layout optimization. For example, Option<NonZeroI32> is the same size as i32:
    NonZeroI32 is guaranteed to have the same layout and bit validity as i32 with the exception that 0 is not a valid instance. Option<NonZeroI32> is guaranteed to be compatible with i32, including in FFI.
    https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html

     
     
  • 5.200, Аноньимъ (ok), 14:23, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >An integer that is known not to equal zero.

    Откуда оно это знает?

    Что будет если я напишу а = б - с ?

     
     
  • 6.205, Анонимусс (?), 15:08, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Откуда оно это знает?

    Ты его инициализируешь ненулевым значением.
    Инициализатор new(n: i32) возвращает Option<NonZeroI32> и если ты передашь туда 0, то на выходе будет None. Т.е. проверка на 0 происходит только один раз при попытке создать, а дальше оно гарантировано будет ненулевое.

    > Что будет если я напишу а = б - с ?

    В таком виде оно просто не скомпилируется - у тебя же результат может оказаться нулем.
    Для NonZeroI (пока еще?) не реализованы трейты вроде CheckedAdd и CheckedSub (и остальные из Crate num).
    Поэтому придется сделать что-то вроде
        let n = NonZeroI32::new(123).unwrap();
        let m = NonZeroI32::new(321).unwrap();
        let k = NonZeroI32::new(m.get() - n.get());
    И результат может быть None.

     
     
  • 7.207, Аноньимъ (ok), 16:01, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Выглядит как шаблонный ад с++.

    В расте Юнион типы есть вообще?

     
     
  • 8.208, Анонимусс (?), 16:20, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как в TS - нету Но оно реализуемо через enum enum unionType Str String , ... текст свёрнут, показать
     
     
  • 9.210, Аноним (210), 17:27, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то есть То, что Вы показываете enum 8212 tagged union Именно union ... текст свёрнут, показать
     
     
  • 10.212, Анонимусс (?), 17:33, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде вопрос был про Юнион типы , а не про юнионы ... текст свёрнут, показать
     
     
  • 11.213, Аноним (210), 17:34, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, прошу прощения Тогда считайте мой комментарием дополнением к вашему ... текст свёрнут, показать
     
  • 10.214, Анонимусс (?), 17:38, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мда, налажал с терминологией, обычные union как в си тоже есть и, как написали... текст свёрнут, показать
     
     
  • 11.224, Аноньимъ (ok), 21:49, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не, речь шла именно про тип объединяющий два других типа То есть например int8... текст свёрнут, показать
     
     
  • 12.236, Аноним (249), 23:37, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого есть Option i8 fn foo - Option i8 что бы им воспользоваться выз... текст свёрнут, показать
     
  • 8.240, Аноним (249), 23:57, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это не ад Это то что должно быть сделано Раст строг ... текст свёрнут, показать
     
  • 7.238, Аноним (249), 23:48, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > let n = NonZeroI32::new(123).unwrap();

    Ну если Вы сами реализуете... По-умолчанию нет такого метода у типа NonZeroI32

     
     
  • 8.239, Аноним (249), 23:51, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Посыпал голову пеплом - переклинило ... текст свёрнут, показать
     
  • 6.235, Аноним (249), 23:19, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не арифметики с NonZeroI*
     
     
  • 7.247, Аноним (249), 02:05, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вся арифметика через NonZero*.new()
    use std::num::NonZeroI32;
      2 fn main() {
      3     let z = NonZeroI32::new(123).unwrap();
      4     let mut b:i32 = 1;
      5     let mut a:i32 = 3;
      6     let mut c:NonZeroI32 = match NonZeroI32::new(a - b) {
      7         Some(a) => a,
      8         None    => {panic!("Попытка присвоить нуль NonZero типу")},
      9     };
    10     println!("{:?}",c);
    11     c = NonZeroI32::new(4 + 7).unwrap();
    12     println!("{:?}",c);
    13
    14 }
    Если 0 требуется обработка или будет паника
     
  • 2.116, Аноним (162), 18:58, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Это что быстрее и понятнее, чем >=0?

    Вы работали с растом? Раст может сравнивать только одинаковый тип данных. Кроме того ненулевой тип удобен при делении. Кроме того is_positive хорошо вписывается в цепочку вызовов. которая удобна для функционального программирования.  

     
     
  • 3.182, Sw00p aka Jerom (?), 09:24, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ненулевой тип? О_о
     
     
  • 4.187, Анонимусс (?), 10:24, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что удивительного? Обычный зависимый тип (который dependent type).
    Их там целое семейство по размерностям https://doc.rust-lang.org/stable/std/num/index.html
     
     
  • 5.219, Sw00p aka Jerom (?), 21:31, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А что удивительного?

    то, что таких типов должно быть ровно столько, сколько чисел всего.

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

    > Их там целое семейство по размерностям https://doc.rust-lang.org/stable/std/num/index.html

    лол, кек, а чего вы хотели, и каждый новый тип в таком языке сколько типов будет плодить? "типичный (типовый) адъ" :)


     
     
  • 6.241, Аноним (249), 00:11, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Всё таки понятие нулевой элемент множества существует. Если в контексте важен единичный элемент множества, то можно и его реализовать по аналогии.
     
     
  • 7.290, Sw00p aka Jerom (?), 23:32, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Всё таки понятие нулевой элемент множества существует. Если в контексте важен единичный
    > элемент множества, то можно и его реализовать по аналогии.

    в смысле нулевой элемент множества?

     
     
  • 8.294, Аноним (294), 02:26, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ноль это нулевой элемент множества целых чисел, множества действительных чисел, ... текст свёрнут, показать
     
     
  • 9.302, Sw00p aka Jerom (?), 09:04, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Где вы прочли это дайте ссылку Возвожно вы путаете понятие нейтрального элемен... текст свёрнут, показать
     
  • 4.201, Аноньимъ (ok), 14:24, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ненулевой тип? О_о

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

     
     
  • 5.220, Sw00p aka Jerom (?), 21:35, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Поинтересуйтесь на досуге про Аду, язык такой, узнаете много нового.

    Там есть тип "НеЧислоН"?


     
  • 3.204, Аноним (204), 14:50, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Раст может сравнивать только одинаковый тип данных

    Это дефект раста, что маленькие типы не расширяются автоматически до больших при операциях, а константы вообще по-умолчанию не минимального для них типа, что всякие костыли приходится городить.

    >Кроме того ненулевой тип удобен при делении.

    Нет, не удобен. Деление на ноль - валидная операция, получается nan.

    >Кроме того is_positive хорошо вписывается в цепочку вызовов. которая удобна для функционального программирования.

    Не удобнее, чем ручное сравнение или лямбда. Не нагляднее.

     
     
  • 4.217, Анонин (?), 19:32, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > маленькие типы не расширяются автоматически до больших при операциях

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

    > что всякие костыли приходится городить.

    Под костылями подразумевается просто задать тип при объявлении константы? ничосе костыль однако!

    > валидная операция, получается nan.

    И что с ним потом делать? А как часто вам нужен nan?
    Вот где нужен там просто не используйте NonZero, делов-то.

    > Не нагляднее

    Сложно найти что-то более наглядное чем текст вроде is_positive, так что мимо.

     
     
  • 5.222, Sw00p aka Jerom (?), 21:39, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А как часто вам нужен nan?

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

     
     
  • 6.234, Анонин (?), 23:06, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А вот кстати и нет NaN существует потому что описан в IEEE 754 в бородатом 1985... большой текст свёрнут, показать
     
  • 6.242, Аноним (249), 00:20, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем нужно значение null в значение указателя в Си? не для того ли что нужно указать malloc, что память не выделена.
     
     
  • 7.287, Sw00p aka Jerom (?), 23:20, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А зачем нужно значение null в значение указателя в Си? не для
    > того ли что нужно указать malloc, что память не выделена.

    а значение причем? речь о типах, а от или иной тип определяет допустимость значений.


     
  • 6.243, Аноним (249), 00:25, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Rust дает возможность определять свои типы. Определяете struct {}. Реализуйте impl {} и trait {}
    к ней.
     
  • 3.221, Sw00p aka Jerom (?), 21:37, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Кроме того ненулевой тип удобен при делении.

    так же как и NonOneI8 при делении на 1 :)


     
     
  • 4.237, Аноним (249), 23:44, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если Вы реализуете свои трейты Add, Sub, Div, Mul нет проблем на типах NonZero и NonOne.
     

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

  • 1.51, Аноним (51), 14:26, 14/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    По сравнению с Go... Rust - это ненужный мусор в 90% случаях, который только людям жизнь усложняет, как и поганый kubernetes.
     
     
  • 2.55, анонимус (??), 14:47, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    сравнение двух языков с Garbage Collector и без оного, показывает твои великолепные знания програмированния на уровне "отчислен из ПТУ животноводства за неуспеваемость"

    хотя мне было бы инетесно взглянуть как ты будешь Го запихивать в ядро или писать на нем видео драйвер
    сам Го хорош (почти без альтернативен) в своей нише, но гвозди надо забивать молотком, а не микроскопом

     
     
  • 3.77, FF (?), 15:48, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    В Go как раз есть GC. Т.ч. это ты отчислен за знания программироваННия.
     
     
  • 4.86, Аноним (39), 16:29, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Во первых это хорошо, потому что на расте никто нормальный gc так и не смог сделать. Во-вторых в go gc отключаемый.
     
     
  • 5.118, Аноним (162), 19:03, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Никто ии не собирался изначально делать GC в Rust. Уже тогда поняли ущербность GC.
     
     
  • 6.130, Анонимусс (?), 19:48, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще-то не только собирались, но и сделали. Правда в какой-то древней версии, но факт что был.
    Вот даже заметка о том как его выпиливали https://pcwalton.github.io/_posts/2013-06-02-removing-garbage-collection-from-
    Там еще green threads были пряма в рантайме))
    Но до версии 1.0 оно не дожило и слава богу.
     
  • 4.110, Аноним (110), 18:40, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так он и написал, что в Go есть GC, а в расте нет. Правда мысль сформулировал кривовато.
     
     
  • 5.295, S22 (?), 08:02, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Так он и написал, что в Go есть GC, а в расте
    > нет. Правда мысль сформулировал кривовато.

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

     
  • 4.117, Аноним (162), 19:01, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В Go есть GC.
    В Rust нет GC.
    Как можно сравнивать?
     
     
  • 5.197, Аноним (190), 12:59, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тут мягкое с кислым, сферу с балетом сравнивают
     
  • 3.78, Витюшка (?), 15:50, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А теперь замени в предложении Go на Zig
     
     
  • 4.230, Анончик (?), 22:33, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Приходите после мажорного релиза
     
  • 3.298, Брат Анон (ok), 09:07, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/gopher-os/gopher-os
    https://github.com/SanseroGames/LetsGo-OS
    https://github.com/icexin/eggos
    Не благодари. При всех нареканиях -- Go вполне себе системный язык.
     
  • 2.195, Аноним (195), 12:23, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как там без полноценного полиморфизма, дженериков, без вменяемой системы типов и без алгебраических типов данных в 2023. Писать код и не иметь даже намёк на какую-то верифицируемость, полноту. Я когда вижу эти iota, interface{}  я не знаю жалеть этих людей или насмехаться  над ними
     
     
  • 3.288, _ (??), 23:21, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    They can't be care less, bro! :)
    Go - состоялся, нравится вам это или нет, даже в наших кровавых энтер-прайсах ни у кого не вызывает недоумения.
    >я не знаю жалеть этих людей или насмехаться  над ними

    ЧСВ надо лечить, для начала сравни их зряплату и свою :))))

      

     
  • 2.296, Проходил мимо (?), 08:04, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Глупость несусветная, как про Rust, так и про Kubernetes.
     

  • 1.60, Аноним (60), 15:05, 14/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Rust конечно классный язык. Такого выразительного и безопасного Hello World'а как на нём, я не написал ни на одном языке!
     
     
  • 2.119, Аноним (162), 19:07, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Жаль что Вы дальше HW не продвинулись. Безопасность работы с данными. многообразие конструкций,  мультипарадигменный, не навязывается наследование, кодер включает с код, только то что нужно и много ещё.  
     
     
  • 3.142, Аноним (145), 21:03, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И всё это исключительно с помощью магии без участия процессора.
     
     
  • 4.146, Аноним (162), 21:16, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На уровне компилятора. Но есть и рантайм проверка типов.
     
     
  • 5.171, Rustoman (?), 05:05, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В рантайме проверяются только слайсы
     
     
  • 6.227, Аноним (231), 22:18, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Прошу прощение - в уме было проверка _некоторых_ типов, а написал что написал )
     
  • 4.147, Аноним (162), 21:18, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно пример компилирования без участия процессора?
     
     
  • 5.173, Аноньимъ (ok), 05:11, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С помощью магии же.

    Ну а вообще на листике можно при желании.

     
     
  • 6.229, Аноним (231), 22:20, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я не застал те времена )
     
  • 3.299, Брат Анон (ok), 09:09, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Работа компилятора перекладывается на плечи программиста. Это плохое решение. Я хочу, чтобы программист писал код, а не думал: "Вот это мне в бокс завернуть, или мутабельную ссылку подсунуть?"
     

  • 1.72, Аноним (72), 15:32, 14/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Да, это вопрос. Что хуже кодеру: мозгодробительный синтаксис или необходимость следить за памятью?
     
     
  • 2.75, Анонин (?), 15:35, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты серьезно? На каком языке ты пишешь что тебе этот синтаксис кажется мозгодробительным?
     
     
  • 3.82, Аноним (82), 16:16, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Perl
     
  • 2.120, Аноним (162), 19:11, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Синтаксис прост и элегантен. Если Вы под мозгодробилкой понимаете многообразие языковых конструкций, то ничто не запрещает Вам пользоваться примитивами. От вас только потребуется понять что такое заимствование и время жизни (область видимости).
     
  • 2.131, Аноним (162), 19:48, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Синтаксис можно выучить, а за памятью нужно будет следить всегда.
     
     
  • 3.211, Аноним (190), 17:31, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно пальцами ног ручку держать и писать ими же, но зачем, когда есть для этого пальцы рук?
     
     
  • 4.270, Прохожий (??), 14:31, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можно сначала думать головой, а потом уже пытаться рожать аналогии. У тебя явно не получилось.
     
  • 2.175, Аноньимъ (ok), 05:14, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ненужно компромиссов, выбирайте С++ !!!
     
     
  • 3.198, Аноним (96), 14:07, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ... и получите мозгодробительный синтаксис, необходимость следить за памятью, пачку UB и несовместимость компиляторов в придачу!
     
     
  • 4.202, Аноньимъ (ok), 14:27, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ... и получите мозгодробительный синтаксис, необходимость следить за памятью, пачку UB
    > и несовместимость компиляторов в придачу!

    Всё включено!

     
  • 2.258, Neon (??), 04:26, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С памятью безопасно еще древнючий basic прекрасно работал.)))
     

  • 1.87, Аноним (93), 16:29, 14/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями...

    ...путём вешания на разработчика двойной нагрузки по отслеживанию состояния указателя. Гении, б___! :))) (ц) Лавров

     
     
  • 2.111, Аноним (22), 18:45, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > путём вешания на разработчика двойной нагрузки по отслеживанию состояния указателя

    Иногда лучше жевать, чем говорить.

     
     
  • 3.115, Аноним (39), 18:53, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вот-вот про тебя хорошо подходит, лучше жевать чем говорить за Раст.
     
  • 2.122, Аноним (162), 19:13, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вместо ругани могли бы разъяснить и привести пример.
     
     
  • 3.132, Аноним (22), 19:58, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Никакого примера не будет, ибо для этого надо уметь программировать.
     
  • 2.138, Прохожий (??), 20:33, 14/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > путём вешания на разработчика двойной нагрузки по отслеживанию состояния указателя

    Шта?

     
     
  • 3.185, Аноним (39), 09:32, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да вообще пофиг как у вас что называется. Время жизни указателя или время святой безопасности.
     
     
  • 4.248, Прохожий (??), 02:06, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть, ты ничего не знаешь, но мнение имеешь. Так?
     

  • 1.179, Аноним (179), 08:11, 15/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    всем давно ясно что раст - это тупик и не стоит тратить на него ресурсы. языковые модели будут писать программы на С.
     
     
  • 2.180, Аноним (180), 08:34, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы спросите у chatgpt он напишет вам код на Питоне.
     
     
  • 3.181, Аноним (179), 08:55, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    может но зачем?
    Си легкочитаемый и легкоадаптируемый под разные платформы. Исходник легко генерировать и легко парсить.  Результат компиляции максимально компактный получается. Что еще надо ?)
     
  • 3.184, Аноним (39), 09:30, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нейросети гораздо проще будет написать простыню проверки всего от всего на Си. Человеку что то забыть гораздо проще.
     
     
  • 4.188, Аноним (218), 10:25, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Особенно хорошо нейросети справляются со SQL, хотя казалось бы. Я всё ещё убеждён, что нейросети -- это булшит-технологии. Но, вообще говоря, появляется новое железо, способное ворочать большие объёмы данных с контекстом, и результат становится лучше. Но до сих пор возникают ошибки, немыслимые для человека, а галлюцинации побороть просто невозможно. Вот откуда появляются данные, которые существовать не могут и совершенно не уместны? Может быть, следующее поколение сеток будет более совершенным. GPT4 не очень впечатляет пока что, а сколько хайпа было.
     
     
  • 5.189, Аноним (145), 11:08, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    добрый дядя должен тебе всё принести на блюдечке?
     
     
  • 6.191, Аноним (218), 11:57, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Дядя собирает за это деньги, и не маленькие.
     
  • 6.194, Аноним (-), 12:21, 15/07/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 4.225, Аноним (231), 22:07, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Опять предположения. А я привел проверяемый факт - скопируйте условия задачи с сайта (https://leetcode.com/problemset/all/ напрмер) и дайте их ChatGPT
     
  • 2.271, Прохожий (??), 14:38, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > всем давно ясно что раст - это тупик

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

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

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

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

     
     
  • 3.289, _ (??), 23:29, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> всем давно ясно что раст - это тупик
    >Всем людям с недоразвитыми когнитивными способностями - да, безусловно.

    Ну Ок, раст - для ЫЛИТЫ с развитыми когнитивными способностями.
    :)

     
     
  • 4.304, Прохожий (??), 12:52, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не так. Rust - для людей, понимающих свою ответственность перед пользователями. То есть, для обычных нормальных людей.

    На самом деле ничего сложного в этом ЯП нет. Он намного проще тех же Плюсов.

     

  • 1.215, Аноним (215), 18:18, 15/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хороший язык! Позволяет безопасно работать с памятью!
     
     
  • 2.216, Пушок (?), 19:01, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    1. Комментарий будет зачтён в следующий месяц, так как в этом выплата уже была.
    2. Комментарий несодержательный, комментарий-лозунг. Пройдёт по минимальной ставке. Мне всё равно, но ваш руководитель следит за KPI, не подведите его.

    Спасибо за понимание.

     
     
  • 3.226, Аноним (231), 22:10, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У Си своя ниша, у Rust своя. Я полгода назад тоже топил за Си и ругал Rust за сложность. Но сел и потратил месяц. И сейчас он очень даже нравиться, больше С++. Он заставляет строже мыслить.
     
     
  • 4.244, Аноним (51), 01:23, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Сел и потратил месяц на Go. С ним не надо мыслить. Просто пишешь и всё получается.
     
     
  • 5.250, Аноним (249), 02:16, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В наш век расслабленности хочется мыслить строга. ) Дойдет время и Go изучу если увижу что там есть убер фичи.
     
  • 5.265, Facemaker (?), 12:11, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Go. С ним не надо мыслить. Просто пишешь и всё получается.

    Тоже так думал после "медового месяца" с Go. Потом скинули на доработку некую программу с большим количеством конкурентного кода с беспорядочной запутанной синхронизацией... Ушёл на Rust нафиг. Реальная история, не вру.

     
     
  • 6.291, _ (??), 23:33, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В следующий раз: "после медового месяца" с Rust. Потом скинули на доработку некую программу с большим количеством конкурентного кода с беспорядочной запутанной синхронизацией..."
    Ушёл на нафиг в закат.

    Суета сует(С)Эээ...эээ... хер проговоришь аффтфра :)

     
  • 5.272, Прохожий (??), 14:43, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, с ЛЮБЫМ языком надо мыслить, иначе получится ерунда. Впрочем, если ты - начинающий кодер, тебе простительно так говорить, за тебя пока мыслят старшие товарищи.

    Во-вторых, Go - язык и GC, у Rust нет GC.

     
  • 4.260, Аноним (260), 06:48, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Я полгода назад тоже топил за Си
    >И сейчас он очень даже нравиться, больше С++.

    Полгода назад ты не мог отличать "чистый Си" от "Си плюс-плюс". Но сел и потратил месяц. И до сих пор не можешь отличить "чистый Си" от "Си плюс-плюс".

     
  • 4.261, Аноним (179), 08:40, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какая же у раст ниша ? Просветите нас
     
     
  • 5.264, Facemaker (?), 12:08, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Какая же у раст ниша ? Просветите

    Системное программирование. Несколькими российскими компаниями разрабатываются операционные системы и движки СУБД на Rust. Код пока не опенсурсный. Инсайд.

     
     
  • 6.292, _ (??), 23:40, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Школота ЫнкорпорЭйтед, CоС то уже написали? А то удачи не видать :)))
    Аутсайд.
     
  • 6.293, Аноним (293), 01:20, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Уже на Redis научились свой логотип вешать? Вот это прогресс, не зря гранты сосут.
     
  • 2.259, Neon (??), 04:28, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Безопасно работать с памятью умел древнейший basic.))) И вообще, как то должно быть стыдно, что спустя столько лет после изобретения языков высокого уровня по прежнему проблемы с безопасной работой с памятью вылезают.))) Двоечники никак старые учебники прочитать не могут.)))
     
     
  • 3.266, freecoder (ok), 12:21, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Бейсик же интерпретируемый язык.
     
     
  • 4.267, n00by (ok), 13:09, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можно компилировать. Там же нет eval.
     
     
  • 5.274, Прохожий (??), 14:54, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Скажи, а ты реально не понимаешь, почему бейсик плох для системного ПО или так умело притворяешься?
     
     
  • 6.278, n00by (ok), 16:48, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я понимаю, что ты привык, когда компилятор за тебя следит за владением, потому т... большой текст свёрнут, показать
     
     
  • 7.280, Прохожий (??), 17:02, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > перечитаю за тебя ветку

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

    > Пишем драйвер на PureBasic

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

    > а на Rust... а где оно?

    Ты, вроде, декларировал, что умеешь пользоваться поиском. Или мне показалось? Андроид (местами), Линукс (местами, хотя и пока строго отгороженными), и куча другого ПО. Слона-то я и не заметил. Да?

     
     
  • 8.285, n00by (ok), 20:51, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да Перечитай заодно почему на Бейсике это было 10 лет назад, на Плюсах - 20 и... большой текст свёрнут, показать
     
     
  • 9.305, Прохожий (??), 13:04, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И где тот же бейсик в ядре ОС, и код без ошибок работы с памятью на Плюсах В об... текст свёрнут, показать
     
     
  • 10.311, n00by (ok), 08:58, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В сообщении 8470 278 я давал ссылку Вернись и перечитай его ещё раз, не отним... текст свёрнут, показать
     
     
  • 11.317, Прохожий (??), 15:11, 22/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот ещё одно подтверждение, что с логикой у тебя явные очевидные проблемы Давай... текст свёрнут, показать
     
  • 5.282, freecoder (ok), 19:48, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно компилировать. Там же нет eval.

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

     
     
  • 6.284, n00by (ok), 20:46, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> Можно компилировать. Там же нет eval.
    > Тогда придётся и весь жирный рантайм прикомпилировать.

    Не придётся.

     
  • 3.273, Прохожий (??), 14:53, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А люди, профессионально занимающиеся системным программированием и не знали. Забыли у анонима с Опеннета спросить, очевидно. Или все поголовно двоечники. А потом удивляемся, почему некоторые критические баги в сложном ПО годами живут. Вот где проблема зарыта, оказывается. Все они плохо учились!
     

  • 1.262, Аноним (145), 08:48, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Надоело читать новости про Rust? Zig, Odin, Jai, на крайняк Carbon в помощь!
     
     
  • 2.275, Прохожий (??), 15:08, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пытался искать сравнительные статьи Rust vs Zig. По итогам особо не впечатлился достижениями Zig, хотя плюшки там, безусловно, есть. Остальные языки, подозреваю, ещё бОльшая маргинальщина, чем Zig?
     
     
  • 3.277, Аноним (277), 16:01, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Переходи на .Net 8 и не клюй всем мозг.
     
     
  • 4.279, Прохожий (??), 16:55, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ещё один "эксперт" решил выступить от имени всех. Где вы такие берётесь-то, а? Это был риторический вопрос, если что.
     
     
  • 5.286, Аноним (145), 22:32, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Твой пост публичный и доступен всем. Не дошло?
     
     
  • 6.306, Прохожий (??), 13:05, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но это не означает, что мой пост всем клюёт мозг. Не дошло?
     

  • 1.303, Янис (?), 10:14, 18/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не имел дело с обсуждаемым языком, однако же то, как он навязывается, и сколько я о нем читал, наталкивает на мысль о том, что он продвигается корпами, чтобы контролировать программистов. Надежная работа с памятью? Ну в Си (а сабж подается как заменитель Си), если следить, за тем, что делаешь, нет проблем с этим: и в этом нет высшей математики. И в этом таже нет никакой двойной работы, как некоторые пишут... Синтаксис? У Си он просто в разы понятнее. Исполняемый файл? Хелло Ворлд на сабже весит больше чем программа на сотни (а то и даже на тысячи) строк на Си. Проталкивание сабжа в Линукс - вообще ни разу не аргумент в его пользу: он туда попал исключительно потому, что корпы его продавили. Рекомендация от организации безопасности США о том, что мол не стоит использовать "небезопысные" языки типа Си, а вот есть Джава, и прочие языки от корпов, лишь подтверждает мои размышления. Каждому разумеется самому решать, на чем писать, но вот у меня нет желания попадать под контроль корпов.
     
     
  • 2.307, Прохожий (??), 13:14, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Не имел дело с обсуждаемым языком

    Но мнение имею. Не нравится мне твой Паваротти. А почему? Да вчера Вася напел.

    >то, как он навязывается

    И как же он навязывается? Тебя, лично тебя, кто-то заставляет им пользоваться?

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

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

    >Ну в Си (а сабж подается как заменитель Си), если следить, за тем, что делаешь, нет проблем с этим: и в этом нет

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

     

  • 1.316, Hck3r (?), 17:28, 19/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Безопасность безопасностью, но ошибок никто не отменял
    https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=rust
     
     
  • 2.318, Прохожий (??), 15:17, 22/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Разумееется. Rust призван уменьшить количество ошибок только одного наиболее распространённого в системном программировании класса. Никто не утверждал, что Rust избавляет от всех классов ошибок.
     

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



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

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