The OpenNET Project / Index page

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

Выпуск Rust 1.86. Подготовка официальной спецификации языка Rust

03.04.2025 23:16

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

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

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

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

  • Добавлена поддержка приведения (upcast) типажей к базовому супертипажу (supertrait), т.е. появилась возможность прямого преобразования ссылки на объект типажа в ссылку на объект супертипажа без необходимости создания специального метода в типаже, возвращающего ссылку на супертипаж. Аналогичную операцию можно выполнять и с другими видами умных указателей, например, "Arc<dyn Trait> -> Arc<dyn Supertrait>" и "*const dyn Trait -> *const dyn Supertrait".
    
       trait Trait: Supertrait {}
       trait Supertrait {}
    
       fn upcast(x: &dyn Trait) -> &dyn Supertrait {
           x
       }
    
  • В HashMap и срезы (slice) добавлен метод get_disjoint_mut() для одновременного получения нескольких изменяемых ссылок на элементы. Ранее borrow checker не допускал одновременное использование ссылок, полученных при помощи метода get_mut().
    
       let v = &mut [1, 2, 3];
       if let Ok([a, b]) = v.get_disjoint_mut([0, 2]) {
           *a = 413;
           *b = 612;
       }
       assert_eq!(v, &[413, 2, 612]);
    
       if let Ok([a, b]) = v.get_disjoint_mut([0..1, 1..3]) {
           a[0] = 8;
           b[0] = 88;
           b[1] = 888; 
       }
       assert_eq!(v, &[8, 88, 888]);
    
  • Разрешено маркировать safe-функции при помощи атрибута "#[target_feature]", указывающего, что функция использует заданные возможности CPU. Safe-функцию, помеченную атрибутом "#[target_feature]", другая safe-функция может безопасно вызвать только при условии, что она тоже помечена "#[target_feature]" (иначе подобные функции нужно вызывать в unsafe-блоке). При этом их нельзя передавать в функции, принимающие обобщенные (generic) параметры, ограниченные типажами Fn*. Ранее атрибут "#[target_feature]" мог применяться только к функциям, помеченным как "unsafe".
    
       #[target_feature(enable = "avx2")]
       fn requires_avx2() {
        // ... 
       }
    
       #[target_feature(enable = "avx2")]
       fn safe_callsite() {
           requires_avx2();
       }
    
       fn unsafe_callsite() {
            if is_x86_feature_detected!("avx2") {
               unsafe { requires_avx2() };
           }
       }
    
  • В компиляторе Rust включена подстановка отладочных проверок (debug-assert), что указатель не содержит значение NULL при чтении и записи ненулевых размеров, а также при повторном заимствовании (reborrow) указателя в ссылку. Например, при включении отладочных проверок нижеприведённый код теперь будет приводить к состоянию "panic":
    
       let _x = *std::ptr::null::<u8>();
       let _x = &*std::ptr::null::<u8>();
    
  • По умолчанию включена lint-проверка "missing_abi", приводящая к выводу предупреждения, если после ключевого слова extern не указан ABI. Ранее, если после extern не указан ABI, подразумевалось, что используется ABI "C". Теперь рекомендуется явно указывать ABI "C", например, 'extern "C" {}' и 'extern "C" fn'
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Признак "const" применён в функциях:
  • Реализован третий уровень поддержки для платформ {aarch64-unknown,x86_64-pc}-nto-qnx710_iosock, {aarch64-unknown,x86_64-pc}-nto-qnx800, {x86_64,i686}-win7-windows-gnu, amdgcn-amd-amdhsa, x86_64-pc-cygwin, {mips,mipsel}-mti-none-elf, m68k-unknown-none-elf, armv7a-nuttx-{eabi,eabihf}, aarch64-unknown-nuttx и thumbv7a-nuttx-{eabi,eabihf}. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.
  • Добавлено предупреждение о прекращении второго уровня поддержки для целевой платформы i586-pc-windows-msvc в следующем выпуске (1.87). Рекомендуется использовать платформу i686-pc-windows-msvc, которая отличается поддержкой инструкций SSE2. Платформа i586-pc-windows-msvc потеряла смысл, так как для Windows 10 необходима поддержка SSE2, а более ранние выпуски Windows в Rust не поддерживаются.

