The OpenNET Project / Index page

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

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

26.03.2021 13:42

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

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

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

  • Функциональность, связанная с применением константных дженериков ("const generics"), получила статус минимально жизнеспособного продукта (MVP), дающего зелёный свет на широкое применение. Константные дженерики позволяют обобщать типы для постоянных значений, т.е. использовать обобщённые аргументы, ограниченные диапазоном постоянных значений, а не типами и не временем жизни. Указанная возможность даёт возможность использовать типы, параметризованные целыми числами, и абстрагироваться при создании типажей для массивов любого размера без необходимости создания отдельного типа для каждого диапазона допустимых значений, чтобы гарантировать отсутствие выхода за пределы допустимого диапазона.

    Начиная с текущего выпуска, для массивов с типом "[T; N]" (тип T и размер N) предоставлена возможность абстрагироваться от типа и размера, используя значения с любыми целыми, булевыми и символьными типами (типы struct и enum пока не поддерживаются). Константные дженерики значительно упрощают разработку библиотек, например, для использования массива, не привязанного к конкретному типу и размеру, можно указать:

    
       struct Array<T, const LENGTH: usize> {
           //          ^^^^^^^^^^^^^^^^^^^ определение константного дженерика
           list: [T; LENGTH]
           //        ^^^^^^ его использование
       }
    

    При фактическом использовании c этим определением "Array<u8, 32>" компилятор сгенерирует мономорфную версию Array:

    
       struct Array<u8, 32> {
           list: [u8; 32]
       }
    
  • Стабилизирован основанный на константных дженериках API std::array::IntoIter, при помощи которого для любого массива можно создавать итераторы по значению:
    
       fn main() {
         let array = [1, 2, 3, 4, 5];
         
         // Раньше для перебора значение нужно было вызывать метод .iter()
         for item in array.iter().copied() {
             println!("{}", item);
         }
      
         // Теперь можно указать
         for item in std::array::IntoIter::new(array) {
             println!("{}", item);
         }
       }
    
  • В пакетном менеджере cargo реализована поддержка нового поля resolver в Cargo.toml, при помощи которого можно включить вторую версию определителя доступных возможностей (feature resolver). Новая версия определителя избегает объединения возможностей зависимостей, перечисляемых в секции "[features]", там, где это неуместно, например, при подключении зависимости, запрашивающей какую-то стандартную возможность в сборочных скриптах и макросах, но при использовании нестандартной возможности в итоговом исполняемом файле.

    До сих пор возможности пакета, упоминаемого несколько раз в графе зависимости, объединялись. Например, если проект подключает зависимость foo, в которой определены возможности A и B, и этот пакет используется в других пакетах bar и baz, при том, что bar зависит от foo с возможностью A, а baz от foo с возможностью B, то в итоге cargo объединит эти возможности и откомпилирует foo с включением возможностей A и B. Подобный метод может привести к тому, что возможность включённая из-за какой-то зависимости может оказаться несовместимой с целевой системой, для которой осуществляется итоговая сборка. Например, когда требуется использовать версию foo с "#![no_std]" в исполняемом файле, собираемом с "#![no_std]", и одновременно использовать foo с "std" во время сборки в build.rs. При указании resolver="2" в Cargo.toml пакетный менеджер теперь попытается корректно обработать данный конфликт, разделяя dev-, host- и target-зависимости.

  • В cargo реализована опция split-debuginfo, задаваемая в секции "[profile]" и соответствующий флаг "-Csplit-debuginfo=unpacked" в rustc, предлагающие реализацию нового метода сохранения отладочной информации, который позволяет избавиться от необходимости вызова утилиты dsymutil и существенно ускорить процесс сборки с отладочной информацией в macOS.
  • Стабилизированы макросы "ptr::addr_of!" и "ptr::addr_of_mut!", позволяющие создавать raw-указатели для невыровненных полей.
    
    
       use std::ptr;
    
       #[repr(packed)]
       struct Packed {
           f1: u8,
           f2: u16,
       }
    
       let packed = Packed { f1: 1, f2: 2 }; 
       // &packed.f2 создаст невыровненный указатель, приводящий к неопределённому поведению
       let raw_f2 = ptr::addr_of!(packed.f2);
       assert_eq!(unsafe { raw_f2.read_unaligned() }, 2);
    
    
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы:
  • Реализован третий уровень поддержки для платформ i386-unknown-linux-gnu, i486-unknown-linux-gnu, aarch64_be-unknown-linux-gnu, aarch64-unknown-linux-gnu_ilp32 и aarch64_be-unknown-linux-gnu_ilp32. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.


  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: В ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust
  3. OpenNews: Адаптация Debian для использования реализации coreutils на языке Rust
  4. OpenNews: Выпуск uefi-rs 0.8, обвязки для создания UEFI-приложений на языке Rust
  5. OpenNews: Завершён процесс создания организации Rust Foundation
  6. OpenNews: Выпуск языка программирования Rust 1.50
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54839-rust
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (305) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:52, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –31 +/
    просто лучший ЯП (сарказм)
     
     
  • 2.5, Аноним (5), 13:56, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +15 +/
    А почему сарказм?
    Нельзя сказать, что он прям лучший среди языков (спойлер: таких нет, каждому свое, и на каждую задачу свое). Но, без сомнения, он хороший и перспективный, признан крупными компаниями, пятый год получает звание самого любимого языка на stackoverflow.
     
     
  • 3.21, Урри (ok), 14:13, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +20 +/
    Сомнительное достижение быть "самым любимым" языком на площадке "я что-то делаю, а оно не работает, подскажите как правильно". Перед этим самым любимым языком на стековерфлоу был джаваскрипт.
     
     
  • 4.60, SlackJiralove (?), 15:07, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А в каком году JavaScript был самым любимым языком по мнению опрашиваемых посетителей Stackoverflow?
     
     
  • 5.305, Аноним (305), 19:53, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Твиттере есть такая шутка: какой у вас самый любимый ЯП и почему это ДжаваСкрипт?
     
  • 4.83, Аноним (83), 15:40, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    >Сомнительное достижение быть "самым любимым" языком на площадке "я что-то делаю, а оно не работает, подскажите как правильно".

    На ЛОРе его тоже любят. Каждый тред про Rust -- лютый срач.

     
     
  • 5.224, Аноним (-), 23:46, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Синтаксис тому очень способствует. Плюсовики over time - разгребают винтажные костыли, улучшают синтаксис. Растовики over time: обезьянят старые траблы плюсовиков.

    На раст не надо проводить obfuscated code contest. Он в каждой первой программе. Охренеть как интуитивно и читаемо.

     
  • 5.293, Аноним (293), 01:58, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    То что людей беспокоит то и важно и нужно
    В мире раньше всех беспоколи три вещи секс. бухло и рок н рол
    А теперь вот пришло время раста =)
     
     
  • 6.307, Аноним (307), 20:41, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Определи, в какую категорию относится раст.
     
  • 3.42, Аноним (42), 14:39, 26/03/2021 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.69, garrick (?), 15:21, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    А по TIOBE его даже FORTRAN и COBOL обгоняют
     
     
  • 4.70, garrick (?), 15:22, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.tiobe.com/tiobe-index//
     
  • 4.270, Директор Федор (?), 16:08, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Индекс TIOBE не показатель популярности, он лишь показывает число запросов вида "<имя языка> programming language". Полумертвый D стоит на 24-том месте, тебе это не о чем не говорит?
    И вообще рейтинг делается мартышками, ищущих вопросы по своему языку, например: "python language how to add int with string"
     
     
  • 5.306, Аноним (305), 20:39, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это ты как вывел что он полумертвый?! Народ в ЕС набирали год назад, у нас в компании на нем пилили одну штуку, развивается бурно, Уолтер даже переносит фичи из Раста и модерн С++ (заисмствования всякие и пр.)
     
     
  • 6.327, Настоящий Директор (?), 12:16, 04/04/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Народ в ЕС набирали год назад, у нас в компании на нем пилили одну штуку,

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

    > развивается бурно

    Ага прям как фанаты Моргенштерна


    > Уолтер даже переносит фичи из Раста и модерн С+

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

     
  • 5.325, Vindex (?), 18:47, 01/04/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Учитывая, как часто появляются новые пакеты для D в Dub registry, он будет иметь популярность в узких кругах ещё долго. Сам дома только на нём и пишу. Коммерчески значимые проекты тоже писал
     
  • 3.175, Аноним (305), 20:16, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В целом сложно поспорить, но вот 'признан крупными компаниями' - вот тут зацепочка. Чего они только не "признавали" :) Ну там сидит какой-то фанат, пропихнул идейку и вот уже в новостях 'признан крупными компаниями'.

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

     
  • 2.144, VINRARUS (ok), 18:30, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    после shell
     
  • 2.300, tmplsr (?), 10:20, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://swizard.livejournal.com/202744.html
    У нас есть Rust, поэтому C++ больше не нужен.

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

     
     
  • 3.308, Аноним (307), 20:48, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    вперёд, к диктатуре? ни шагу в сторону! прыжок на месте - расстрел!
     
  • 3.316, Аноним (316), 14:12, 29/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Страус труп, получается?
     

  • 1.2, InuYasha (??), 13:53, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    fn main()
    aaaargh! Думал, хоть в расте заставят писать полноценные заголовки с (void), но нет! >:(
     
     
  • 2.7, Аноним (5), 13:57, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это шутка?
     
     
  • 3.46, InuYasha (??), 14:44, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    да.
     
     
  • 4.98, Леголас (ok), 16:28, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    aaaargh! nope
     
  • 2.18, eganru (?), 14:08, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    [i]fn main()
    aaaargh! Думал, хоть в расте заставят писать полноценные заголовки с (void), но нет! >:([/i]
    в Си:
    при объявлении прототипа функции:
    - функция c аргументом void подразумевает, что у функции нет аргументов.
    - функция с пустые скобки аргументом подразумевает, что у функции произвольное число любых аргументов.

    Очень часто люди, чтобы не путаться(особенно в сложных) при написании прототипа копируют имя функции и ее описание - вот Вам и прототип.

    Естественно для пустые скобки в прототипе или void в прототипе это очень разные вещи.

     

  • 1.3, Аноним (5), 13:54, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Хороший релиз
    Долгих лет жизни языку
     
     
  • 2.14, Аноним (14), 14:03, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Долгих лет жизни и большого объема памяти проекту!
     
     
  • 3.49, InuYasha (??), 14:45, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это значит, что он тормозной и жручий по памяти?
     
     
  • 4.73, НяшМяш (ok), 15:22, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет
     
     
  • 5.289, Аноним (289), 00:10, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А на микроконтроллере с 16КБ флеша и 2КБ ОЗУ, где на стек 0x400 байт, и на кучу 0x200, получится?
     
     
  • 6.295, НяшМяш (ok), 02:27, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Например, вот так? https://www.avr-rust.com/
     
  • 4.127, Конь (?), 17:39, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    По потреблению памяти он на уровне C/C++
     
     
  • 5.159, InuYasha (??), 18:59, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это был просто дружеский подкол на фразу с пожеланием )
     
  • 4.244, Аноним (244), 05:39, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Местами, он даже быстрее С++, а где-то и чутка медленнее - +- паритет. Язык определенно заслуживает самого пристального внимания.
     
  • 2.166, Аноним (307), 19:32, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Долгих лет жизни языку

    Конечно, пожелание пригодится, а то за 16 лет ещё не смогли стабилизировать его.

     
     
  • 3.169, asdasd (?), 19:38, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Заврались вы батюшка. Стабильная 1.0 вышла в 2015, это было 6 лет назад, а первая публичная альфа в 2011-2012, то бишь за 3-4 года, а не за 16.
     
     
  • 4.240, Аноним (307), 02:37, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А до 1.0 что было в промежутке 2006-2015?

    > The language ... begun in 2006

     
     
  • 5.268, Аноним (268), 15:48, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Где взял 2006, там и прочитай - один чувак первые несколько лет в качестве хобби в свободное от работы и семьи время проектировал (не разрабатывал). Зачем тут ложь писать?
     
     
  • 6.285, Аноним (307), 22:11, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > проектировал (не разрабатывал).

    Известная ситуация, растаманы всегда проектируют, не разрабатывая :) у них одни пpoЭкты.

     

  • 1.6, Аноним (6), 13:57, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Зачем они пишут копию плюсов? Не хотят учить плюсы?
     
     
  • 2.9, Аноним (5), 13:58, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Как плюсовик, могу сказать, что Раст не копия плюсов, спроектирован лучше и без тонны легаси, мешающие развитию языка.
     
     
  • 3.22, Урри (ok), 14:14, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Уже с тонной заплаток поверх уже легаси.
    Каждый релиз новые заплатки. Через годик два он станет намного, намного хуже плюсов.
     
     
  • 4.62, SlackJiralove (?), 15:10, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Аргументы в студию.
     
     
  • 5.198, Ordu (ok), 22:04, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    За:
    https://kerkour.com/blog/the-biggest-threat-to-rust-sustainability/

    Против(?):
    https://steveklabnik.com/writing/how-often-does-rust-change

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

     
  • 2.17, Аноним (17), 14:05, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какая же это копия плюсов? Классов у них, я так понял, нет. Можно структуры, но там полная опа с наследованием.
     
     
  • 3.64, Аноним (64), 15:14, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно структуры, но там полная ООПа с наследованием.
     
  • 2.99, Аноним (-), 16:29, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Куда этому поделию до плюсов. Ты чего ? Тут вон итераторы к семнадцатому году подвезли, радуйся :D
     
     
  • 3.121, Аноним (121), 17:23, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    жыр с монитора потек
     
  • 2.162, iLex (ok), 19:11, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не хотят по две недели трахаться с зависимостями каждый раз, когда нужно собрать... большой текст свёрнут, показать
     
     
  • 3.196, Урри (ok), 21:55, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как я понял комментарий выше, iLex прославляет аналог maven и npm под названием rust. О самом языке ни слова.

    Ну все как обычно - неосиляторы прославляют удачу по сборке своего хелловорлда.

     
     
  • 4.223, боня (?), 23:44, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А потом к ним подключаются другие неосиляторы, вместо того, чтобы вкладывать свои усилия в ваш проект.

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

     
  • 3.326, Spiker01 (?), 19:32, 01/04/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Плюсую Не писал на Python-е ничего сложного на данный момент и против данного... большой текст свёрнут, показать
     

  • 1.8, Аноним (8), 13:57, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Забавный факт: в арчике пакет rust 1.50 весил 567мб, а 1.51 — 496мб. Доколе его вес будет так штормить?
     
     
  • 2.12, Alladin (?), 14:01, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ставь rustup и не морочь мозги.

    Да и ты сравниваешь не размер package, а его разжатый вид:)

    Размер package: 80мб.

     
     
  • 3.19, Аноним (8), 14:11, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я же пользуюсь растом в разжатом виде. Зачем мне обращать внимание на размер архива? ¯\_(ツ)_/¯
     
  • 2.13, data man (ok), 14:02, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    clang + все зависимости не штормят?
     
     
  • 3.20, Аноним (8), 14:12, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не знаю. Но gcc в порядке.
     
  • 2.15, A.Stahl (ok), 14:03, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Предлагаю округлить до 1 ГиБ и искусственно поддерживать это значение чтобы анонимы не пугались шторма. Их укачивает.
     
     
  • 3.23, Аноним (8), 14:15, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    По-твоему это совершенно нормально, что плагин к LLVM весит примерно столько же, сколько clang + llvm-libs + llvm?
     
     
  • 4.119, Конь (?), 17:18, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это наверное со всеми зависимостями и исходниками, а сам раст весит около 5Mb
     
  • 3.110, Последний из могикан (?), 16:53, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    До ff жрущего 600-800мб привыкли и до этого тоже привыкнут.
     
     
  • 4.117, Аноним (-), 17:13, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не надо, палемун на системе с 512Мб на борту в три браузера по десятке вкладок шевелит только в путь.
     
  • 4.291, Аноним (5), 00:45, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    600-800 - это много?
    У тебя там 2 ГБ ОЗУ что ли?
     

  • 1.10, Аноним (10), 13:59, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    // Раньше для перебора
    for item in array.iter().copied() {

    // Теперь можно указать
    for item in std::array::IntoIter::new(array) {

    Помоему язык развивается в противоположенную от упрощения сторону.


     
     
  • 2.11, Аноним (5), 14:01, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Норм
    for item in array.iter().copied() {
    for item in IntoIter::new(array) {

     
     
  • 3.16, Аноним (16), 14:05, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    foreach (var item in array)
     
  • 3.24, Филимон Осмотрительный (?), 14:15, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +17 +/
    for (auto item : array)
    {}

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

    Почему злой и страшный С++ выглядит удобнее и понятнее Rust ?


     
     
  • 4.48, боня (?), 14:44, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    к плюсам не из-за этого претензии
     
     
  • 5.55, Кир (?), 14:55, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Сколько ни спрашивал, все либо затрудняются сформулировать претензии к C++, либо несут ахинею. С учётом последних нововведений, C++ рулит и педалит остальные ЯП почти во всех областях применения.
     
     
  • 6.100, Аноним (-), 16:31, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нововведения убили плюсы
     
  • 6.109, Аноним (109), 16:48, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Недавно на хабре видел статью человека, который устал пытаться писать на C++ без UB. Я пытался писать без UB, устал и забил. Теперь с покерфейсом пишу код с UB, потому что так и не нашел куда спрыгнуть. Человек, который не увидит в следующей функции UB, за которое ОСь может прибивать программу, не должен допускаться до C++.

    size_t count_spaces(const std::string& str)
    {
        size_t ret = 0;
        for (char c: str)
        {
            if (std::isspace(c))
                ++ret;
        }
        return ret;
    }

    Спойлер UB есть в описании isspace на en.cppreference.com

     
     
  • 7.123, Онаним (?), 17:32, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну в принципе ожидаемо. Особенно на хабре, как раз тот уровень.
    Называется: надо читать описания-то.
     
     
  • 8.132, Аноним (109), 17:59, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А поделитесь своими ощущениями от чтения стандарта по плюсам во время написания ... текст свёрнут, показать
     
     
  • 9.143, Кир (?), 18:23, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Читать стандарты надо, в общем-то, ДО написания программы Простая аналогия есл... текст свёрнут, показать
     
     
  • 10.148, Аноним (109), 18:41, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А те, кто не видят проблем в C , стандарт читали Запомнить я его не смог, пере... текст свёрнут, показать
     
     
  • 11.154, Кир (?), 18:50, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты правда считаешь, что это проблемы именно C Похоже, у меня для тебя плохие ... текст свёрнут, показать
     
  • 11.157, InuYasha (??), 18:58, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Достали шаблоны, многоэтажные конструкции с кучами двоеточий Прешёл обратно на ... текст свёрнут, показать
     
     
  • 12.168, Онаним (?), 19:37, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Шаблоны - прекрасная штука, если с умом готовить Особенно когда у тебя куча одн... текст свёрнут, показать
     
     
  • 13.199, Урри (ok), 22:07, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это и на си можно делать Точнее на gcc расширении c, которое сто лет поддержива... текст свёрнут, показать
     
  • 9.164, Онаним (?), 19:29, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Возьмите MaNGOS, попробуйте разобрать код Попутно прокачаетесь ... текст свёрнут, показать
     
  • 9.167, Онаним (?), 19:36, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А так-то без хендбука под рукой лезть в дебри языков вообще смысла нет Любых Н... текст свёрнут, показать
     
  • 7.133, Филимон Мудрый (?), 18:02, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    UB - само по себе не плохо и не хорошо Это не ошибка UB - это когда определяет... большой текст свёрнут, показать
     
     
  • 8.155, Аноним (109), 18:55, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет Детали реализации это - unspecified behavior или implementation-defined beh... текст свёрнут, показать
     
     
  • 9.212, Онаним (?), 22:51, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вообще UB при кривом исходном вводе - это нормально, и существует даже вне ЯП - ... текст свёрнут, показать
     
  • 7.135, Кир (?), 18:10, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А для кого приведен пример на том же cppreference?




    int count_spaces(const std::string& s)
    {
        return std::count_if(s.begin(), s.end(),
                             [](unsigned char c){ return std::isspace(c); } // correct
                            );
    }



     
     
  • 8.153, Аноним (109), 18:49, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я привел пример для отсева абсолютно некомпетентных и пример того, что даже сама... текст свёрнут, показать
     
     
  • 9.158, Кир (?), 18:58, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Трехколесный велосипед лучше мерседеса, потому что на нем вы никогда не въедете... текст свёрнут, показать
     
     
  • 10.228, боня (?), 00:17, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы можете часть своего рабочего времени искать уб при подсчёте пробелов не факт... текст свёрнут, показать
     
  • 9.195, Филимон Участливый (?), 21:19, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это плохо Если с концентрацией проблемы первым делом проверьте уровень кортизол... текст свёрнут, показать
     
  • 9.213, Онаним (?), 22:55, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если концентрацию поддерживать не получается - лучше сразу сменить профессию ... текст свёрнут, показать
     
  • 7.163, Vkni (ok), 19:13, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Я пытался писать без UB, устал и забил. Теперь с покерфейсом пишу код с UB, потому что так и не нашел куда спрыгнуть.

    Рекомендую прочитать статью MA Ertl'а "What every compiler writer should know about programmers". В ней, в частности, рассказывается, что исторически UB использовались для заточки под конкретный компилятор и систему. И, в общем, язык системный => написание "generic" кода, который системно независим, это выход за пределы области применения C.

    К сожалению, это конфликтует с желанием компиляторщиков использовать UB для чего угодно. :-(

     
     
  • 8.216, Аноним (109), 23:09, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за статью Истоки UB я знаю и с рассуждениями по ходу статьи согласен К... текст свёрнут, показать
     
  • 7.260, fidoman (ok), 10:44, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что unsigned char надо использовать. Вроде бы не такая сложная головоломка, чтоб прям "спрыгивать".
     
     
  • 8.267, Аноним (109), 15:31, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это просто одна из мин, на которой я подорвался Мне о ней лет 10 назад сказал M... текст свёрнут, показать
     
     
  • 9.273, fidoman (ok), 17:31, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Она реально роняет Интересно бы в либе код посмотреть, как им это удаётся ... текст свёрнут, показать
     
  • 6.111, боня (?), 16:56, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Сколько ни спрашивал, все либо затрудняются сформулировать претензии к C++.

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

     
     
  • 7.124, Онаним (?), 17:33, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Полиморфные указатели на абстракции от структур :D
     
     
  • 8.126, Онаним (?), 17:34, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    всерьёз воспримется только теми, кто понимает, как оно внутри работает ... текст свёрнут, показать
     
  • 4.134, Sw00p aka Jerom (?), 18:08, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    foreach ($arr as $key => $value)
    {
    }

    куда "красивее", пхпешники поддержат :)

     
     
  • 5.176, Варенье (?), 20:17, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только у вас нарушение PSR-12 (секция 5.5), фигурная скобка в foreach должна быть на той же строке, что и закрывающая круглая скобка
     
     
  • 6.207, Sw00p aka Jerom (?), 22:24, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Только у вас нарушение PSR-12 (секция 5.5), фигурная скобка в foreach должна
    > быть на той же строке, что и закрывающая круглая скобка

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

     
     
  • 7.215, Онаним (?), 23:07, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У меня часто складывается ощущение, что в написании PSR отчасти участвовали неадекваты.
    Нет, там очень много здравого, чему стоит следовать.
    Но вот эти MUST типа "There MUST NOT be more than one statement per line"
    Ага, вот прямо сейчас разбежался 10-15 переменных для цикла инициализировать портянкой по пять букв в строчке.
    То же самое со скобками. Здесь конечно лучше наверх вытащить. Но в ряде случаев действительно читабельнее, когда открывается на своей строке.
     
     
  • 8.217, Онаним (?), 23:12, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потом открываешь какой-нибудь моднявый прожектик килобайт в 25 для вызова внешне... текст свёрнут, показать
     
     
  • 9.218, Онаним (?), 23:14, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    причём качество тех же комментариев, записанных правда покороче, без лишних стр... текст свёрнут, показать
     
  • 5.214, Онаним (?), 22:56, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Поддерживаю.
    PSR идут в задницу, но да, скобочку лучше таки утащить в первую строку.
    Индекс нам там тоже в исходной задаче вроде не нужен.

    foreach ($array as $item) {
    }

     
     
  • 6.225, Sw00p aka Jerom (?), 23:49, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > скобочку лучше таки утащить в первую строку.

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


     
     
  • 7.253, Онаним (?), 09:18, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, дело вкуса. Кроме вкуса ещё есть дело читабельности.
    Я например легко читаю почти весь код, даже откровенный говнокод - кроме кода, написанного строго по PSR... :D Возможно потому, что нынешние мониторы широки вширь, но узки ввысь, и листать километровую портянку задалбывает.
     
  • 5.254, Онаним (?), 09:22, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А вообще чессгря с годами всё больше уверенности, что PHP занимаются практики, а не теоретики.

    Даже на этом примере. Очевидное foreach. Обычное для C-подобных языков открытие блока кода. Все переменные сразу видны - с ключевыми словами не спутаешь никак. as в нужном месте, сразу понятно, кто есть кто. Ну и $key => $value, учитывая, что значения хешей к ключам именно через => объявляются, тоже вполне логично.

     
     
  • 6.255, Онаним (?), 09:24, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То же

    for item in IntoIter::new(array)

    ШТО ЭТО, БЛ***???
    IntoIter - это класс какой-то? Статический вызов new - ну, тут вроде понятно.
    А array что такое? Ключевое слово именования типа? То есть IntoIter::new принимает имя типа на входе?
    БРРРГГГ...

     
     
  • 7.256, Онаним (?), 09:26, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    std::array::IntoIter::new(array) же - это вообще лютый Ц
     
  • 4.275, burjui (ok), 19:58, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Уже давно можно писать "for item in &array".
     
  • 2.54, Аноним (54), 14:55, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    // Раньше для перебора
    for item in array.iter().copied() {

    // Теперь можно указать
    for item in array.iter().copied() {
    ИЛИ
    for item in std::array::IntoIter::new(array) {

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

     
     
  • 3.125, пох. (?), 17:34, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я одного только не пойму - вы эти бредовые заклинания "std::array::IntoIter::new" наизусть вызубрили все стопиццоттыщ, или каждый раз гуглите когда надо просто перебрать массив?

    (нет, array.iter().copied() ничем не лучше, разумеется)

     
     
  • 4.138, Аноним (138), 18:20, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Просто кури https://doc.rust-lang.org/std/index.html
     
     
  • 5.171, Аноним (307), 19:43, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Просто кури

    Что ещё можно ждать от растаманов...

     
  • 5.221, пох. (?), 23:35, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо, я лучше пока так, на травке посижу.

     
  • 4.261, Аноним (261), 12:27, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А мне кажется синтаксическим бредом С++, дальше что? Мне срать язык, потому что не нравится синтаксис?
    Как тема про раст, так сразу дискуссии о нужности, полезности и тщетности бытия.
     
  • 2.107, Чума (?), 16:38, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    for i in array {
      // ...
    }
     
  • 2.197, Ordu (ok), 21:59, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Помоему язык развивается в противоположенную от упрощения сторону.

    Не, тут пример показывает не простоту, а возможность. into_iter реально не хватало для array, потому что если хочется сделать что-то типа:

        ...
        .map(|arr| arr.into_iter())
        .flatten()
        .collect();


    То это нифига не работало, поскольку arr никак в into_iter, а arr.iter() -- это итератор, который ссылается на arr, и если arr прекращает существовать, то ссылка оказывается висящей. Здесь же, arr существует только внутри замыкания передающегося в map, и собственно фишка в том, чтобы итератор пожил подольше, чтобы все эти итераторы можно было бы flatten в один единый итератор по всем элементам, чтобы потом сделать collect.

     
     
  • 3.200, Урри (ok), 22:12, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Охренеть какие сложности просто для того, чтобы обработать массив.

    Сразу возникает вопрос - а почему не сделать было сразу нормальную итерацию по массивам? Почему надо навешивать очередную заплатку поверху?

    Впрочем, вопрос риторический.

     
     
  • 4.208, Ordu (ok), 22:42, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Сразу возникает вопрос - а почему не сделать было сразу нормальную итерацию
    > по массивам? Почему надо навешивать очередную заплатку поверху?

    Это безопасность. Если в коде выше заменить into_iter() на iter(), то borrow-checker пошлёт тебя куда подальше, потому как итератор содержит в себе ссылку на локальный массив лежащей в переменной-аргументе arr, но после выхода из лямбды локальный массив перестанет существовать, и получается, что пытаясь сделать такое, ты пытался вернуть указатель на локальную переменную.

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

     
     
  • 5.252, Аноним (252), 08:49, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А все потому что в новости не удосужились нормально объяснить.
     
     
  • 6.269, Ordu (ok), 16:02, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > А все потому что в новости не удосужились нормально объяснить.

    Мне нормально. А тем, кто не понимает, зачем это надо, явно это не надо. Ну, реально, я понял с первого взгляда в чём фишка благодаря тому, что я как-то пытался отрисовать палитрованое изображение, заменяя номера цветов на цвет из палитры, добавляя к нему alpha компоненту, и впоролся в то, что когда я итератор по номерам цветов из палитры превращаю в итератор по rgba четвёркам, я потом не могу из этого итератора по [u8; 4] сделать итератор по итераторам по [u8; 4]. Надо было либо писать что-то типа IntoIter для [u8; 4], либо закапывать функциональщину и переписывать императивно. Кстати императивно лучше вышло, потому что таким образом я смог предвыделить память сразу под все четвёрки rgba. Но не так идеоматично.

     
     
  • 7.310, Онаним (?), 21:59, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ... когда я итератор по номерам цветов из палитры превращаю в итератор по rgba четвёркам, я потом не могу из этого итератора по [u8; 4] сделать итератор по итераторам по [u8; 4] ...

    На этом месте стоило перестать курить раст, взять C, и сделать всё по-человечески, без итераторов.

     
  • 7.311, Онаним (?), 22:00, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    (я охренел только от одного описания процесса, на код кмк там лучше даже не смотреть уже)
     

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

  • 1.25, White Crow (?), 14:17, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +15 +/
    Для тех, кому ненужен низкоуровневый доступ, есть Go.

    Для чего форсят это ржавое убожество, мне совершенно непонятно.

     
     
  • 2.32, Аноним (-), 14:25, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто ты упоротый технарь и совсем не понимаешь, что в айти решает бабло, а не технологии.
     
     
  • 3.43, White Crow (?), 14:40, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А ты, я смотрю, философ.
     
  • 3.101, Аноним (-), 16:32, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    про технаря ты погорячился
     
  • 3.113, Gemorroj (ok), 17:00, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    go и технарь в 1 предложении? молодежь совсем оборзела.
    гугель и go - это не бабло, а мозила и раст - это бабло? яснопонятно.
     
     
  • 4.136, White Crow (?), 18:14, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >go и технарь в 1 предложении?

    Я на этом на пишу, если что.

     
  • 2.139, Аноним (138), 18:20, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем сборщик мусора на уровне низком уровне?
     
     
  • 3.140, Аноним (138), 18:21, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Go и системщина не очень совместимы)
     
     
  • 4.178, Аноним (-), 20:20, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А с чем оно вообще совместимо ? С сотней гигов памяти ?
     
     
  • 5.290, Аноним (289), 00:14, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот как раз нет. За счет внутренней многопоточности, которая быстрее системной и экономнее и делается одним оператором. Потому и на серваки ставят, чтобы кушало меньше в десятки тысяч потоков.
     
     
  • 6.297, Аноним (297), 08:16, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А ну да, корутины же только в го есть
     
  • 2.271, Директор Федор (?), 16:47, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А зачем он вообще нужен? На нем ведь только микросервисы делают, да простые консольные утилитки
     

  • 1.26, Аноним (26), 14:17, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если Rust и Go лучшие языки программирования, почему Firefox и Chrome сделаны на c++?
     
     
  • 2.27, Fracta1L (ok), 14:20, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Из первого С++ уже выпиливают, из второго - планируют
     
     
  • 3.31, Аноним (14), 14:25, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нужно будет запланировать докупить оперативочки.
     
  • 3.36, Урри (ok), 14:28, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Бхахахахах. Пока что выпилили сам раст, на мороз.
     
  • 3.37, Филимон Проницательный (?), 14:28, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот Столлмана выпиливают из фонда СПО ... Если что-то откуда-то выпиливают, это, не факт, что к добру.
     
  • 3.88, Аноним (88), 15:47, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Из первого С++ уже выпиливают, из второго - планируют

    Нет, и в мыслях ни у кого небыло и не будет.

     
  • 3.90, пакемон (?), 15:49, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Из первого С++ уже выпиливают, из второго - планируют

    У тебя опять памяти не хватило или раст рухнул?

    Падать твоё гавно уже перетало? Утечки починили?

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

    Эпик фейл года, падает не прога криво написанная на языке, а падает сам язык. Вер безопасности.

     
     
  • 4.97, Аноним (-), 16:21, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> в коде аналог сишного
    >> fprintf(stderr,"что-то пошло совсем не так! капец!"); exit(1);
    > Эпик фейл года, падает не прога криво написанная на языке, а падает
    > сам язык.

    Эпик обсер года от очередного "Ыксперта".

     
     
  • 5.103, gcc (??), 16:34, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>> в коде аналог сишного
    >>> fprintf(stderr,"что-то пошло совсем не так! капец!"); exit(1);
    >> Эпик фейл года, падает не прога криво написанная на языке, а падает
    >> сам язык.
    > Эпик обсер года от очередного "Ыксперта".

    Обделался :D fprintf не упал, exit не упал. Хаааа. Rustтун ыкпыртызыт си оборжатся.

     
     
  • 6.105, gcc (??), 16:35, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>>> в коде аналог сишного
    >>>> fprintf(stderr,"что-то пошло совсем не так! капец!"); exit(1);
    >>> Эпик фейл года, падает не прога криво написанная на языке, а падает
    >>> сам язык.
    >> Эпик обсер года от очередного "Ыксперта".
    > Обделался :D fprintf не упал, exit не упал. Хаааа. Rustтун ыкпыртызыт си
    > оборжатся.

    Ой, в слове "ыкпыртызыт" пропустилось "с". Должно быть "ыкcпыртызыт" - это раст с памятью поработал.

     
  • 6.108, Аноним (108), 16:39, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>>> panic!("OOB");
    >>>> Macro std::panic
    >>>> This allows a program to terminate immediately and provide feedback to the caller of the program. panic! should be used when a program reaches an unrecoverable state.
    >>>> в коде аналог сишного
    >>>> fprintf(stderr,"что-то пошло совсем не так! капец!"); exit(1);
    > Обделался :D fprintf не упал, exit не упал. Хаааа. Rustтун ыкпыртызыт си
    > оборжатся.

    Сам написал бессмылицу, сам ее оспорил. Ыксперд, че.

     
  • 4.202, Урри (ok), 22:16, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там выше объяснили, что чтобы не падало, надо новую заплатку на язык повесить т... большой текст свёрнут, показать
     
     
  • 5.211, Ordu (ok), 22:49, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Я, как старый лиспер и функциональщик до мозга костей, в полном ах_е.

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

     
  • 3.92, spell checker (?), 15:53, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Из второго Rust уже выпиливают, в первом - не планируют внедрять.

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


     
     
  • 4.141, Аноним (138), 18:22, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Почему же? Все новости об обратном говорят.
     
  • 2.28, Аноним (-), 14:24, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Если Rust и Go лучшие языки программирования, почему Firefox и Chrome сделаны на c++?

    Если C++ такой крутой ЯП, то почему OpenNet на Perl?

     
     
  • 3.38, Урри (ok), 14:29, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что перл лучше с++. А ты не знал?
     
  • 3.41, Филимон Проницательный (?), 14:31, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Perl отличный язык и не менее крут чем С++. А после того, как все гвнкдры свалили с него в PHP, так вообще сказка
     
     
  • 4.93, spell checker (?), 15:55, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Perl отличный язык и не менее крут чем С++. А после того,
    > как все гвнкдры свалили с него в PHP, так вообще сказка

    Истина

     
  • 3.52, kusb (?), 14:53, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А UTF лучше КОИ8?
     
     
  • 4.78, Аноним (78), 15:33, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хуже. Имя файла в два раза короче.
     
     
  • 5.128, Онаним (?), 17:43, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С чего бы это, если оно латиницей и цифрами?
    Ну и да, запиши мне な в KOI8.
     
     
  • 6.173, Аноним (307), 19:56, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > な в KOI8

    ISO 3602: "na"

     
     
  • 7.187, Онаним (?), 20:41, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "na" - это то, куда с такой записью стоит пройти.
     
  • 3.142, Аноним (138), 18:22, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что opennet желтый) и духом из 90х))
     
     
  • 4.264, Аноним (305), 12:56, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вспомнию с ностальгией инет 90х - дружелюбие и все-просто-работает. Без поганого Жабоскрипта кек
     
  • 3.160, InuYasha (??), 19:02, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Если C++ такой крутой ЯП

    Крутая кривая познания? )

    > почему OpenNet на Perl?

    Потому что, очевидно, автор его знал.

     
  • 2.35, Аноним (35), 14:27, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Потому что уже сделаны
     
  • 2.265, anonymous (??), 14:22, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Осмелюсь предположить, что эти браузеры появились раньше, чем rust и go.
     

  • 1.29, Аноним (29), 14:25, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Сейчас налетят растохейтеры
     
  • 1.33, DildoZilla (?), 14:26, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Даёшь Rust++ с обобщёнными асинхронными абстрактными шаблонами полиморфных классов!
     
     
  • 2.174, Аноним (307), 19:58, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Растаманы ещё через 15 лет обнаружат, что сделали ещё один С++
     
     
  • 3.229, боня (?), 00:21, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ну и пусть, один раз живём. И пока язык на начальной стадии, работать с ним в удовольствие
     
     
  • 4.241, Аноним (307), 02:41, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > один раз живём

    Это тебе кто сказал?

    > язык на начальной стадии

    Ага, начальная стадия тянется с 2006-го года.

     
     
  • 5.246, боня (?), 07:23, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ага, начальная стадия тянется с 2006-го года.

    На википедии написано, что язык появился 7 июля 2010 года.

    Если перейти по сноске, то там вот такое письмо https://mail.mozilla.org/pipermail/rust-dev/2010-July/000001.html

     
     
  • 6.284, Аноним (307), 21:35, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > 2010

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

     
     
  • 7.299, боня (?), 08:48, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы уж определитесь, то говорите, что в 2015, то в 2010. Но разработка начата, почему-то, в 2006-ом.

    Считайте как как вам выгодно. Для утверждения, что "языку уже 15 лет, и он нинужен" 2006 год подходит отлично.

     
  • 6.287, anonimous (?), 23:26, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >На википедии написано, что язык появился 7 июля 2010 года.

    Rust (programming language) - Wikipedia
    https://en.wikipedia.org › wiki › Rust_(programming_l...
    History — The language grew out of a personal project begun in 2006 by Mozilla employee Graydon Hoare, who stated that the project was possibly named after the rust family of fungi. Mozilla began sponsoring the project in 2009 and announced it in 2010.

     
  • 5.247, боня (?), 07:25, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ага, начальная стадия тянется с 2006-го года.

    Кстати, с другой стороны, если за 15 лет (по вашему мнению) из языка не сделали монстра - то, думаю, уже и не сделают

     

  • 1.34, Урри (ok), 14:27, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Очередные заплатки к очередным граблям.

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

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

    > Стабилизированы макосы "ptr::addr_of!" и "ptr::addr_of_mut!", позволяющие создавать raw-указатели для невыровненных полей.

    Не прошло и, сколько, 14 лет для полноценной имплементации такой базовейшей вещи?

    Кстати, растаманы. А не подскажете зачем макросы выделять отдельно от функций значком "!"? Какая в этом практическая польза, помнить что макрос а что нет? А то у меня только один вред в голове возникает - кроме названия метода почему-то обязательно запоминать макрос он или нет.

     
     
  • 2.51, Аноним (51), 14:52, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда когда язык сам ничего не позволяет приходится пихать в него все возможные API и макросы чтобы хоть что-то на нем писать.
     
  • 2.53, боня (?), 14:53, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Какая в этом практическая польза, помнить что макрос а что нет?

    да

     
     
  • 3.89, Аноним (89), 15:49, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А зачем ?
     
     
  • 4.161, InuYasha (??), 19:04, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чтобы "Life of people who have no F12 (Go to definition) key matters!"
     
     
  • 5.249, боня (?), 07:36, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чтобы "Life of people who have no F12 (Go to definition) key matters!"

    Не нашёл статьи с таким названием. Или зачем вы в кавычках и по английски написали?

    Чтобы вам было менее понятно читать ответ - напишу на украинском:

    Для налагодження метапрограмирування програміст використовує метабрейкпоінти. (представляєт, що поставiв брейкпоінт)

     
     
  • 6.286, InuYasha (??), 22:22, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А программiруете вы, наверное, тоже на украiнском ) Мне даже страшно представить ваш аналог 1С /(o_o)\

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

     
  • 2.56, Аноним (56), 14:56, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Гугли про механизм редакций Rust Язык спроектирован так, что может позволять се... большой текст свёрнут, показать
     
     
  • 3.66, Урри (ok), 15:17, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    То-есть я могу свободно собрать и запустить код десятилетней давности Ню-ню За... большой текст свёрнут, показать
     
     
  • 4.72, Аноним (56), 15:22, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > гигиеничность к расту отношения не имеет

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

     
     
  • 5.76, Урри (ok), 15:31, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Слив, как говорится, засчитан.

    Смею предположить, что из-за этого вот моего вопроса:

    >> это просто часть здоровой взрослой практики: отделять вызов макроса от вызова функции, потому что семантически это разные вещи
    > write и writeln! - семантически разные вещи?

     
     
  • 6.84, Аноним (84), 15:41, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Умнее слиться в споре, где побеждают не аргументами и здравым смыслом, а напором и аппеляцией к одобрению большинства местной аудитории :)

    А вопрос я проигнорил, потому что он непонятен. В-первых, неточен. Под write понимается std::io::Write::write или может std::fs::write? В любом случае, если ты имел в виду какую-то фнкцию, то да, это совершенно разные вещи, потому что, макрос и функция - это разные вещи (внезапно).

     
     
  • 7.137, Урри (ok), 18:14, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, непонятен вопрос чем write и writeln семантически разные вещи Ну ок Со... большой текст свёрнут, показать
     
     
  • 8.191, Аноним (191), 20:55, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    define TRUE FALSE счастливой отладки... текст свёрнут, показать
     
  • 8.274, боня (?), 18:53, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    не для вас его роза цвела, поймите уже... текст свёрнут, показать
     
  • 8.317, Cykooz (ok), 14:58, 29/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если для вас макросы и функции это одно и то же, то может расскажете как в том ж... большой текст свёрнут, показать
     
     
  • 9.318, Урри (ok), 17:42, 29/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы не понимаете, что значит семантически А что такое алгоритмизация знаете ... большой текст свёрнут, показать
     
  • 4.281, боня (?), 21:15, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чем write отличается от writeln!

    write это функция, а writeln! это макрос.

     
  • 2.58, Аноним (58), 15:01, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  А не подскажете зачем макросы выделять отдельно от функций значком "!"? Какая в этом практическая польза, помнить что макрос а что нет?

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

     
     
  • 3.68, Урри (ok), 15:20, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Потому что макросы принимают аргументами кастомный синтаксис, и творят с ним магию
    > кодгена.
    > Полезнее сразу видеть, где в коде творится магия (макросы очень мощная штука)

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

    Рекомендую почитать "Совершенный код" Макконела. Очень рекомендую.
    https://ru.pdfdrive.com/%D0%A1%D0%BE%D0%B2%

     
     
  • 4.95, Аноним (95), 16:04, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не знаток Rust, но учитывая его работу с памятью, предположу, что макросы и функции просто обязаны прямо отличаться.
    Функция определяет новую область видимости, нужно специально следить за владением передаваемых и возвращаемых параметров. Макрос просто подставляет код макроса в текущую область видимости не влияя на владение. Плюс возможности макросов шире чем у функций.
    Из приведенного примера с writeln вопрос почему это макрос, видимо в том, что в коде он автоматом преобразуется в два вызова write или один с добавлением к аргументу \n, а не обертки функции перекладывающие значения по стеку туда и обратно.
     
     
  • 5.145, Урри (ok), 18:35, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Функция определяет новую область видимости, нужно специально следить за владением передаваемых
    > и возвращаемых параметров. Макрос просто подставляет код макроса в текущую область
    > видимости не влияя на владение.
    > Из приведенного примера с writeln вопрос почему это макрос, видимо в том,
    > что в коде он автоматом преобразуется в два вызова write...

    Другими словами "макрос не влияя на владение параметров преобразуется в два вызова влияющих на владение параметров функций". Таким образом прямо противореча задекларированному.

    Как видите, вы ошиблись. Это не так.

     
     
  • 6.193, Аноним (95), 21:18, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Макрос не влияет, но код к которому он в итоге приводит вполне может.
    Не вижу тут противоречия. Сама логика его использования это подразумевает.
    Главное что он не маскируется в какую-то самостоятельную функцию, которой на самом деле там и нет вовсе.
    Для системного программирования думаю это очень хорошая практика. Тем более в доке видел макросы вида sql!(select * from TABLE1), тут уж явно не функция.
    В остальном вопрос сводится к выбору подходящего имени самого макроса.
    Так можно назвать макрос readln, а вызывать в нем write. Это запутывает, но к самой системе макросов это отношения не имеет.
     
     
  • 7.203, Урри (ok), 22:18, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    (facepalm)
     
     
  • 8.222, Аноним (95), 23:43, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну это зря Если копнуть вопрос поглубже Единый синтаксис вызова функций и макр... текст свёрнут, показать
     
  • 4.152, Аноним (152), 18:47, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/

    > Полезнее названия методов/макросов писать так, чтобы сразу было понятно что они делают,
    > а не где внутрях происходит "магия".

    Не вижу ничего взаимоисключающего в этих двух вещах.


     
  • 4.201, Ordu (ok), 22:16, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Дык их и пишут так Что-то в слове println тебе не ясно Но println при этом, ... большой текст свёрнут, показать
     
     
  • 5.204, Урри (ok), 22:19, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я думал джаваскриптеку совсем прибитые своим языком. Но вы мне открываете новые горизонты.
     
     
  • 6.209, Ordu (ok), 22:42, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Я думал джаваскриптеку совсем прибитые своим языком. Но вы мне открываете новые
    > горизонты.

    Завсегда пожалуйста.

     
  • 4.323, Аноним (268), 16:04, 30/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > sicp
    > Code complete

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

    Судя по комментариям, Урри-таки хаскелист, увидевший картиночку с xkcd и пописавший пару строчек на lisp. А судя по выводам, то не факт, что даже до хотя бы HelloWorld дошло.

     
  • 2.74, НяшМяш (ok), 15:28, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Не прошло и, сколько, 14 лет для полноценной имплементации такой базовейшей вещи?

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

     
     
  • 3.77, Урри (ok), 15:32, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Подажжи, ведь раст замена с++. А значит раст оперирует с указателями. А указатели всегда могут быть не выравнены.

    Получается, раст не замена плюсам. Раст замена, ну я не знаю, джаваскрипту?

     
     
  • 4.82, НяшМяш (ok), 15:39, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А кто сказал что этого нельзя было делать раньше? Открываем ту же ссылочку по add_of! и читаем.

    > Create a const raw pointer to a place, without creating an intermediate reference.

    То есть это можно было делать и раньше, но через промежуточную ссылку. А теперь можно делать напрямую.

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

     
     
  • 5.146, Урри (ok), 18:38, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Фигня какая-то получается.

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

    Извини, но реально звучит как бред какой-то. Точнее как полуосмысленное бегание "а что бы такого еще запилить".

     

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

  • 1.39, th3m3 (ok), 14:29, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть уже что-то типо Django на Rust?
     
     
  • 2.47, Аноним (42), 14:44, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лол язык не для этого он чтобы хвасаться, а не работать.
     
     
  • 3.75, НяшМяш (ok), 15:31, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ждём примеров на C и С++
     
     
  • 4.104, Аноним (-), 16:35, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прикола ради - ты хоть пытался искать ? Этого г-на на самом деле хоть отбавляй.
     
     
  • 5.114, Аноним (114), 17:04, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Искать для растофанатика, ты что матюгнулся так? Настоящие растофанатики не в состоянии заняться поиском в силу умственных способностей.
     
  • 2.79, Аноним (79), 15:34, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    actix-web
    rocket
     
  • 2.94, Аноним (94), 15:57, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Есть actix, hyper, ntex но они по уровню абстракции как golang примерно.
     

  • 1.40, Аноним (40), 14:29, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть какой-нибудь софт на расте?
     
     
  • 2.45, Аноним (42), 14:44, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нету, совсем, от слова ващщщще.
     
  • 2.50, боня (?), 14:51, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Смотрите на

    https://github.com/rust-unofficial/awesome-rust

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

     
     
  • 3.61, Аноним (40), 15:08, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Глянул - калькуляторы, враперы к Си либам, vim-клоны и прочее дерьмо.
     
  • 3.65, Аноним (65), 15:15, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Болезный сам перейди по своей ссылке и посмотри что это за софтины. Это нелепая показуха для хомячков. В MeeGo раньше таже каждую читалку рсс ленты одного сайта называли приложением и говорили: «Смотрите сколько у нас  много приложений! Для каждого сайта своё!»
     
     
  • 4.250, боня (?), 07:42, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот еще

    https://rust.libhunt.com/categories/1496-applications-written-in-rust

     
  • 4.302, Аноним (268), 11:46, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > actix-web
    > Firecracker
    > нелепая показуха для хомячков

    Ну-да, ну-да, посмотреть ты-таки не удосужился.

     
  • 3.71, Урри (ok), 15:22, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Смотрите на
    > https://github.com/rust-unofficial/awesome-rust

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

     
     
  • 4.324, Аноним (268), 16:07, 30/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > actix
    > FireCracker
    > ...

    Если для Вас это

    > хелловорлд

    то что же Вы разрабатываете? Вселенную?
    https://xkcd.com/224/

     
  • 3.120, Аноним (-), 17:21, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > https://github.com/rust-unofficial/awesome-rust

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

     
     
  • 4.147, Урри (ok), 18:39, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А забавно какой-то растафанатик пробежался по всем этим абсолютно правдивым комментариям. Подгорает, видимо, не слабо.
     
     
  • 5.251, боня (?), 07:58, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А забавно какой-то растафанатик пробежался по всем этим абсолютно правдивым комментариям.

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

    > Подгорает, видимо, не слабо.

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

     
  • 5.266, нитрол (ok), 14:48, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не являюсь растафанатиком или еще каким-либо фанатиком. Имхо, фанатизм - это трата энергии с низким КПД. Но это имхо, ибо суть ПД зависит от ситуации, т.е. зависит от поставленной цели. Я больше за поиск истины (особенно на фоне сегодняшнего мира с фейками/враньем/псевдо-сми/etc) - с этой целью хочется поделиться личным опытом. Бегло вспомнил парочку программ на Rust, что в моей личной практике используется: ripgrep (localhost) и linkerd (24/7 production). Не могу сказать, что это бесполезный софт или софт ради демонстрации возможностей языка. Мне то и язык, на котором написан этот софт, особо не важен - главное, что свою функцию выполняет.
     
  • 2.59, Аноним (56), 15:04, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Очень много консольных утилит: ripgrep, bat, fd и т.д.

    Большого софта с нуля на расте пока нет, но большой софт вообще редко появляется с нуля в наше время - чаще Rust встраивают в существующую кодовую базу. Компоненты на Rust есть в Firefox, Brave, Discord (как на клиенте, так и на сервере), VSCode и множестве другого софта. Значительная часть гугловой операционной системы Fuchsia написана на расте.

    Плюс многие новые сервисы конторами, вроде Amazon, Cloudflare, Google и т.д., пишутся на расте.

     
     
  • 3.63, Аноним (65), 15:13, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> Значительная часть гугловой операционной системы Fuchsia написана на расте.

    Вот откуда вы берете весь этот бред. Еще и «значительная» часть. Кто-то завендорил несколько библиотек и их зависимости не больше.

     
     
  • 4.67, Аноним (56), 15:17, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://www.reddit.com/r/rust/comments/k9r3s4/fuchsia_lines_of_code_over_last_

    Нормально так вендорят. И какая, к слову разница, завендореный это код или написанный гуглом? Это то же самое, как если бы эту часть ОС просто написал подрядчик, а не гугл. А сишный и плюсовый код гугл, по-твоему, не вендорит? Нелепый аргумент.

     
     
  • 5.80, Урри (ok), 15:34, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там автор сразу исправился, выкинув совершенно лишние сердпати депенденси. Картина сразу стала не такой радужной.
     
     
  • 6.86, Аноним (84), 15:46, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Можно тогда и само микроядро на плюсах выкинуть и расчетов - его тоже не гугл написал :)
     
  • 3.131, _ (??), 17:50, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну как же нет большого софта)

    Возьмём криптовалюты - Polkadot, Kusama, прочие - все написаны на Rust, на фреймворке https://github.com/paritytech/substrate/

     
     
  • 4.149, Урри (ok), 18:43, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я открыл глянуть в код.
    --cut--
    pub struct LightStorage<Block: BlockT> {
      db: Arc<dyn Database<DbHash>>,
      meta: RwLock<Meta<NumberFor<Block>, Block::Hash>>,
      cache: Arc<DbCacheSync<Block>>,
      header_metadata_cache: Arc<HeaderMetadataCache<Block>>,

      #[cfg(not(target_os = "unknown"))]
      io_stats: FrozenForDuration<kvdb::IoStats>,
    }
    ...
    fn number(&self, hash: Block::Hash) -> ClientResult<Option<NumberFor<Block>>> {
      if let Some(lookup_key) = block_id_to_lookup_key::<Block>(&*self.db, columns::KEY_LOOKUP, BlockId::Hash(hash))? {
        let number = utils::lookup_key_to_number(&lookup_key)?;
          Ok(Some(number))
      } else {
        Ok(None)
      }
    }

    --cut--

    И эти люди хейтят с++. Хых.

     
     
  • 5.177, Аноним (307), 20:20, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Немудрено, что растаманы путают > и <=
     
  • 5.180, Аноним (-), 20:26, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я открыл глянуть в код.

    Вот теперь я не боюсь попробовать лисп.

     
     
  • 6.185, Урри (ok), 20:39, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лисп - божественный язык.
     
  • 5.276, burjui (ok), 20:05, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Берём пример плохо написанного кода и делаем выводы о языке. Уровень: опеннетовский эксперт.
     
  • 3.170, Аноним (170), 19:40, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я помню, как мне нахваливали этот рип, типа, вау! На деле же, кривая поделка с неудобным синтаксисом, крашится через раз, на нжмд пытается читать в несколько потоков и что логично в результате этого результат выдаёт в сотни раз медленнее однопоточного гну греп. Хотя сам по себе то греп не слишком сложный при этом, но и тут не осилили. Пусть лучше остаётся для вебни -- там вполне стоит заменить го и жс, а нормальное программирование уж оставят для нормальных программистов на нормальных языках.
     
     
  • 4.182, Аноним (-), 20:28, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Что вам плохого веб программисты сделали ? Не надо этого в веб.
     
     
  • 5.186, Урри (ok), 20:39, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Все лучше чем джаваскрипт. Даже раст.
     
     
  • 6.205, Урри (ok), 22:21, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я почитал новые комменты и теперь уже в этом не уверен.
     
     
  • 7.277, burjui (ok), 20:08, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если читать все комментарии на этом ресурсе, можно потерять веру в разумность человечества. К счастью, это будет не репрезентативная выборка.
     

  • 1.44, Аноним (42), 14:42, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разработчики чтобы показать хоть какие-то улучшения в языке следующиую версию выпустят 152.
     
     
  • 2.278, burjui (ok), 20:15, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну да, ведь намного лучше несколько лет толочь воду в ступе, а потом выкатить огромный релиз, срывающий шаблоны, с крутой кривой обучения, и таким образом разделить сообщество на консерваторов, которые сидят на говне мамонта, и хипстеров, которые тут же бросят старый код и понесутся писать новый, с пасьянсом и надувными женщинами. Куда там этим идиотам, ничего не знают о разработке ЯП, надо было на Опеннете спрашивать, как правильно делать.
     

  • 1.85, Аноним (88), 15:44, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > получила статус минимально жизнеспособного

    Собственно всё что вы хотели знать о Rust но боялись спросить.

     
     
  • 2.279, burjui (ok), 20:16, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Шутки за 200.
     

  • 1.96, Аноним (96), 16:14, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А с мысл? Чтобы оказаться там-же где и все прочие убийцы C/C++? На свалке времён?

    Приблезительно через равный промежуток времени появляется очередная порция подростков неосиляторов. Для которых всё сложно и непонятно и оуни начинают велосипедить свои истинно верные убийцы С/С++. И каждый раз оказываются в одном и том-же месте. В нигде, на свалке времён.

    Очердной убийца? Т.е. тот который самоубьётся апстену?

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

    Конечно, прыщавому васяну из компании два васяна продакшен виднее.

     
     
  • 2.102, Аноним (-), 16:33, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Приблезительно через равный промежуток времени появляется очередная порция подростков
    > неосиляторов. Для которых всё сложно и непонятно и оуни начинают велосипедить свои истинно верные убийцы С/С++.

    Graydon Hoare и Brendan Eich - подростки-неосиляторы? Вот оно че!


    > Конечно, прыщавому васяну из компании два васяна продакшен виднее.

    Какой ты самокритичный.

     
  • 2.106, боня (?), 16:36, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > А с мысл? Чтобы оказаться там-же где и все прочие убийцы C/C++?
    > На свалке времён?

    Никто ваш c++ не заберёт, не волнуйтесь так.

     
  • 2.112, Аноним (316), 16:56, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > C/C++

    Один язык хорошо, а два лучше!

     
     
  • 3.115, Аноним (114), 17:05, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И много говнософта уже написал на языке zig?
     
     
  • 4.116, Аноним (316), 17:08, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У тебя там память не течёт, сисишник?
     
     
  • 5.118, Аноним (-), 17:14, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А у тебя уже занчилась ?
     
  • 5.179, Аноним (307), 20:23, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    в ресдохе течёт память, но растаманы объяснили, что это норма.
     
     
  • 6.188, Аноним (40), 20:44, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > в ресдохе течёт память

    Потому что половина кода на СИ

     
  • 2.151, Урри (ok), 18:47, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Уже довелосипедились Я выше пример привел из широкоизвестной в узких кругах рас... большой текст свёрнут, показать
     
     
  • 3.210, Ordu (ok), 22:47, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И что тут не так?
     
     
  • 4.227, Аноним (-), 23:52, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Код слегонца наркоманский и контринтуитивный, а так все хорошо, прекрасная маркиза. Признайся, что ты жрешь чтобы затюнить мозг для работы с такими закорюками? А то даже у лютых игроделов такого нет, они догадываются что это потом еще и майнтайнить надо, при том не факт что тому же человеку...
     
     
  • 5.230, Ordu (ok), 00:54, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тут всё довольно просто Если с подсветкой синтаксиса, будет вообще тривиально ... большой текст свёрнут, показать
     
     
  • 6.233, Урри (ok), 01:40, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вообще-то тут все плохо Даже более скажу - очень, очень плохо я за подобный c ... большой текст свёрнут, показать
     
     
  • 7.236, Ordu (ok), 02:25, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    В C этот код не скомпилируется Это не C , детка, это раст Не надо критериям... большой текст свёрнут, показать
     
  • 7.303, Аноним (268), 12:15, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Это и многократные вложения, заставляющие каждый раз строить в голове цепочку структур
    > "кто на чем стоял", и акронимы (слава богу попроще чем PINSRQ), и перегруженность спецсимволами

    Описал C++.

    > Код выше обладает всеми недостатками примера с ассемблером.

    Ага, понятно.

    > я, например, хорошо владею брейнфаком

    Судя по Вашим комментариям во всех тредах, где упоминается Rust, только этот язык Вы и осилили, остальные, видимо, слишком сильно от него отличаются, поэтому не получилось.

     
  • 7.304, Аноним (268), 12:18, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > я за подобный c++ код увольнял людей.

    Получается, ты остался без плюсовиков?

     
  • 3.220, Онаним (?), 23:23, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мои глаза вытекли, спасибо.
     

  • 1.129, еманйам (?), 17:44, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    как язык раст то может и ничего..
    но я вот думаю: настанет момент, и всякие редхаты с мозиллами, укажут Линусу на дверь: уж слишком он харизматичен.
     
     
  • 2.181, Аноним (307), 20:27, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > всякие редхаты с мозиллами, укажут Линусу на дверь

    Типичное поведение боевых 3,14: подождать, пока кто-то что-то сделает, а потом захватить готовое. Ничего не напоминает? (Хинто: как украли 5G у Хуавея).

     
     
  • 3.234, Аноним (-), 01:49, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Плохая дорога так то тоже в совет директоров хруста втерлась, так что им не на что жаловаться.
     
     
  • 4.239, Аноним (307), 02:31, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Втёрлась, чтобы посмотреть на других и у себя так не делать.
     
  • 2.192, White Crow (?), 21:04, 26/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Торвальдс, так яростно обожествляемый тобой, является действующим акционеров Red Hat, которому принадлежит довольно крупный пакет акций.

    Т.е. по сути он даже не сотрудник, а совладелец компании.

    Продолжай и дальше делать из него святого великомученика.

     
     
  • 3.232, еманйам (?), 01:34, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Торвальдс, так яростно обожествляемый тобой, является действующим акционеров Red Hat,
    > которому принадлежит довольно крупный пакет акций.
    > Т.е. по сути он даже не сотрудник, а совладелец компании.
    > Продолжай и дальше делать из него святого великомученика.

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

     
     
  • 4.262, White Crow (?), 12:30, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Linux теперь точно такой же мейнстримный корпоративный продукт, как Windows, например.

    А от бородача избавляются как раз по причине его принципиальной позиции, касательно всех этих корпораций добра на подобие Red Hat, Canonical, Microsoft и прочих там Oracle.

    Просто он им больше ненужен.

     

  • 1.165, Аноним (307), 19:30, 26/03/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.172, szt1980 (ok), 19:44, 26/03/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     

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

  • 1.226, Аноним (-), 23:50, 26/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > покровительством независимой некоммерческой организации Rust Foundation

    С советом директоров из амазона, майкрософта, и кого там еще. Вот такая вот хреновая независимость...

     
  • 1.231, Аноним (231), 01:28, 27/03/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +2 +/
     

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

  • 1.243, Аноним (-), 04:51, 27/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Почему Майкрософт примазалась к Расту. Чтобы потом сделать платными компоненты как в Дельфи?

    Раст не взлетит пока не избавится от Майкроссофт, потому-что Майкрософт проклятая компания. Любое сообщество, которое связывается с Майкрософт обречёно на деградацию.

    Растаманы, пишем петицию за вывод майкрософт из состава директоров!

     
     
  • 2.245, Аноним (307), 06:17, 27/03/2021 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 3.259, Аноним (259), 09:57, 27/03/2021 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.258, Аноним (259), 09:56, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Они просто наняли программистов уволенных из Мозиллы. А планы у них собственный хипстерский язык, у которого нет фатального недостатка.
     
     
  • 3.283, Аноним (307), 21:32, 27/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > у которого нет фатального недостатка.

    "написан не ими" :)

     
  • 2.309, Аноним (305), 20:56, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    но для Дельфи тонны бесплатных компонент. Сейчас даже и сам Дельфи бесплатен (коммюнити едишн)
     
     
  • 3.312, Аноним (-), 07:14, 29/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нужные платны. Попробуй загрузить Дельфи без создания аккаунта и регистрации email.
     
  • 3.313, Аноним (-), 07:16, 29/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    коммюнити эдишн - урезанная и триальная версия?
     
     
  • 4.314, Аноним (305), 07:35, 29/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    по-русски - https://www.embarcadero.com/ru/products/delphi/product-editions
    https://www.embarcadero.com/docs/Delphi-Feature-Matrix.pdf
    https://www.embarcadero.com/docs/rad-studio-feature-matrix.pdf

    Линукса в коммюнити не было.

     
  • 4.315, Аноним (305), 07:38, 29/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    https www embarcadero com ru products delphi starter - Delphi Community Editio... большой текст свёрнут, показать
     

  • 1.320, Имя (?), 10:28, 30/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А русского термина нет, сладкие мои птенчики? Ну што за ДЖЕНЕРИКИ-то, а?
     
     
  • 2.321, Аноним (305), 14:17, 30/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    "термин" - не русский термин.
     
     
  • 3.322, Аноним (322), 16:02, 30/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Слово "термин" уже более 300 лет с нами. Так что рот свой на замок закрой
     

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



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

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