Дополнительно можно отметить, что компания Ferrocene передала сообществу спецификацию на язык Rust (FLS - Ferrocene Language Specification), созданную в процессе разработки своего компилятора Rust для критически важных систем и периодически синхронизируемую с актуальным состоянием основного компилятора Rust. Спецификация FLS включает структурированное и детальное руководство по синтаксису, семантике и поведению Rust, пригодное для верификации, оценки совместимости и стандартизации.

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

  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: Открытие кода Rust-компилятора Ferrocene
  3. OpenNews: Релиз языка программирования Rust 2024 (1.85)
  4. OpenNews: Для ядра Linux 6.15 предложен начальный код драйвера Nova, написанный на Rust
  5. OpenNews: Браузер Chrome переведён на шрифтовой движок Skrifa, написанный на Rust
  6. OpenNews: В GCC-фронтэнде с компилятором Rust реализован Borrow checker
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63015-rust
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (222) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Унитаз (?), 23:36, 03/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    Хороший релиз
     
     
  • 2.135, Аноним (135), 09:16, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вроде всё хорошо, кроме одного - где IDE? Хорошая бесплатная опенсорсная IDE.

    Растоманы даже нормальную IDE себе создать не могут. Джависты им сделали проприетарный Rust Rover, и теперь растоманы говорят, что это лучшее, что у них есть.

     
     
  • 3.166, morphe (?), 11:18, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Есть LSP сервер rust-analyzer, который работает с vim, emacs, vscode, и десятком других редакторов кода, что ещё нужно?
     
     
  • 4.172, Аноним (135), 11:34, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > и десятком других редакторов кода, что ещё нужно?

    Зачем мне десяток редакторов уровня notepad, если мне нужна одна мощная IDE по типу Rust Rover, только бесплатная, опенсорсная и желательно написанная на расте.

     
     
  • 5.174, Аноним (174), 11:39, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    RustRover Free for non-commercial use - мало?
     
  • 5.227, freecoder (ok), 13:28, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чем IDE принципиально отличается от редактора кода с плагинами? Чем не устраивает VSCode/VSCodium/Zed с rust-analyzer?
     
     
  • 6.229, Аноним (135), 13:32, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всё должнл быть сразу из коробки интегрированно.
     
     
  • 7.247, freecoder (ok), 14:09, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Всё должнл быть сразу из коробки интегрированно.

    Даже то, что тебе в работе не нужно? Извините, но это уже устаревший подход.

     
     
  • 8.275, Аноним (275), 15:00, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Интеграция в интегрированной среде разработки Действительно, бред какой-то ... текст свёрнут, показать
     
  • 6.260, Аноним (260), 14:33, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    IDE предполагает наглядно видеть создаваемый интерфейс приложения.
    Опять сервер rust-analyzer будет видеть чужой код
     
  • 6.279, Аноним (275), 15:02, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем IDE принципиально отличается от редактора кода с плагинами?

    У тебя ответ буквально под новом в первой бкуве аббривеатуры IDE.

    В интегрированности.

     
  • 5.284, Аноним (284), 15:09, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так почему не пишешь?
     
  • 3.173, Анончоус (?), 11:34, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    bruh... https://github.com/zed-industries/zed
     
     
  • 4.176, Аноним (135), 11:40, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Zed is a code editor from the creators of Atom

    Это точно что-то хорошее?

     
     
  • 5.181, Анончоус (?), 11:48, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В чем проблемы? В этом году обещают релиз 1.0, можешь заценить после выпуска. Пока что дебаггера нет в основной ветке и баги небольшие встречаются, но всяких крашей из-за случайных unwrap-ов не встречал.
     
     
  • 6.182, Аноним (135), 11:50, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ладно, может посмотрю, попробую.
     
  • 3.188, Карлос Сношайтилис (ok), 12:01, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Список "хороших бесплатных опенсорсных IDE" для других ЯП, представь на суд общественности.
     
     
  • 4.213, Аноним (135), 12:52, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    IntelliJ IDEA - лучшая IDE в мире.
     
  • 3.203, Rev (ok), 12:28, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так напиши! В чём проблема?
    Тебе и язык надо бесплатно разработать, а потом бесплатно тебе ещё и IDE написать?

    А не много ли ты хочешь, халявщик?

     
     
  • 4.215, Аноним (135), 12:54, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну и зачем мне тогда сдался раст? Если есть другие бесплатные языки с хорошими IDE.
     

  • 1.9, Аноним (9), 23:48, 03/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Блин, какой же корявый синтаксис, не выразительный, не красивый, жуть какая-то... Куча двоеточий, какие-то мутные 'fn', 'let'... не могли синтаксис покрасивее сделать что-ли, чтобы легче читался? (  
     
     
  • 2.14, Krtek (?), 23:56, 03/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, на этом писать можно, разве что, за очень большие деньги.
     
     
  • 3.38, Аноним (38), 01:14, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Погуглите по слову "индус". Узнаете много нового. На многое откроются глаза.
     
  • 3.52, zionist (ok), 02:20, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так это же хорошо. Если мозгов это выучить хватит, будешь больше зарабатывать.
     
     
  • 4.129, Андрей (??), 08:28, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так никто не будет платить больше, просто будут делать ставку на пиар, мутных фанатиков и амортизацию расходов на багах - если амортизация покажет, что на якобы безопасном расте можно писать в два раза медленнее, совершая на 10% меньше ошибок(часть из которых хорошо ловят статические анализаторы), при том без гарантий что без ошибок(логических ошибок сильно больше и они часто сложнее, чем ошибки с памятью, вспоминаем копипасту, дубли веток, синтаксически корректные опечатки и пр.)
     
     
  • 5.205, Rev (ok), 12:30, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я тоже когда-то думал, что на Расте писать медленнее, но при этом не терять потом время на выявление ошибок и фиксы.
    Но потом я лучше выучил Раст, и могу с уверенностью сказать, что писать на нём можно быстрее, чем на С++. И не тратить время на фикс идиотских багов потом.
     
     
  • 6.257, Аноним (257), 14:23, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    может стоит лучше выучить C++?
     
     
  • 7.263, Аноним (260), 14:43, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >может стоит лучше выучить C++

    Об этом можно было говорить лет 15 назад. Сейчас это невозможно.

     
  • 2.20, Аноним (20), 00:04, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Все эти сокращения и закорючки сделаны чтобы ты сконцентрировался на алгоритме. Ты же вживил себе чип с расшифровкой закорючек?
     
     
  • 3.23, Аноним (9), 00:08, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С такими закорючками фиг сконцентрируешься, а если вдруг отвлекся ненадолго, то затем придётся по новой "парсить" код, пытаясь понять, чего ж ты там наконцентрировал )
     
     
  • 4.26, Аноним (20), 00:14, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лошара, я ж тебе говорю чип вживляй. Конечно есть вариант обратиться к знакомому рептилоиду, но тогда навсегда станешь его агентом, а это уже и спалить могут.
     
     
  • 5.37, Аноним (37), 01:08, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не нужон этот ваш киберпанк тут.
     
     
  • 6.96, Аноним (96), 05:53, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > киберпанк

    Интернет они тут увздумали подключать.

     
  • 4.206, Rev (ok), 12:32, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так поставь себе нормальную IDE, с которой не надо концентрироваться на закорючках. Она сама подсветит всё, что ты где-то пропустил или не так написал.
     
  • 3.177, Аноним (177), 11:41, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так в том то и дело, что это не сокращения. Синтаксис длиннее, чем в c++.
    fn func(x: i32) -> i32 длиннее, чем int func(int x)
     
     
  • 4.228, freecoder (ok), 13:31, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/


    fn func(x: isize) -> isize


     
  • 4.255, Аноним (260), 14:19, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Первая запись более информативная, не допускающая двусмысленность int
    Если мы будем создавать функции с более сложными возвращаемыми значениями, то начнётся огород из (). В rust же видно сразу, что возвращает функция.
     
  • 3.256, Аноним (260), 14:22, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы в самом деле вчитываетесь в структурные закорючки?
    На днях настраивал парсер Notepad++ для нового языка. Реальные слова в качестве "структурных закорючках" крайне неудобны. Парсер путает их с комментариями
     
  • 2.25, НяшМяш (ok), 00:13, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, сяшечная куча *****(((((((()))))))))void*void*void*------>>>>>>>>>> намного лучше. Про кресты можно вообще не вспоминать.
     
     
  • 3.29, Аноним (29), 00:30, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если ты не вчера родился, но сишечку в своё время ругали за эту мутотень. Только вот хрустик решил расширить и углубить это направление. std::ptr::null::<u8>(), ппц. Да тут кресты нервно курят со своими 100500 шаблонами.
     
     
  • 4.154, Аноним (275), 10:41, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Если ты не вчера родился, но сишечку в своё время ругали за эту мутотень

    Да? И что предлагали взамен? Паскаль?

    > хрустик решил расширить и углубить это направление. std::ptr::null::<u8>(), ппц. Да тут кресты нервно курят

    Ты кресты в глаза не видел, потому что приведенный тобой код ни чем не отличается от полюсовых неймапейсов типа std::vector<std::uint8_t>.

     
     
  • 5.175, Аноним (29), 11:40, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Да? И что предлагали взамен? Паскаль?

    Кроме паскаля ничего не знаешь?

    >ни чем не отличается от полюсовых неймапейсов типа std::vector<std::uint8_t>.

    Если уж сравнивать, то с std::uint8_t. Зачем ты поверх ещё контейнер наворотил? Любишь подменять понятия?

     
     
  • 6.189, Аноним (189), 12:04, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Причем у большинства это будет просто uint8_t.
     
  • 6.193, Аноним (193), 12:10, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Кроме паскаля ничего не знаешь?

    Так ты на вопрос-то ответишь?

    > Если уж сравнивать, то с std::uint8_t.

    Да? А почему не с std::chrono::time_point<std::chrono::system_clock>? "Вы не понимаете, это другое!"

    > Зачем ты поверх ещё контейнер наворотил?

    Ну ты же синтаксисом возмущался. А оказалось, в плюсах (которые ты в жизни не видел) он ничем не лучше. Причем еще с 80х годов, лол.

     
  • 3.133, Андрей (??), 08:42, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Синтетические примеры это так клёво, редкость упомянутых случаев это так уныло
     
  • 3.179, Аноним (177), 11:45, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Да, сяшечная куча *****(((((((()))))))))void*void*void*------>>>>>>>>>> намного лучше. Про кресты можно вообще не вспоминать.

    Это скорее растовый код

     
  • 2.35, Карлос Сношайтилис (ok), 00:40, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мусье, питоны и паскали обсуждают в других темах, здесь обычный С-подобный синтаксис. Пожалейте свою психику и закройте вкладку бравзера.
     
     
  • 3.39, User (??), 01:24, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >здесь обычный С-подобный синтаксис.

    Как будто в этом есть что-то хорошее...

     
  • 2.49, Нуину (?), 02:06, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можешь глянуть на mojo -- синтаксис питона, но с боровым и мув конструкторами.
     
     
  • 3.94, Аноним (96), 05:52, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > mojo

    Muddy Waters - Got My Mojo.

     
  • 2.51, Вася Пупкин (?), 02:20, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хоть синтаксис в языке совсем не главное, но в расте он точно логичнее чем в плюсах, начиная с базы с его 100500 видов конструкторов и более компактным объявлением функций. хотя вроде его плюсы пытались своровать с растового с его явным self с модификаторами
     
     
  • 3.178, Аноним (177), 11:44, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    fn func(x: i32) -> i32 длиннее, чем int func(int x)
     
     
  • 4.225, Аноним (225), 13:24, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Посмотри и подумай зачем в плюсы добавили явный self для функций классов
     
  • 2.144, Соль земли (?), 10:08, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Просто мегапридирка, очень умная и самое главное оригинальная.
     
     
  • 3.165, Аноним (275), 11:17, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Просто мегапридирка, очень умная и самое главное оригинальная.

    А к чему еще может придраться человек, не имеющий отношения к программированию и разработке ПО? Ну вот серьезно? Это добрые 95% местых комментаторов.

     
  • 2.161, Jh (?), 11:02, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Говорят, сейчас код ИИ пишет, а ему пофиг как выглядит.
     
     
  • 3.163, Аноним (275), 11:14, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Говорят, сейчас код ИИ пишет, а ему пофиг как выглядит.

    Все так, но об этом здесь говорить не принято.

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

     
  • 2.164, Аноним (164), 11:16, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Блин, какой же корявый синтаксис

    Как и ожидалось от ыкспертов, ничего кроме синтаксиса не0силили

     
  • 2.199, Аноним (199), 12:16, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У нас уже был понятный синтаксис - Паскаль. И где он сейчас?
    Нормальный программист освоит синтаксис любого современного языка (и раст - не исключение) за пару дней. Ну, ладно, особенно туговатые - за неделю. Гуанокодеры, которые не могут освоить даже синтаксис, всё равно кроме гуанокода ничего написать и не могут. Их лучше к программированию и не подпускать вовсе.
     

  • 1.15, ИлонМаск (?), 23:59, 03/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    О, Rust, конечно, молодец — «безопасность, иммутабельность, borrow checker»… Как же без этого! Прямо рай для параноиков, которые боятся собственного кода.

    А вот в C и C++ мы живём по-настоящему:

        Хочешь UB (Undefined Behavior)? Пожалуйста! Это же особенность, а не баг.

        Нужно сделать reinterpret_cast указателей? Да хоть в void* и обратно! Rust бы уже десять unsafe вставил.

        Многопоточность? В C++ хоть std::thread, хоть сырые pthreads, хоть атомики с memory_order_relaxed — полная свобода стрелять себе в ногу!

        Производительность? В C/C++ компиляторы десятилетиями оптимизируют код так, что Rust только снится.

    И самое главное — нам не нужен borrow checker, чтобы чувствовать себя живыми. Мы сами решаем, когда освобождать память. Это как ездить без подушек безопасности — зато адреналин!

    Так что да, Rust — это, конечно, мило. Но если хочется настоящего контроля (и хаоса), добро пожаловать в C/C++, где ты — настоящий хозяин своей судьбы (и segmentation fault'ов). 🚀💥

    P.S. А ещё в C++20 появились concepts, coroutines и ranges — так что Rust не единственный, кто умеет в модные фичи. 😏

     
     
  • 2.53, Вася Пупкин (?), 02:30, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    как же жирно, наш адреналиновый друг.. очень надеюсь что это троллинг

    >Производительность? В C/C++ компиляторы десятилетиями оптимизируют код так, что Rust только снится.

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

    >P.S. А ещё в C++20 появились concepts, coroutines и ranges — так что Rust не единственный, кто умеет в модные фичи. 😏

    а как на счет модулей, безопасных макросов адекватного тулинга? как тебе такое, ИлонМаск?

     
     
  • 3.122, Bottle (?), 07:24, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты говоришь - ты же и приводи доказательства.
    Из фиксов я знаю только про удаление циклов без глобальных переменных.
     
     
  • 4.170, morphe (?), 11:27, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    noalias, llvm атрибут имеющий семантику подобную restrict из C

    В Rust несколько лет включали и выключали его использование, потому что в llvm он был очень корявым и вызывал слишком много мискомпиляций, которые в C/C++ было очень сложно воспроизвести из-за редкого использования restrict, в отличии от Rust, где noalias стоит везде по умолчанию.

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

     
  • 2.248, Аноним (-), 14:12, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот в C и C++ мы живём по-настоящему

    Расскажи это людям пишущим на ассемблере

     

  • 1.17, Аноним (17), 00:01, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Отлично, после создания спецификации легко можно сделать удобоваримый синтаксис с человеческим лицом поверх раста.
     
     
  • 2.24, НяшМяш (ok), 00:12, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Скриптоязыков поверх раста написано уже такое количество, что в опеннет не влезет. Только толку от них.
     
     
  • 3.27, Аноним (17), 00:16, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно сделать для себя любимого. А если тебе не зайдёт твои проблемы.
     
  • 2.40, Аноним (38), 01:25, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/


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


    Починил.
     
     
  • 3.54, Вася Пупкин (?), 02:31, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    "Лисп как язык не имеет синтаксиса - вы просто сразу пишете аст дерево и компилятору от этого легче жить. вам на самом деле тоже, но понимаете вы это не сразу" (ц)
     
     
  • 4.73, Аноним (38), 03:52, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Шутка в том, что изначально планировалось к лиспу по завершении разработки компилятора приделать "препроцессор", который получал бы на вход алголо-подобный синтаксис а на выходе выдавал такое вот аст-дерево со скобками (то, что предложил аноним выше для раста). Но когда разработка подошла к концу, выяснилось, что все уже привыкли писать прямо так и это не особо трудно, так что алголо-подобный синтаксис оказался не нужен.
     
     
  • 5.294, Аноним (260), 15:36, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    После года ментальной трансформации авторы решили, что всем будет и так ясно. Это же очевидно - каждый поймет. Или свои мутированые способности стали эксклюзивно продавать.
     
  • 3.309, fuggy (ok), 16:31, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И какой простор для метапрограммирования это открывает. (foo a b c) это вызов функции, а '(foo a b c) это просто тип данных список. Сравните с обычным вызовом foo(a, b, c) и скажите кто говорит что в лиспе больше скобочек. Можно таскать аргументы от функции отдельно и подставлять нужную функцию по условию. И вообще построить поверх любой DSL синтаксис с любым синтаксисом.

    Так же объектная система на Lisp с поддержкой мультиметодов появилась задолго до мейнстримных ООП языков. То есть можно писать как в объектом, так и в функциональном стиле.

     

  • 1.30, Аноним (30), 00:32, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Язык для всех кто любит страдать.
     
     
  • 2.42, илонмаск (?), 01:37, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Так это про СИ++
     
     
  • 3.111, Аноним (111), 07:05, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > поддержка приведения (upcast) типажей к базовому супертипажу (supertrait), т.е. появилась возможность прямого преобразования ссылки на объект типажа в ссылку на объект супертипажа без необходимости создания специального метода в типаже, возвращающего ссылку на супертипаж.

    Как же мне этого не хватало в C!

     
     
  • 4.134, Аноним (275), 08:44, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Как же мне этого не хватало в C!

    Вот именно! Понапридумывали всякой дичи вместо православного пердолинга с void*

     
     
  • 5.267, Аноним (260), 14:53, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Все думают cast это что-то магическое, кроме простой интерпретации структур данных.
    В ассемблере же есть просто mov eax,[eax+..] несколько раз c подстановкой нужных смещений.
    И это и есть реальность.
     
     
  • 6.276, Аноним (-), 15:00, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Все думают cast это что-то магическое, кроме простой интерпретации структур данных.
    > В ассемблере же есть просто mov eax,[eax+..] несколько раз c подстановкой нужных смещений.
    > И это и есть реальность.

    Это понятно. Тут скорее вопрос к очевидности.
    Типа "неявно кастанул int64 к int16".
    В одном языке оно молча прожует и попортит данные.
    А в другом будет настойчиво требовать сделать это видным в коде.


     
     
  • 7.300, Аноним (260), 15:55, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так это проблема программиста. Неявности надо избегать, иначе не только другой не поймет, но и сам забудешь через неделю.
     
     
  • 8.302, Аноним (-), 16:07, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А еще проблема электрика, что у нас все провода одного цвета, и монтажника, что... текст свёрнут, показать
     
     
  • 9.303, Аноним (260), 16:15, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Типичная отмазка исполнительного программиста перед менеджером P S бывают крим... текст свёрнут, показать
     
  • 6.282, Аноним (275), 15:07, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Все думают cast это что-то магическое, кроме простой интерпретации структур данных.
    > И это и есть реальность.

    Какая ирония... Реальность в том, что ты типичный сишник, не слышавший про strict aliasing.

     
     
  • 7.298, Аноним (260), 15:51, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Реальность в том, что в С интервлияние неправильной интерпретации видны сразу, а в C++ Вы настолько запутались в иерархиях, что это не видно и превращается в скрытую проблему.  
     
  • 7.305, Аноним (260), 16:20, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ассемблер тоже не слышал про модные слова. Есть адрес и он одинаков, к примеру. в указателе буфера и указателе на структуру над этим буфером. И последствия как бы очевидны. Используйте union
     
  • 2.56, Вася Пупкин (?), 02:32, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    только пока не приручишь борроу-чекер
     
     
  • 3.78, wyry (ok), 04:54, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А в итоге не приручишь, т.к. в простых задачах он не слишком то нужен, а в сложных алгоритмов придётся всё равно всё разруливать. Это кстати также объясняет практически полное отсутствие некоторых типов ПО на Rust.
     
     
  • 4.88, Аноним (88), 05:31, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А в итоге не приручишь, т.к. в простых задачах он не слишком
    > то нужен, а в сложных алгоритмов придётся всё равно всё разруливать.
    > Это кстати также объясняет практически полное отсутствие некоторых типов ПО на
    > Rust.

    Я тоже об этом думал. Хорошо бы отдельное исследование почитать по данному вопросу.

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

     
     
  • 5.103, Аноним (103), 06:20, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Возможно раст временно займёт какую-то свою нишу, но не более.

    На очередные 50 лет, но не более.

    Системные языки. Языки без сборки мусора. Никто здесь не собирается теснить Rust. C и C++ озабочены тем, как бы им заморозиться и поменьше менять. Сишники идею плавного развития отвергли ещё в момент создания C++, теперь поедают Rust. Остальным языкам денег не хватит, чтобы распиариться.

     
     
  • 6.110, Аноним (88), 06:48, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так пиар это для продаж Кока Колы, ширпотреба хорошо работает. А там где собираются интеллектуалы, инженеры - на пиаре далеко не заедешь.

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

     
     
  • 7.125, Аноним (103), 07:32, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что эти интеллектуалы собрались кушать, программируя на малоизвестным языке с ... большой текст свёрнут, показать
     
     
  • 8.126, Аноним (88), 07:50, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Почитай, к примеру, историю PHP Там не было супер-пиара Чувак сделал для себя,... большой текст свёрнут, показать
     
  • 7.167, Аноним (167), 11:18, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Имею стойкое ощущение что за Ржавчину топят яваскриптёры и любители Node.js а этих к интеллектуалам никак не определишь.
     
     
  • 8.212, Анончоус (?), 12:43, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А можно ли к интеллектуалам определить неосиляторов синтаксиса раста Про семант... текст свёрнут, показать
     
     
  • 9.222, Анон1110м (?), 13:19, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Они просто не хотят мараться об это ... текст свёрнут, показать
     
     
  • 10.233, Анончоус (?), 13:43, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Двоечники тоже не хотели мараться о математике, русском языке ... текст свёрнут, показать
     
  • 7.180, Аноним (-), 11:46, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    чушь У дидов мозги не могут еще пару значков распознать Советы выкинуть stl то... большой текст свёрнут, показать
     
  • 7.306, fuggy (ok), 16:21, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальный синтасис, а не где есть 15 способов создать объект и ещё 70 способов выстрелить себе в ногу. C++ настолько раздутый стандарт и туда всё продолжают добавлять и добавлять. Вот когда создадут надмножество без шаблонов и кучи разных способов написать одно и тоже, тогда и поговорим. Из неудобного синтасиса в Rust там только лайфтаймы, но они не каждый раз нужны.
    >компилится долго

    Так почему вы не включаете сюда санитайзеры. Ведь без них не обойдётся сборка большего проекта.
    >бинарники раздутые

    Пиши с [no_std] без стандартной библиотеки и будут тебе не раздутые. Если уже Rust подходит для Embedded, то значит никаких проблем с размером бинарников нет.
    >зависимостями сомнительного качества, сторонних библиотек кот наплакал

    Так кто тебя заставляешь устанавливать с cargo сомнительного качества? Устанавливай из своего репозитория, устанавливай из своего git, пиши свои велосипеды, подключай проверенные сишние через обёртку.
    >постоянные изменения эдишенов - это дорога в ад с потенциальными несовместимостями в кодовой базе

    Тогда расскажи как у тебя всё совместимо между C++17 и C++20. О каких постоянные изменениях в эдишенах ты говоришь, если они выходят раз в 3 года, так же как c++.

     
  • 2.146, Соль земли (?), 10:13, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы научить их перестать страдать.
     
  • 2.153, Прохожий (??), 10:38, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не всегда процесс думания, к чему вы, похоже, не привыкли - это страдание, далеко не всегда. Часто на выходе много  допамина, который создаёт ощущение счастья и крутости.
     

  • 1.46, Нуину (?), 01:45, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Спецификация -- это хорошо. Возможно после этого появятся альтернативные реализации.
     
     
  • 2.112, Аноним (111), 07:06, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Возможно после этого появятся альтернативные реализации

    Здоровая идея. Фрагментация экосистемы by design.

     
     
  • 3.118, Bottle (?), 07:19, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Фрагментация экосистемы тоже разная бывает. Люди явно не от хорошей жизни вносят изменения, случаи намеренного саботажа (Microsoft Java, он же C#) - единичные.
     
     
  • 4.121, Аноним (111), 07:23, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Microsoft Java, он же C#

    Java от Microsoft, он же Visual J++. Ох уж эти неофиты.

     
     
  • 5.313, Аноним (164), 16:38, 04/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.120, Аноним (-), 07:22, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Здоровая идея. Фрагментация экосистемы by design.

    Пример C/C++ показал что сие неплохо работает. А когда все решает 1 производитель 1 тулчейна - можно случайно обнаружить что кое-чот дверью прищемило, а плана на этот случай почему-то нет.

     
     
  • 4.123, Аноним (111), 07:26, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это был сарказм.
     
  • 4.162, Аноним (-), 11:14, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Пример C/C++ показал что сие неплохо работает.

    Угу, шикарно работает. Есть три основных компилятора + еще кучка менее распространенных.

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

     
     
  • 5.194, Аноним (189), 12:11, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И это нормально. Каждый разработчик ставит цели и приоритеты.

    Есть те, кто пишет программы рассчитанные на работу в новейших дистрибутивах linux и древних никсах.

    А есть те кто не может на такое рассчитывать. Потому как ресурсы не безграничны.

     
  • 2.119, Аноним (-), 07:21, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Спецификация -- это хорошо. Возможно после этого появятся альтернативные реализации.

    Gccrs уже так то - разрабатывают и довольно активно.

     

  • 1.60, Аноним (60), 02:58, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Плюс одна итерация бутстрапа(самосборки). Хорошо, что сишный компилятор раста mrustc дошел до версии 1.74. не придется с версии 1.54 бутстрапить. В любом случае слишком часто мажорные версии выходят, практически каждый месяц.
     
     
  • 2.130, Аноним (111), 08:33, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В любом случае слишком часто мажорные версии выходят, практически каждый месяц.

    Значит, стараются люди. У меня в проекте за полгода 7 мажорных версий вышло. Только задуматься - полгода назад еще ничего не было.

     

  • 1.61, ostov (?), 03:04, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Мне кажется, что при создании языка **СНАЧАЛА** пишется спецификация, а уже потом реализации. Ох уж этот новый мир «языков-брендов»...
     
     
  • 2.64, Аноним (64), 03:22, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >при создании языка **СНАЧАЛА** пишется спецификация, а уже потом реализации

    Lol. Такого не было никогда и ни с кем.

    Единственный обратный пример это ALGOL 68.

     
     
  • 3.113, Аноним (111), 07:08, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну почему? В науке такой подход сплошь и рядом. Сначала изобрели односторонние функции, потом шифрование на их основе.
     
  • 3.148, Минона (ok), 10:17, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты прогуливал уроки истории.
    Вирт все свои языки именно так и создавал -- сначала формальное описание, потом воплощение в коде.
     
     
  • 4.192, Facemaker (?), 12:09, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Вирт все свои языки именно так и создавал -- сначала формальное описание, потом воплощение в коде.

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

     
     
  • 5.216, Аноним (216), 12:55, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Modula в глонасс используется.
    Ada в критичном ПО. Есть ли в rust формальная верификация? Нет. А в Ada есть.
     
     
  • 6.241, Аноним (241), 13:59, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Modula в глонасс используется.

    В глонассах могут хоть брейнфак использовать))

    > Ada в критичном ПО.

    Не Ada, а ее подмножество SPARK. Вот в нем есть верификация.

    > Есть ли в rust формальная верификация? Нет.

    Пока нет. Но раст уже можно использовать в автомотив (ISO 26262, ASIL-D), пром (IEC 61508, SIL4) и  медицине (IEC 62304, SIL 4).
    "Ferrocene квалифицирован по ISO 26262 и IEC 61508, что позволяет разрабатывать приложения на уровень безопасности SIL4 (например, уровень безопасности пассажирского движения на железной дороге)"

    Ну и не везде нужна эта формальная верификация.
    Ты не будешь формально верифицировать 99% софта, который пишут на расте.
    Просто потому что это слишком дорого.

     
     
  • 7.318, Аноним (216), 16:48, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В глонассах могут хоть брейнфак использовать))

    К чему эта фраза? По факту не могут. Пишите чушь для красного словца.

     
  • 5.272, Минона (ok), 14:58, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Угу, и получились отличные учебные языки для введения в программирование. Правда, ленивые
    > студенты потом пытались продолжать в проде, но дальше примитивных гуйных "магазинов"
    > не пошло.

    Щаз...
    Oberon -- система управления дорожным движением в Цюрихе.
    Component Pascal -- система управления каскадом ГРЭС на Амазонке.
    Modula-2 -- ПО для спутников.
    Oberon-07 -- для программирования микроконтроллеров.
    Pascal -- первая версия Windows =)

     
  • 3.152, Аноним (-), 10:38, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>при создании языка **СНАЧАЛА** пишется спецификация, а уже потом реализации
    > Lol. Такого не было никогда и ни с кем.
    > Единственный обратный пример это ALGOL 68.

    Неа.
    Например АДА - сначала написали требования, потом несколько итераций уточнений.
    Потом объявили конкурс на разработку.

    Более того, специально закопирайтили чтобы нельзя было какие-то полуфабрикаты называть так. Для того чтобы называться "компилятор АДА" нужно пройти тесты: 1000+ тестов, один провалил - идешь лесом.

    Это тебе не компиляторы для дыряшки "это я реализую, а это не поддерживаю, а тут не знаю как два числа без UB сложить")


     
     
  • 4.195, Facemaker (?), 12:12, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Например АДА - сначала написали требования, потом несколько итераций уточнений.
    >Потом объявили конкурс на разработку.

    Угу, и программируют на этом только из-под палки. Никто не любит Аду ☺. А Rust и Go приносят смех и радость людям.

     
     
  • 5.288, Нуину (?), 15:16, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А Rust и Go приносят смех и радость людям.

    Вот я и смотрю ты на фото такой счастливый...

     
  • 4.198, Аноним (189), 12:16, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Это тебе не компиляторы для дыряшки "это я реализую, а это не поддерживаю, а тут не знаю как два числа без UB сложить")

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

    Если у вас не так - то сразу себе кучу платформ отрываете.

     
     
  • 5.204, Аноним (-), 12:29, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Для особо одаренных. На разных архитектурах переносимо проверка не реализуется.

    Очень печально. Для этих архитектур)

    > Если у вас не так - то сразу себе кучу платформ отрываете.

    Огласите весь список, пожалуйста! (с)
    Какие ныне существующие платформы отличаются от поведению?


     
  • 2.68, Аноним (96), 03:33, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > при создании языка **СНАЧАЛА** пишется спецификация

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

     
  • 2.127, Аноним (127), 08:07, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне кажется, что при создании языка **СНАЧАЛА** пишется спецификация, а уже потом реализации.

    Тебе действительно кажется.

     

  • 1.84, Аноним (-), 05:25, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Дополнительно можно отметить, что компания Ferrocene передала сообществу спецификацию на язык Rust (FLS - Ferrocene Language Specification

    Ferrocene, как коммерческая компания должна знать, что языком программирования Rust может считаться только компилятор разрабатываемый самим сообществом Rust. Все остальные будут считаться левыми поделиями. У Rust нет международного ISO Стандарта.

    Так гласил лицензия и торговая марка на имя Rust programming language.

     
     
  • 2.116, Bottle (?), 07:17, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    *Современные* ISO стандарты - это элитная туалетная бумага, которой обладают только те, кто её пишёт.
    Говорить о важности стандартов от авторов стандартов на акупунктуру - себе дороже. Это сборище бумагошлёпов, цель которых - продать документ. Здесь же даётся открытая спецификация, хорошо, если ей будут соответствовать.
     
  • 2.312, Аноним (260), 16:37, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Стандарт нужен не создателю, стандарт нужен потребителю. Как создатель, я не заинтересован ограничивать себя соблюдением стандарта.
     

  • 1.100, Аноним (64), 06:11, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    На языке без сборщика мусора невозможно писать безопасный код. Это просто бессмысленный "когнитивный налог" на программиста, который оставляет меньше "когнитивного бюджета" для избежания логических ошибок.
     
     
  • 2.158, Прохожий (??), 10:56, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На языке без сборщика мусора возможно писать безопасный код И доказательство эт... большой текст свёрнут, показать
     
     
  • 3.168, Аноним (88), 11:19, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы упомянутого когнитивного налога не было, то и Си, и Джавы бы никто не ... большой текст свёрнут, показать
     
     
  • 4.201, Facemaker (?), 12:23, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если вы говорите о "бессмысленных переусложнениях" в тщательно продуманных языках программирования, то вы, возможно, что-то не поняли? Или вы думаете, что кто-то просто по приколу наворачивает конструкты? ☺☺☺
     
     
  • 5.211, Аноним (88), 12:42, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Если вы говорите о "бессмысленных переусложнениях" в тщательно продуманных языках программирования,
    > то вы, возможно, что-то не поняли? Или вы думаете, что кто-то
    > просто по приколу наворачивает конструкты? ☺☺☺

    Ага, наверное не понял зачем переусложнять.

    Как говорит Кен Томпсон в таких случаях: "наверное, я слишком стар" )))

     
     
  • 6.226, Аноним (275), 13:28, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, наверное не понял зачем переусложнять.

    Так и есть. И если я тебя сейчас спрошу «покажи, как надо было сделать без этих "преусложнений"», то ты моментально сольешься.

     
     
  • 7.236, Аноним (88), 13:48, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так для своей фирмы я уже сделал без переусложнений. Это моё конкурентное преимущество.
    А вы продолжайте уверять себя в том, что modern style - вершина прогресса. Можете считать что я "слился", меня это устраивает)
     
  • 4.280, Минона (ok), 15:02, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Rust и "модернистский" стиль плюсов - своими бессмысленными переусложнениями на ровном
    > месте как бы возвращают нас опять ближе к асму, когда "когнитивного
    > бюджета" не хватает для быстрого прототипирования, быстрого понимания кода (как это
    > можно делать на простых языках типа питона итд). Надеюсь вы уловили
    > смысл.

    Пиши на Лиспе, он простой.

     
     
  • 5.293, Аноним (88), 15:32, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Пиши на Лиспе, он простой.

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

    Задача - выбрать оптимальную "золотую середину". Дальше думайте сами.

     

  • 1.105, _ (??), 06:31, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > для создания эталонной спецификации на язык Rust

    Неужто взрослеют?! :)
    Вооо - вот это уже интереснее!

     
  • 1.114, Bottle (?), 07:13, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Спецификация - это ОЧЕНЬ хорошо, будем надеяться на то, что появятся альтернативные реализации, совместимые с ней.

     
     
  • 2.147, Соль земли (?), 10:15, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем? Из Rust Foundation выгнали?
     
  • 2.149, Cucumber (?), 10:18, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А нафига? Я просто не понимаю.
     

  • 1.139, С Software Engineer (?), 09:33, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вчера наткунлся на такую на мой взгляд неконсистентность в дизайне:

    '''
    let x = 1;   // non-atomic
    x = 2;       // doesn't compile as expected

    lex x : AtomicI8 = AtomicI8::new(1);  // atomic
    x.store(2, std::sync::atomic::Ordering::Relaxed); // compiles
    '''

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

     
     
  • 2.141, С Software Engineer (?), 09:36, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Выше в коменте я опечатaлся, под 'lex x' имелось ввиду 'let x'
     
  • 2.143, palas (?), 10:03, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это потому, что атомики - это типы с interior mutability. Если бы store принимал &mut self вместо &self, то в них не было бы никакого смысла, т.к. &mut ссылка всегда уникальна (название может ввести в заблуждение, может лучше было бы её обозвать &uniq).
    Так что по сути это намеренный обход боров чекера, но при этом все инварианты сохраняются, что в RefCell/Cell, что тут, поэтому шансов попортить память нет
     
  • 2.191, Аноним (164), 12:07, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы неправильно понимаете назначение mut Смысл mut в том, что имя переменной мож... большой текст свёрнут, показать
     

  • 1.140, Аноним (140), 09:34, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Люди такие забавные: cпецификацию им сразу подавай, стандарт ISO им сразу подавай. Вспомните в каком году появился С++, а затем вспомните когда появился его первый стандарт ISO; и наконец посчитаейте сколько лет ушло на то чтобы родить первый стандарт ISO!
     
     
  • 2.150, Аноним (150), 10:27, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    давайте мы будем набивать каждый раз одни и те-же шишки :)
    но диды то по граблям ходили так как другого пути не было, а внучки под крики "диды устарели" бегут "на зло рекордам" по тем же граблям...
     
     
  • 3.156, Аноним (-), 10:51, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > давайте мы будем набивать каждый раз одни и те-же шишки :)

    Так в этот раз намного лучше получилось!
    К моменту стандартизации с++ успели наовнячить кучку несовместимых реализаций. Плюс от сишки досталось ведро UB в наследство.

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

     
     
  • 4.200, Аноним (189), 12:20, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  всякие gccrs пока еще нерабочие и им придется адаптироваться

    А вот х...

    С большой долей вероятности, если продолжится работа над внедрением rust в ядро - у gccrs будут шансы реализовывать ВЕРСИЮ rust для ядра. И она будет постоянно отдалятся.

     
     
  • 5.207, Аноним (-), 12:33, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  у gccrs будут шансы реализовывать ВЕРСИЮ rust для ядра.

    Которая кроме ядра будет нужна чуть меньше чем нигде.
    А потом гнутики будут ныть что FF и прочий софт, использующий раст, не собирается gcc или собирается, но работает не так как ожидается.

    А с другой стороны - зачем? Сейчас все изменения для R4L возвращаются в апстрим.

    > И она будет постоянно отдалятся.

    Не потянут они свою версию.

     
  • 4.218, Аноним (-), 13:02, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Плюс от сишки досталось ведро UB в наследство.

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

     
     
  • 5.265, Аноним (164), 14:48, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Разыменновывание nullptr - это баг крестов унаследованых от замаранной этим же багом сишки. Отсутствие гигиентических макросово - тоже сишка замарала кресты. Список можно продолжать
     
  • 5.277, Аноним (277), 15:00, 04/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.310, Аноним (310), 16:34, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >всякие gccrs пока еще нерабочие и им придется адаптироваться, если вдруг они понаписывали что-то несовместимое.

    Ну вы же понимаете, что есть такая опция -std=, где можно будет указать: вот это для удовлетворения Rust Foundation, а это для творчества вне Rust Foundation ;)

     
  • 2.157, Аноним (-), 10:52, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угу, не дай бог таки ее примут, так у сишников главный аргумент отвалится Лучше... большой текст свёрнут, показать
     

  • 1.171, Медведь (ok), 11:33, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Допустим, корявый синтаксис rust -- на любителя, и дело привычки. Но rust по своей парадигме требует слишком много boilerplate кода, к тому же еще и очень "размазанного" по исходникам: структуры данных надо описать отдельно, имплементацию методов для них -- отдельно, имплементацию каждого типажа -- отдельно, причем наследовать реализацию и/или данные нельзя, явно выразить реализацию типажей через делегирование их к включенным через композицию полям данных -- нельзя, нужно явно определить каждый метод типажа и дернуть из него соответствующий метод поля...

    Чуть спасают ситуацию методы по умолчанию в типажах и генерики, но в итоге получается еще большая "каша" в коде, еще и приправленная enum'ами, которое совсем не то, что вы подумали, а суть некий аналог std::variant из C++ или record ... case ... of в Pascal.

    Ради чего все это нагорожено -- я теряюсь в догадках, но выглядит очень криво.

     
     
  • 2.183, Facemaker (?), 11:53, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что значит "нагорожено"? Всё, что вы перечислили — возможности по абстрагированию, которые дают больше мощи программисту. И синтаксис (местами) сложный не потому, что кому-то захотелось всех запутать, а потому что даёт инструмент. Если вам не нужны или чужды возможности и средства Раста, вы просто игнорируете его.

    (и вообще, на мой взгляд Rust скорее простой для использования язык; никогда не понимал этого нытья)

     
     
  • 3.185, Медведь (ok), 11:58, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну да, ну да, объявим кривоту достоинством, зато не как у всех. В том и дело, что этих "возможностей по абстрагированию" куда меньше чем у языков с нормальной реализацией ООП. То есть rust реализует этакое "недоООП", но зато обозвав интерфейсы типажами, отрубив ряд возможностей и добавив необходимости писать больше ненужного кода. Замечательно!
     
     
  • 4.197, Facemaker (?), 12:13, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > с нормальной реализацией ООП

    Этот слон давно не продаётся ☺

     
     
  • 5.219, Аноним (88), 13:07, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Этот слон давно не продаётся ☺

    Потому что не модный!!! Устарел (С)


     
     
  • 6.317, Facemaker (?), 16:46, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Потому что не модный!!! Устарел (С)

    Нет. Потому что ВНЕЗАПНО парадигма ООП оказалась ограниченно применима, как и всё остальное в нашем лучшем из миров. А её пытались пихать везде.

    Что касается наследования классов вместе с данными, то это из ряда изначальных ошибок дизайна, вместе с нуль-терминированными строками и NULL-указателями.

     
  • 4.223, Аноним (140), 13:22, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>> с нормальной реализацией ООП <<<

    Практика показала, что у ООП, в том виде в котором он есть в других языках, куча проблем которые приходится героически решать всякими костылями! Я это к тому, что не нужно думать что ООП это какая-то панацея (также как и сам Rust не является лекарством от всех бед!), - вы вообще можете решить задачу в функциональном стиле, если хотите! Многих разработчиков десятилетиями уверяли что ООП божественен и прекрасен, - как результат у многих разработчиков просто случился ООП головного мозга и они в принципе ничего не могут без ООП и городят его там где он вообще ни к чему!

     
     
  • 5.231, Аноним (88), 13:39, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да ладно, профита значительно больше. ООП - это просто удобно, ускоряет разработку. И то что в Расте нормального ООП нет - жирный минус для Раста.

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

    То же самое касается и шаблонов - желательно их использовать только когда это действительно необходимо, а не всегда и везде.

     
  • 5.234, Медведь (ok), 13:46, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Практика показала, что у ООП, в том виде в котором он есть в других языках, куча проблем которые приходится героически решать всякими костылями!

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

     
     
  • 6.238, Аноним (140), 13:53, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    П>>> римеры костылей с ООП, от которых избавляет rust, в студию пожалуйста, или незачет. <<<
    множественное наследование
     
     
  • 7.243, Медведь (ok), 14:00, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > множественное наследование

    Очень полезная вещь при комбинировании ортогональных сущностей. Это всё?

     
  • 2.210, Анончоус (?), 12:37, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > явно выразить реализацию типажей через делегирование их к включенным через композицию полям данных -- нельзя, нужно явно определить каждый метод типажа и дернуть из него соответствующий метод поля...

    Для одного поля и можно https://rust-unofficial.github.io/patterns/anti_patterns/deref.html но это антипаттерн. Стоит задуматься на структурой кода. Если нужно оборачивающую структуру передавать в методы, принимающие impl Trait, то да, нужно явно реализовать, но мне кажется существует крейт с макросом, который этот boilerplate генерирует.

    >  приправленная enum'ами, которое совсем не то, что вы подумали

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

     
     
  • 3.254, Медведь (ok), 14:18, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И зачем было менять смысл термина enumeration, уже устоявшегося в ряде языков? Чтоб не как у всех? Ну и welcome to записи с вариантами в Pascal, union в C/C++, несть им числа, ничего нового тут в расте не изобретено.
     
     
  • 4.261, Анончоус (?), 14:35, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какой термин у enumeration? В Swift, Scala enum имеет такой же смысл как и в расте. Или они тоже неустоявшиеся?

    Можешь в свою методичку забрать https://doc.rust-lang.org/reference/influences.html чтобы показывать, что раст всё своровал.

     
  • 2.244, freecoder (ok), 14:03, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошая фича языка держать отдельно определение полей структуры и её методов. Отдельные блоки могут имплементировать методы для разных ограничений обобщённых типов, могут быть скрыты фичами условной компиляции, проще могут генерироваться макросами и т.д. Да и воспринимать их проще, когда поля и методы отделены.
     
     
  • 3.249, Медведь (ok), 14:13, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Уверен, будь так реализовано в C# или C++, растофилы вопили бы об этом как о страшном недостатке ;) Нет в этом ничего удобного.
     
     
  • 4.262, Анончоус (?), 14:41, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Фантазер. А мне вот удобно. Будут еще аргументы?

    В расте структуры представлены просто явными данными и ничем больше. Даже при использовании динамической диспетчеризацией ссылка на vtable хранится в fat pointer-е, а не в самом экземпляре структуры.  

     
  • 2.266, Аноним (-), 14:51, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > еще и приправленная enum'ами, которое совсем не то, что вы подумали, а суть некий аналог
    > std::variant из C++ или record ... case ... of в Pascal.

    А что с ними не так?
    Предположу что убогая реализация из С/C++ где "все есть int", и позволяющая сравнивать абрикосы с крокодилами, сейчас никому не нужна.

    Другое дело enum из swiftʼа - там есть и ассоциированные значения, и проверка семантики.
    Людям нужен паттерн матчинг, инварианты и прочие блага цивилизации.

     
  • 2.269, Аноним (269), 14:54, 04/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.187, Аноним (111), 12:00, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какая есть бесплатная система программирования для Rust (желательно кроссплатформенная) с IDE, отладчиком, дизайнером формочек, доступом к БД (желательно), с примерами разными типа чтения-записи файлов в популярных форматах, графиков разных, анимации, системными штуками? Покажут - тогда и поговорим.
     
     
  • 2.190, Карлос Сношайтилис (ok), 12:06, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Покажут - тогда и поговорим

    О чём с тобой разговаривать? О формочках и анимации?

     
     
  • 3.209, Аноним (111), 12:35, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > О чём с тобой разговаривать

    Поймал! В этом и дело. О Rust только поговорить. Этим заканчивается.

     
  • 2.245, freecoder (ok), 14:05, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    VSCode хватает для всех задач. Которые не покрывают rustup и cargo с плагинами.
     

  • 1.202, anonymmmeer (?), 12:24, 04/04/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +2 +/
     

  • 1.214, Аноним (214), 12:52, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Не разбираюсь в качестве языка, однако, что меня отталкивает в rust - это то, с какой маниакальной настойчивостью, буквально насильно, пытаются его "популяризировать".
    Нет такого, как с Go(из новых языков), когда разработчики решают: "О, прикольный язык, напишу пожалуй свою утилиту/программу на нём." Разработчики на Rust почему-то хотят не что-то новое создавать на этом языке, а именно переписать старое. Почему-то мне кажется, что их психологический профиль совпадет с таковым у сторонников "декоммунизации" и подобного.
     
     
  • 2.220, Прохожий (??), 13:12, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > пытаются его "популяризировать".

    Думаю, вы не правы. Если бы хотели "популяризировать", как вы выразились, предложили бы качественный инструментарий, публикации "историй успеха", доброжелательное отношение. А та "популяризация", что мы видим, ведет к негативу и отвлекает от дела. По стилю очень напоминает давние заговоры против Linux, выражавшиеся в патентном преследовании, попытках продавать лицензии, дезинформации, сеянии сомнения среди разработчиков.

     
  • 2.230, xsignal (ok), 13:37, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, сейчас в интернете развёрнута масштабная кампания по дискредитации языка Си, философии UNIX и открытых систем, с параллельной раскруткой раста как "волшебной таблетки" от всех болезней, причём раскрутка ведётся разветвлённой сетью раст-миссионеров, представители которой обосновались на всех IT сайтах и форумах и под каждым тематическим постом поют дифирамбы расту и поливают грязью Си.
     
     
  • 3.235, Аноним (-), 13:47, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, сейчас в интернете развёрнута масштабная кампания по дискредитации языка Си,

    Неужели растовики изобрели машину времени и подкладываю овнокод прямо в штаны дидов?
    Создавая выходы за буфер, use-after-free и прочие типичные ошибки памяти в кодах 20-30 летней давности?
    Какое чудовищное коварство! Я знал, что они злодеи!!

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

     
     
  • 4.237, xsignal (ok), 13:53, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > дидов

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

     
     
  • 5.242, Аноним (-), 13:59, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И да, также действует кампания по нивелированию великих достижений патриархов IT и гениев программирования прошлых лет

    О, они делали великие достижения!
    Например сэкономтили целый байт и придумали Null-terminated string, которым отстреляли столько ног, что было названо "the most expensive one-byte mistake")

    > пренебрежительное называние их "дидами"

    Там половина уже померла, что их называть "молодыми и красивыми")?

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

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

     
     
  • 6.246, xsignal (ok), 14:07, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > О, они делали великие достижения!

    Представь себе, да. Все фундаментальные технологии современного IT, всё, что сейчас тихо и незаметно "просто работает", всё, на чём стоит и за счёт чего движется весь Интернет - от этих самых "дидов"!
    > ридумали Null-terminated string, которым отстреляли столько ног

    "Дай дураку х** стеклянный, он и х** разобьёт и руки порежет"
    > Там половина уже померла

    Тем более стоит проявить уважение.

     
     
  • 7.250, Аноним (-), 14:13, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А если просто не работает Или баги вычищаем годами и конца-края не видно ... большой текст свёрнут, показать
     
  • 7.281, Аноним (164), 15:05, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Представь себе, да. Все фундаментальные технологии современного IT, всё, что сейчас тихо и незаметно "просто работает"

    Основная проблема в том, что это "просто работает" нужно давным давно выкинуть и написать нормально, но сумма будет настолько астрономической, что эта идея ужасает даже тех, кто о ней говорит
    >"Дай дураку х** стеклянный, он и х** разобьёт и руки порежет"

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

     
     
  • 8.289, xsignal (ok), 15:23, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну выкинь TCP IP и напиши принципиально новый нормальный протокол Значит скрип... текст свёрнут, показать
     
     
  • 9.319, Аноним (164), 16:49, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как там с IPv6 связностью дела обстоят В некоторых местах связность будет не да... текст свёрнут, показать
     
  • 5.251, Анончоус (?), 14:13, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Безусловно существует много технологий и ПО, порожденные "дидами", но все они имели, имеют и будут иметь баги и уязвимости. Раст же предлагает сократить количество багов, уязвимостей определенного класса. В чем минус этого "буллет поинта" при продвижении языка?
     
     
  • 6.286, ptr (ok), 15:12, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В чем минус этого "буллет поинта" при продвижении языка?

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

    Очень редко попадается адекватное продвижения Rust, где честно и наглядно показываются все pros и cons. В 99% случаев стиль продвижения неотличим от рекламы вечных презервативов или самоходных унитазов.

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

     
     
  • 7.292, Анончоус (?), 15:31, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С этим согласен. Когда впервые о расте услышал и о бесконечных рекламах, какой он крутой, убийца плюсов, испытывал некое отвращение. Потом как-то забил на эти желтушные заголовки и начал писать на расте for fun.
     
  • 7.297, Аноним (-), 15:47, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какое интересно обобщение А эти большинство адекватных как определили Может ... большой текст свёрнут, показать
     
     
  • 8.304, ptr (ok), 16:20, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Очень просто Если реклама не соответствует ст 5 Закону О рекламе , то она не р... текст свёрнут, показать
     
     
  • 9.311, Аноним (311), 16:36, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Погоди, у закона о рекламе есть четкие определения рекламы Тут надо сначала док... большой текст свёрнут, показать
     
  • 9.314, Аноним (164), 16:40, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для начала пусть ненавистники Раста пометят каждое своё сообщение рекламой, особ... текст свёрнут, показать
     
  • 3.278, Аноним (164), 15:01, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >развёрнута масштабная кампания по дискредитации языка Си

    Си давным давно себя дискредитировал непрерывным потоком CVE
    >философии UNIX

    Которая себя дискредитировала ещё в момент появления. Вы хотя бы осознаёте насколько крива реализация того же fork-а, и к чему приводят костыли навешанные вокруг него?
    >и открытых систем

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

     
     
  • 4.285, xsignal (ok), 15:10, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Си давным давно себя дискредитировал

    Это проблема не Си, а "эффективных менеджеров" со своими технологиями быстрой разработки и выкатыванием сырых продуктов по принципу "лишь бы раньше конкурентов".
    > Которая себя дискредитировала ещё в момент появления

    Ну конечно) Поэтому Линус Торвальдс взял её за основу своей ОС. UNIX - это лучшее, что появилось в мире IT за последние 100 лет!

     
     
  • 5.291, Аноним (-), 15:30, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Си давным давно себя дискредитировал
    > Это проблема не Си, а "эффективных менеджеров" со своими технологиями быстрой разработки  и выкатыванием сырых продуктов по принципу "лишь бы раньше конкурентов".

    XOrg это уже "эффективные менеджеры" или еще "патриархы IT и гении программирования"?
    А жлиб? Sudo? Тысячи их!

     
     
  • 6.299, xsignal (ok), 15:53, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А что Xorg? Работает. Подарил Linux'у GUI. Без него все так на винде бы и сидели. Я с 2004 года под Xorg'ом и до сих пор, вообще никаких претензий.
     
     
  • 7.301, Аноним (-), 16:02, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А что Xorg? Работает.

    VRR уже умеет? Виснуть намертво уже отучился?
    Жигули тоже ездят. Вроде. Как и телега.

    > Без него все так на винде бы и сидели.

    Так все и так сидят) Или винда или мак. Немножко хрома.
    4% меньшинство было достигнуто в основном благодаря стимдеку.

    > Я с 2004 года под Xorg'ом и до сих пор, вообще никаких претензий.

    Кому и кобыла - невеста (с)
    Если тебя устраивают регулярные новости
    "Обновление X.Org Server ХХ.Х.Х с устранением N уязвимостей"
    В которых эти самые уязвимости живут по 30 лет, то я вопросов больше не имею)

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


     
     
  • 8.307, Аноним (88), 16:28, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У легкомысленных пиар-растов всё просто Подумаешь какой-то X Org Server, а они ... текст свёрнут, показать
     
     
  • 9.316, Аноним (311), 16:44, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какая фантастическая чушъ Ее и создали - с меньшей кривизной, называется вейлан... большой текст свёрнут, показать
     
  • 7.315, Аноним (164), 16:44, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Я с 2004 года под Xorg'ом и до сих пор, вообще никаких претензий

    HDR, HiDPI, разная плотность пикселей, аппаратное ускорение во вложенном сервере, и куча других вещей - недоступна в Xorg, либо работает с проблемами.

     
  • 4.296, ptr (ok), 15:45, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы хотя бы осознаёте насколько крива реализация того же fork-а

    Не осознаю. Чем создание дочернего процесса через fork() c CoW хуже, чем с копированием памяти при создании процесса? Если нужен именно дочерний процесс, который никаким образом не может повлиять на родительский или братский, и крах которого будет крахом только его одного, то fork() очень эффективен. Просто не надо пользоваться fork() там, где нужны нити.

     
     
  • 5.308, Аноним (164), 16:30, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда у вас памяти 640 Кб или сколько там было , то это может быть и выглядит х... большой текст свёрнут, показать
     
  • 2.232, Аноним (310), 13:42, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >буквально насильно, пытаются его "популяризировать"

    Это потому, что разработчики у него впопулярные.

     
  • 2.240, Аноним (-), 13:54, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя какое-то предвзятое отношение Полно Начиная от всяких вейланд композер... большой текст свёрнут, показать
     
  • 2.274, Аноним (164), 14:58, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Любую хорошую технологию нужно продвигать, иначе никто о ней не узнает, автор та... большой текст свёрнут, показать
     

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

  • 1.221, Аноним (-), 13:16, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    По поводу Стандартизации языка надо ставить точку, поскольку вы не понимаете очевидных вещей. Если Rust стандартизировать на ISO, то растаманам придётся отказаться от торговой марки "Rust programming language". Растаманы на это не пойдут, им это тупо не нужно. ISO это международная организация, все её стандарты достояние человечества. ISO и торговая марка, несовместимые вещи.

    Когда сишку стандартизировали в 1990 году (ISO90) она стала международным явлением. Она уже не была собственностью AT&T.

     
  • 1.264, YetAnotherOnanym (ok), 14:47, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Подготовка официальной спецификации языка Rust

    То есть, вместо набившего оскомину
    > В разряд стабильных переведена новая порция API

    мы, наконец, прочтём
    > В разряд стабильных переведена последняя оставшаяся порция API

    ?

     
     
  • 2.268, Аноним (-), 14:54, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Неа.
    Т.к спецификация может меняться.
    Не зря в С++ каждые 3 года выпускают новый стандарт.

    Особенно весело это будет в следующем или скореe через стандарт.
    А пока можно жевать попкорн и наслаждаться TEH DRAMA с внедрением Safe C++.


     

  • 1.271, Аноним (271), 14:55, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Оказывается, что Максим Чирков не в курсе, что СШАшные корпы двигают Rust (как и государство), он думает, что это теория заговора, как он написал на форуме, поэтому удаление таких комментариев обоснованно.

    Хотя, они его уже давно официально ну просто рекламируют, прежде всего потому что он им выгодней С/С++ по деньгам, разработке, поддержке, о чём тоже есть информация в интернете.
    О том, что они двигают Раст, наверное уже только ленивый не сказал, кроме того, они это и не скрывали.

     
     
  • 2.273, Аноним (-), 14:58, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотя, они его уже давно официально ну просто рекламируют, прежде всего потому что он им выгодней С/С++ по деньгам, разработке, поддержке, о чём тоже есть информация в интернете.

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

     
     
  • 3.295, Нуину (?), 15:38, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Если речь о "учимся легче, пишем быстрее и делаем меньше багов, экономим время программистов и тестеров"

    Показал бы лучше свой софт, воздухан

     
  • 2.283, Аноним (164), 15:08, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >СШАшные корпы двигают Rust (как и государство), он думает, что это теория заговора

    В США едят с помощью вилок и едят хлеб. Вот интересно, борцуны давно перешли на плочки и рис?

     
     
  • 3.290, Аноним (-), 15:26, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>СШАшные корпы двигают Rust (как и государство), он думает, что это теория заговора
    > В США едят с помощью вилок и едят хлеб. Вот интересно, борцуны давно перешли на плочки и рис?

    К сожалению Platinum спонсор rust foundation - это Huawei. Мегакорпа на минуточку.
    Значит палочки и рис уже заняты. Как и пельмени.

    Так что придется посконные щи лаптем хлебать.


     
  • 2.287, Аноним (88), 15:14, 04/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

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



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

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