The OpenNET Project / Index page

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

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

23.04.2020 23:33

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

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

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

  • В макросах обеспечена возможность использования фрагментов элементов для их превращения в код типажей (trait), реализаций (impl) или внешних блоков. Например:
    
       macro_rules! mac_trait {
           ($i:item) => {
               trait T { $i }
           } 
       }
       mac_trait! {
           fn foo() {}
       }
    
    Приведёт к генерации:
    
       trait T {
           fn foo() {}
       }
    
  • Улучшено определение типа примитивов, ссылок и двоичных операций. Например, нижеследующий код, ранее вызывавший ошибку, теперь сможет быть скомпилирован (Rust теперь корректно определяет, что 0.0 и &0.0 должны быть типа f32):
    
       let n: f32 = 0.0 + &0.0;
    
  • В Cargo добавлена новая переменная окружения CARGO_BIN_EXE_{имя}, выставляемая при построении интеграционных тестов и позволяющая определить полный путь до исполняемого файла, определённого в секции "[[bin]]" пакета.
  • В выражениях "if" разрешено использование атрибутов, таких как "#[cfg()]".
  • В библиотеке предоставлена возможность использования ассоциированных констант напрямую для целых и дробных типов, без импорта модуля. Например, можно сразу писать u32::MAX или f32::NAN без предварительного указания "use std::u32" и "use std::f32".
  • Добавлен новый модуль primitive, который реэкспортирует примитивные типы Rust, например, когда необходимо написать макрос и убедиться, что типы не скрыты.
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы Once::is_completed, f32::LOG10_2, f32::LOG2_10, f64::LOG10_2, f64::LOG2_10 и iter::once_with.


  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: Выпуск языка программирования Rust 1.42
  3. OpenNews: Проект Redox OS представил пакетный менеджер pkgar, написанный на языке Rust
  4. OpenNews: Rust-фреймворк actix-web возрождён и будет передан сообществу
  5. OpenNews: Microsoft развивает новый язык программирования на основе Rust
  6. OpenNews: Обновление гипервизоров Intel Cloud Hypervisor 0.3 и Amazon Firecracker 0.19, написанных на Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/52797-rust
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (238) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, rustgonewell (?), 23:50, 23/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    ну всё, теперь и в Rust есть метапрограммирование шаблонов (обобщённых параметрически через T подстановку трейтов и их имплементаций) - теперь можно HKT и GAT делать прямо через макросы, ух! >_<
     
  • 1.1, Аномномномнимус (?), 23:37, 23/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Там уже есть goto и макросы? Надо срочно обмазаться
     
     
  • 2.2, Аноним (2), 23:42, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не-не антикор обработка не для Rust, даже прямо наоборот
     
  • 2.3, Аноним (3), 23:46, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Безусловный переход безусловно эффективен. Язык без такой базовой инструкции не может быть полноценным. Макросы это конечно хорошо, но говорить с машиной на понятном ей языке ещё лучше.
     
     
  • 3.32, A.Stahl (ok), 07:04, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Попадалась мне в руки как-то довольно забавная книжка, так там автор на базе какого-то примера предложил отказаться от кучи операторов. Мол, а представьте что нет у нас while. И вообще никаких циклов нет. И того нет. И этого нет. Не серьёзно, конечно, предложил.

    Не помню уж как называлась. Что-то старое из конца 80х - начала 90х. 128 советов чего-то там.

     
     
  • 4.39, Аноним (39), 08:22, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Николас Вирт всегда ратовал за простоту языка (все описание языка должно помещался на одной странице и быть понятным домохозяйке), контроль компилятора за памятью.

    Также Николас говорил, что язык программирования, компилятор, ядро ОС и процессор должен разрабатывать одна команда. Только в этом случае можно достичь простоты и совершенства. Пример A2 https://en.m.wikipedia.org/wiki/Bluebottle_OS

     
     
  • 5.96, Аноним (96), 12:44, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну да, простоты, совершенства и полной бесполезности.
     
     
  • 6.117, аа (?), 14:25, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Для обучения простые вещи полезны.
     
  • 5.119, Аноним (119), 14:39, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Java+ARM... но кое-кому это очень не понравилось
     
     
  • 6.156, Lex (??), 21:57, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Жаба.. не понравилась... ну как же такое возможно !!111
     
  • 4.60, Аноним (60), 09:29, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Мол, а представьте что нет у нас while

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

     
  • 4.68, Урри (?), 10:12, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Scheme, в чистом языке вообще никаких циклов нет, но задачи все равно красиво и элегантно решаются.
     
  • 4.91, freehck (ok), 12:09, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Не помню уж как называлась. Что-то старое из конца 80х - начала 90х.

    Уж не знаю, кого читали конкретно Вы, но Абельсон и Сассман издали SICP в 85м, и там вполне наглядно показывалось, что циклы есть синтаксический сахар.

     
     
  • 5.94, A.Stahl (ok), 12:31, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но очень вкусный и полезный сахар.

     
     
  • 6.100, freehck (ok), 12:56, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Но очень вкусный и полезный сахар.

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

     
     
  • 7.107, коржик (?), 13:37, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    упаси боже
     
     
  • 8.157, Lex (??), 21:59, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    По большому счёту может оказаться, что, при нормально растущем стеке, не потребу... текст свёрнут, показать
     
  • 7.199, Аноним (199), 14:50, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только не просто рекурсию, а рекурсию с tail call optimization.
     
     
  • 8.246, freehck (ok), 10:59, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Рекурсия без TCO -- это не рекурсия, а непонятно зачем нужный огрызок А ежел... текст свёрнут, показать
     
     
  • 9.264, none (??), 11:16, 30/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален кстати type inFErence - в Scala очень полезен, как миним... текст свёрнут, показать
     
     
  • 10.269, freehck (ok), 22:23, 01/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Ну не в пару -- это Вы сильно преувеличиваете Если хоти... большой текст свёрнут, показать
     
     
  • 11.273, none (??), 10:11, 06/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    в ocaml это достигается и подобными особенностями , а в scala есть интеро... текст свёрнут, показать
     
     
  • 12.274, freehck (ok), 07:58, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да не, этими особенностями никто не пользуется Обычно мы просто дёргаем модуль,... текст свёрнут, показать
     
  • 11.283, freehck (ok), 15:25, 07/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Аноним84701, цени своё время ... текст свёрнут, показать
     
  • 5.142, little Bobby tables (?), 18:40, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    кто это
     
  • 4.247, tmplsr (?), 13:49, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Не помню уж как называлась. Что-то старое из конца 80х - начала 90х. 128 советов чего-то там.

    "128 советов начинающему программисту?"

     
     
  • 5.248, A.Stahl (ok), 14:14, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, она. Весьма забавная была книжка в своё время.


     
  • 2.34, коржик (?), 07:39, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    всё что выглядит так assert!(...) - это макросы
     
  • 2.45, Аноним (45), 08:47, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    goto был и есть, даже в пакетной базе (только более свежее на гитхабе, новые изменения очень такие воодушевляющие и пока тестятся и дорабываются на гите)...
     
  • 2.72, Аноним (72), 10:18, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    чем Rust лучше баш скриптов? разве у баша есть конкуренты?
     

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

  • 1.5, НяшМяш (ok), 00:59, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ничего не понял, но взял попкорн и ручку (наблюдать и записывать).
     
     
  • 2.165, Аноним (165), 23:49, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А чего не понял добавили хрени для того что бы вклинивать в язык новую хрень прям на уровне языка.
    Интересно, а из макроса можно макрос определить ?
     

  • 1.6, 777 (??), 01:35, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    "Автоматическое управление памятью в Rust избавляет разработчика от манипулирования указателями и защищает от проблем"
    Возможность работы с указателями это плюс для настоящего программиста, для баклана - да, желательно вообще писать на php
     
     
  • 2.12, Аноним (12), 02:38, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Почему вот только у настоящих программистов потом ошибки и уязвимости из-за ошибок с указателями?
     
  • 2.13, OpenEcho (?), 02:39, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +16 +/
    >Возможность работы с указателями это плюс для настоящего программиста, для баклана - да, желательно вообще писать на php

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

    Машины не виноваты, что на них ездят дебилы, так же и с языками...
    Чем проще машины, тем больше охламонов на них ездят, так уж мир устроен (к сожалению)...

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

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

     
     
  • 3.27, Аноним (27), 05:47, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Без обид, но вот когда люди, начинают хаить какой-то язык, то это первый признак хренового програмиста - в принципе...

    Это не так. Хаят язык, когда он чем-то не устраивает.
    Или ты сторонник политкоррктности в отношении языков программирования?

    Типа "это язык несомненно альтернативно-нужный"?

     
     
  • 4.55, OpenEcho (?), 09:13, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть ложка, а есть вилка Каждая создана для конкретного применения Не устраи... большой текст свёрнут, показать
     
     
  • 5.92, Tita_M (ok), 12:25, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это раньше фейсбук на пыхе написан был. Сейчас, наверно, во всю используется языкр на него похожий, но со строгой статической типизацией. https://www.opennet.me/opennews/art.shtml?num=50133 наверно наелись неочевидных ошибок и уязвимостей в коде на пыхе.
     
     
  • 6.104, OpenEcho (?), 13:12, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > ....наелись неочевидных ошибок и уязвимостей в коде на пыхе

    Ну давайте, показывайте ЯП, который не страдает этими симптомами...

     
  • 4.158, Lex (??), 22:05, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пых вполне неплох и с задачами, для которых он изначально предназначен( своеобразный веб ) он справляется отлично.

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

    Кстати, так и какие языки «безальтернативно-нужные» ?

     
  • 3.61, GentooBoy (ok), 09:38, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Без обид, но вот когда люди, начинают хаить какой-то язык, то это первый признак хренового програмиста - в принципе...

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

     
  • 2.20, qetuo (?), 03:27, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Если тебе нужны указатели, то в Rust они есть. Но для реализации большого количества задач они не нужны и с успехом заменяются ссылками.
     
  • 2.23, наблюдающий_изда_лк (?), 04:52, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Был уже тут один монарх, пяткой себя в грудь бил, все говорил о реализации блога на C++. То ли за 21 день собирался он это сделать, то ли за неделю. Но уже скоро год пройдет, а блога как небыло, так и нет.

    Мораль: выбирай инструмент под задачу.

     
     
  • 3.46, Аноним (46), 08:48, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну, treefrog все же есть и пока вроде жив. Думаю блог на нем можно было бы сделать (но не буду, у меня руки не оттуда, откуда надо)
     
  • 3.103, RibiKukan (ok), 13:09, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Трепло запартное, бегом побежало за пруфами. Исполнять.
     
     
  • 4.159, Lex (??), 22:17, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я имел дело с сайтом на пюсАх, правда, в качестве поддержки, а не разработки.

    И до и после попадалось множество разных проектов( пых, жс итп ), но такого убогого *** как тот проект, я не встречал.
    Казалось бы, плюсЫ типо_несравненно_круче того же пыха, но потом, правда, оказывается, что пых изначально пилился как подобие шаблонизатора для веб-страниц, на нем огромное множество наработок итп, тогда как плюсЫ - просто_уродливая_надстройка_над_Си_доя_ооп и в задаче генерации вебстраниц с возможностью норм доработок за приемлемое время, плюсЫ начисто проигрывают тому же пыху.

    Как ни странно, но, да: «любой задаче свой инструмент»

     
     
  • 5.196, RibiKukan (ok), 12:15, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У вас постоянные проблемы с логикой Вы не знаете что такое С и никаком образо... большой текст свёрнут, показать
     
  • 5.197, RibiKukan (ok), 12:20, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и самое интересное - эта методичка уже протухла. За пруфами далеко ходить не нужно. Колхозники типа тебя орали годами "пхп наше всё - под задачу". Гугл взял сишку, прикрутил к ней гц и ооп-надстройку и оказалось, что даже колхозники могут что угодно пилить.

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


    Поэтому да, ты выше правильно спалился. Тебе как колхознику нужно api и пару педалей. Какие это будут педали - похрен.

     
  • 3.160, Анонимный Алкоголик (??), 22:23, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Был уже тут один монарх, пяткой себя в грудь бил, все говорил
    > о реализации блога на C++. То ли за 21 день собирался
    > он это сделать, то ли за неделю. Но уже скоро год
    > пройдет, а блога как небыло, так и нет.
    > Мораль: выбирай инструмент под задачу.

    А что его делать-то? Любой веб-сервер плюс небольшой html-файл и вот простейший блог. А что? >:-)

     
  • 2.24, Аноним (24), 05:13, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Я этот комментарий вижу под каждой статьей про новую версию Rust (с вариациями в "остротах", но с тем же смыслом и к той же цитате). И каждый раз он собирает плюсы. И ведь никто не потрудится минуту поискать информацию и открыть для себя, что указатель - настолько же фундаментальная абстракция для Rust, как и для C. Многое говорит о местной аудитории.

    Разница с C лишь в том, что по умолчанию в Rust применяется особый тип указателя (ссылка), который также содержит в себе информацию о времени жизни памяти, на которую он ссылается (для нетривиальных случаев есть unsafe и обычные сырые указатели). Но для анонимуса это слишком сложно, можно же просто хейтить и ни во что не вдуплять.

     
     
  • 3.67, Ordu (ok), 10:12, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется, так неправильно говорить Возможно это формалистская придирка, но в... большой текст свёрнут, показать
     
     
  • 4.201, PnD (??), 00:14, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Минусы под данным комментарием можно было бы рассматривать как "счётчик мак^w приматов" (но скаляр всё портит), однако по 2-му пункту таки имею возражение.
    "Не тупи, сделай хоть что-то, не стой столбом etc." — вполне себе жизненная тактика. Потому что повышает шанс выжить в наиболее поганых ситуациях. И её надо (на мой вкус) закладывать в рефлексы. Нейронные матрицы, так сказать, обучать. Как раз задача для средней школы (ну и для родителей тоже).
    Один из многочисленных минусов такой тактики Вы описа́ли. Но и пытаться зажмуривать всех придурков — тоже унылая антиутопия.
    dnl пошёл задёргивать занавески…
     
     
  • 5.214, Ordu (ok), 06:58, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я не сказал, то это свойство культуры плохо, я лишь сказал, что оно нормально в нашей культуре. Мысль о том, что это плохо -- это твоя мысль, а не моя. Хотя, отмечу, я с ней согласен. Я вообще с большим подозрением отношусь к любой норме -- норма всегда субоптимальна.
     
  • 2.37, Fracta1L (ok), 08:17, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –8 +/
    И правда, какое же это ойти будет без сишных дыр?
     
     
  • 3.42, Аноним (42), 08:39, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У тебя какие-то проблемы с дырами.
     
     
  • 4.53, Fracta1L (ok), 09:06, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С дырами у всех проблемы
     
     
  • 5.144, Аноним (144), 19:19, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У тебя их целых 2, и обе не там. ;)
     

  • 1.7, Аноним (7), 01:50, 24/04/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –4 +/
     

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

  • 1.8, Аноним (8), 02:10, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чем оно лучше чем Go?
     
     
  • 2.9, leap42 (ok), 02:29, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > чем оно лучше чем Go?

    машинный код в 2 раза быстрее (в среднем), насколько я могу судить нелья разыменовать nil указатели (в Go, к сожалению это сплошь и рядом), гораздо больше языковых средств (если для вас это плюс)

     
     
  • 3.106, Аноним (106), 13:18, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что ещё за nil указатели?
     
     
  • 4.169, leap42 (ok), 03:48, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    нулевые, те которое есть, но ни на какие реальные данные не ссылаются

    так понятнее?

     
  • 3.162, anonymous (??), 22:53, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > машинный код в 2 раза быстрее (в среднем)

    Очень сильное заявление :)

     
     
  • 4.170, leap42 (ok), 03:51, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Очень сильное заявление :)

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

     
     
  • 5.200, anonymous (??), 17:51, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если proof -- это benchmark game от Debian, то проблема в том, что эти игры очен... большой текст свёрнут, показать
     
  • 2.10, Аноним (7), 02:32, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Это вообще разные по областям применения языки, надо спрашивать у сектантов чем это лучше C++ и почему там так много разных и явно лишних закорючек в синтаксисе :)
     
     
  • 3.11, Аноним (12), 02:35, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я слышал, что в Rust память безопасная, и без GC, это правда?
     
     
  • 4.14, Аноним (7), 02:43, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не верь этим сказкам сынок, слухи они такие..
     
     
  • 5.15, Аноним (12), 02:55, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Все хочу найти язык с безопасной памятью
     
     
  • 6.77, Урри (?), 10:26, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Любой лисп, пых, руби.
     
  • 4.16, qetuo (?), 02:59, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    GC нет. Память безопасна в рамках работы с safe Rust. Чтобы стрелять в ноги, нужно явно указывать блок 'unsafe'.
     
  • 3.19, qetuo (?), 03:25, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Закорючки" там не лишние, они обозначают лайфтаймы, которые являются уникальной фичей языка. В большинстве случаев выводятся компилятором, но в нетривиальных случаях нужно расставлять руками.
     
     
  • 4.21, Аноним (7), 04:20, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не будьте таким серьезным, весьма предположительно, что тот анонимус может знать раст. Просто,
    раст выглядит смешным, ну как брайнфак) вот люди и подшучивают по доброму
     
     
  • 5.110, коржик (?), 13:55, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, режет глаза, но если привыкнуть, то поймёте, что сильно лучше и не получилось бы
     
  • 3.202, Аноним (202), 00:20, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не совсем разные. Есть пересечения. Они оба лезут в системное программирование, и оба лезут в веб.
     
  • 2.17, Аноним (7), 03:21, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И вообще, память безопасная или нет, вопрос десятый, начиная с некоторой квалификации разработчика и использования RAII.
    Вот такие реально важные для промышленности вопросы, как легкость и быстрота разработки (соответственно время выпуска продукта на рынок и норма прибыли у компании), удобство чтения кода, время вхождения в проект новых участников, стабильность языка - пока прямыми конкурентами являются такие языки как Malbolge, Brainfuck и пока с далеким отрывом  Var’aq ))
     
     
  • 3.25, Аноним (24), 05:30, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пока прямыми конкурентами являются такие языки как Malbolge, Brainfuck и пока с далеким отрывом  Var’aq ))

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

     
     
  • 4.80, Аноним (7), 10:54, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, вот зайдет наконец на опеннет Лицо Принимающее Решения и капец, Var’aq на фронтэнд а Malbolge на бекенд, и правда поаккуратнее надо с советами
     
  • 3.127, Аноним (127), 16:37, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > память безопасная или нет, вопрос десятый,

    По вашему это нормально, что для индустрии важнее быстрее наклепать, чем безопаснее и надежнее сделать? А если дома строили и самолёты делали тоже с расчетом на скорость разработки? Почему мы не можем научиться у них?

     
     
  • 4.132, Аноним84701 (ok), 16:49, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> память безопасная или нет, вопрос десятый,
    > По вашему это нормально, что для индустрии важнее быстрее наклепать, чем безопаснее
    > и надежнее сделать? А если дома строили и самолёты делали тоже
    > с расчетом на скорость разработки? Почему мы не можем научиться у них?

    Потому что мало кто хочет платить цену самолета или дома за хранилку фоток котиков?
    https://web1.cs.columbia.edu/~junfeng/09fa-e6998/papers/sel4.pdf (верификация микроядра L4)

     
  • 4.134, Аноним (7), 17:08, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет это не нормально для Вас, но нормально для той системы в корой мы существуем - капиталистической.
    Тут важна норма прибыли - накладные издержки будут сокращаться. См. катастрофу Боинг-737 MAX в Индонезии.
    В любом случае, трудозатраты и инструмент должны быть адекватны задаче.

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

     
     
  • 5.140, Аноним (127), 18:07, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да я, знаете, не столько за раст конкретно, сколько за безопасность памяти. Пример с авиаиндустрией я у Шнайера почерпнул из его "Практической криптографии". Там он вообще много требований на ЯП наложил.

    А на Аде как, безопасная память?

     
     
  • 6.141, Аноним (7), 18:27, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там есть сборщик мусора и своеобразное RAII - через переопределение процедуры Unchecked_Deallocation
     
  • 2.18, qetuo (?), 03:22, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Создатели языка не считают тебя идиотом. Нормальный пакетный менеджер. Нет GC. Быстрее, причем намного. Бенчмарки смотри на https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html
     
     
  • 3.22, Андрей (??), 04:52, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > We ask that contributed programs not only give the correct result, but also use the same algorithm to calculate that result.

    binary-trees:

    В Go-версии импортируются только системные библиотеки:

    import (
       "flag"
       "fmt"
       "runtime"
       "strconv"
    )

    В Rust-версии какие-то левые:

    extern crate typed_arena;
    extern crate rayon;

    -----------

    regex-redux

    В Go-версии:

    import (
       "io/ioutil"
       "os"
       "fmt"
       "regexp"
    )

    В Rust-версии снова:

    extern crate rayon;
    extern crate regex;

    -------------

    n-body

    Go:

    import (
       "flag"
       "fmt"
       "math"
       "strconv"
    )

    Rust:

    ну..... там SIMD на SIMDе и SIMD'ом поганяет. Хоршенько приправлено unsafe. И вообще похоже на макро-ассемблер.

    Вобщем, то ещё сравнение получается.

     
     
  • 4.28, Анонимный Кактус (?), 06:41, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В Go-версии импортируются только системные библиотеки. В Rust-версии какие-то левые

    Потому что в Rust есть нормальный менеджер пакетов, а в Go нет?

    > n-body ... там SIMD на SIMDе и SIMD'ом поганяет. Хоршенько приправлено unsafe. И вообще похоже на макро-ассемблер

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

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/nbody-rust

     
     
  • 5.66, Анонимм (??), 10:02, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А что не так с гошным менеджером пакетов?
     
  • 3.31, Аноним (31), 06:51, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Создатели языка не считают тебя идиотом.

    А с чего ты взял, что создатели Go считают?

     
     
  • 4.47, Аноним (47), 08:48, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt."

    – Rob Pike

     
     
  • 5.58, anoun (?), 09:22, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language

    Т.е. Пайк считает, что те, кто учил жабу/сишку/пистон, необратимо искалечили свой мозг и уже неспособны выучить нормальный язык?

     
     
  • 6.74, Аноним (74), 10:19, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Старую собаку новым трюкам не научишь.
     
  • 6.112, Совершенно другой аноним (?), 14:01, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Имхо, там ключевое на ява/си/питон, а
    "They’re typically, fairly young, fresh out of school"
    и ещё более, имхо, ключевое:
    "but we want to use them to build good software".
    Из которого самое ключевое "to use them".
     
  • 2.30, Аноним (31), 06:49, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >чем оно лучше чем Go?

    Порогом вхождения.

     

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

  • 1.29, Аноним (31), 06:44, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Кто-нибудь ставил на реальное железо redox? https://www.redox-os.org/
     
     
  • 2.33, nonamenogame (?), 07:30, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.phoronix.com/scan.php?page=news_item&px=Redox-OS-On-Threadripper-3
     
     
  • 3.78, Аноним (78), 10:49, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучше вот это почитай https://twitter.com/jeremy_soller/status/1251364826464411653
     

  • 1.36, Аноним (-), 08:05, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    когда тип f16 добавят?
     
     
  • 2.57, Аноним (57), 09:18, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сразу после того, как их завезут в LLVM
     

  • 1.38, Fracta1L (ok), 08:18, 24/04/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –4 +/
     

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

  • 1.41, Аноним (41), 08:37, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Скажу за себя: код на расте крайне сложно воспринимать, а это сама по себе проблема.
     
     
  • 2.43, фррр (?), 08:45, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Приведи пример такого кода.
     
     
  • 3.49, Аноним (47), 08:54, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    1. #[cfg()]
    2. macro_rules! mac_trait {
           ($i:item) => {
               trait T { $i }
           }
       }
     
     
  • 4.62, фррр (?), 09:49, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что тут сложного для линуксоида? Даже типичный bash сложнее.
     
     
  • 5.71, Аноним (71), 10:17, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пардон, он не сложный, он уродский
     
     
  • 6.83, Анонимм (??), 11:25, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Макросы уродуют любой язык. Но людям очень хочется иметь макросы из-за больших возможностей, которые они дают.
     
     
  • 7.128, Аноним (127), 16:38, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме Лиспа, Лисп прекрасен с макросами
     
     
  • 8.207, burjui (ok), 02:50, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лисп прекрасен только как идея Читать код на любом из лиспов - задача не для сл... текст свёрнут, показать
     
  • 6.183, Онаним (?), 07:13, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Пардон, он не сложный, он уродский

    Невозможно не согласиться.

     
  • 2.208, burjui (ok), 02:58, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вопрос в том, насколько хорошо ты знаком с Rust? Пример кода выше я распарсил за секунду, несмотря на его спорные эстетические качества. По-моему, это главная проблема местных критиков - нежелание прикладывать усилия для изучения языка и выделять на это время. Все хотят, чтобы Rust был понятен и радовал глаз вот прям сразу. При этом никого не удивляет, что с естественными языками так не бывает, даже если алфавит тот же, что и в родном языке. Что-то я не вижу жалоб на то, что описание освежителя воздуха на казахском плохо читается.
     

  • 1.48, Онаним (?), 08:53, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Безумный синтаксис - болезнь почти всех хипстерских поделок. А потом они визжат, что их новый мегаязык не востребован, и начинают заниматься словесным унижением остальных, так и оставаясь со своими 0.1% условного "рынка".
     
     
  • 2.52, Аноним (42), 09:02, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У кобола синтаксис близок к разговорному английскому и почему на нем ничего не пишут сейчас? Не модно.
     
     
  • 3.54, Онаним (?), 09:10, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > У кобола синтаксис близок к разговорному английскому и почему на нем ничего
    > не пишут сейчас? Не модно.

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

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

     
     
  • 4.56, Онаним (?), 09:13, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Добавлю про безумие - это взаимосвязано, и все эти языки просто, ну банально, неэффективны. Ни в плане возможностей синтаксиса, ни в плане производительности, C-подобный синтаксис требует _минимум_ специальных обёрток, относительно хорошо _машинно_ оптимизируется, и позволяет при _достаточной грамотности_ творить достаточно чУдные вещи, обходя оптимизатор. Всего этого хипстерские поделки лишены, они упёрты в процесс ("писателя"), нежели в достижение таковым писателем результата.
     
     
  • 5.63, Аноним (63), 09:52, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну нет, _минимум_ - это все-таки синтаксис Лиспа. Вот там уж действительно и машине все очевидно, и никаких лишних символов-закорючек нет
     
     
  • 6.146, Онаним (?), 20:18, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > в C нет пристойного механизма обработки ошибок

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

     
  • 6.147, Онаним (?), 20:18, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Сорян, я следующему по тексту отвечал, но промахнулся.
     
  • 5.82, Ordu (ok), 11:12, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это верно только до тех пор, пока ты ограничиваешь себя теми техниками программи... большой текст свёрнут, показать
     
     
  • 6.114, bOOster (ok), 14:15, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/

    > Это работало офигенно, машинный код получался прямо как задумано

    Кем задумано?
    Мужчинами которые умеют С?

     
     
  • 7.120, Ordu (ok), 14:41, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Кем задумано?

    Мне кажется, там понятно написано кем, но ежели я ошибаюсь, то скажу прямо и без ложной скромности: мною так было задумано. Как задумывал, так и вышло. Если бы я на асме писал, я бы пожалуй результат в одном регистре возвращал: если ошибка, значит rax содержит код ошибки, если нет ошибки, значит rax содержит результат, а CF флаг в регистре флагов использовал бы для того, чтобы дать возможность отличить ошибку от результата. Так было бы ещё круче:

    call my_func
    jc handle_error

    Но как такую задумку объяснить компилятору -- я не знаю.

     
     
  • 8.123, bOOster (ok), 15:07, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Вот это демагогия Компилятору обьяснять не надо, он... большой текст свёрнут, показать
     
     
  • 9.125, Ordu (ok), 16:29, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мне надо получить результат от компилятора, и значит мне как-то надо высказаться... большой текст свёрнут, показать
     
     
  • 10.150, Онаним (?), 20:23, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это банально не нужно и вообще контрпродуктивно, потому что add sub в фреймирова... текст свёрнут, показать
     
     
  • 11.175, Ordu (ok), 05:52, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если бы я писал на ассемблере, то я бы легко мог бы сохранить CF в нужном мне со... текст свёрнут, показать
     
     
  • 12.182, Онаним (?), 07:12, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы хотя бы 0 01 программистов была нужна эта фича, уже давно подсуетились ... текст свёрнут, показать
     
     
  • 13.188, Ordu (ok), 07:31, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ой, нет В C нет способа сказать ничего подобного Ты прежде чем продолжать спор... большой текст свёрнут, показать
     
  • 12.215, bOOster (ok), 08:26, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ВОт это брЕЕд Давай, чтобы не прослыть треплом - напишика код который флаг п... текст свёрнут, показать
     
     
  • 13.220, Ordu (ok), 11:26, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Есть две ключевые инструкции, про которые тебе будет интересно узнать stc и clc... текст свёрнут, показать
     
     
  • 14.221, bOOster (ok), 11:55, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Реальный код давай Тут три четверти псевдо-программистов умеют гуглом пользоват... текст свёрнут, показать
     
     
  • 15.223, Ordu (ok), 12:48, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Дитятко, любая из этих мнемоник -- реальный код Поставь её на отдельной строчке... текст свёрнут, показать
     
     
  • 16.228, bOOster (ok), 14:38, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты че идиот Еще толпа операций неявно меняют флаги переполнения Хотя в целом п... большой текст свёрнут, показать
     
     
  • 17.229, Ordu (ok), 14:56, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нет ты 99 или около того этой толпы находятся в группе арифметических опер... большой текст свёрнут, показать
     
     
  • 18.233, bOOster (ok), 16:06, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я как бы вас понимаю, убитых и загнобленных x86 архитектурой Но то что ты напис... большой текст свёрнут, показать
     
     
  • 19.235, Ordu (ok), 18:55, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не может Содержимое идущее в регистр из стека не меняет флагов Изменение ... большой текст свёрнут, показать
     
     
  • 20.249, Совершенно другой аноним (?), 16:56, 27/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Имхо, проблема в том, что когда писали компилятор C под x86 ещё во времена MSDO... большой текст свёрнут, показать
     
  • 21.255, Ordu (ok), 08:47, 29/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть Мне более правдоподобной кажется гипотеза о том, что это было слишко... большой текст свёрнут, показать
     
  • 10.153, Forth (ok), 20:26, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Исключения и явный возврат ошибок в расте принципиально мало отличаются Это воп... текст свёрнут, показать
     
     
  • 11.173, Ordu (ok), 05:48, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не получится Одна из основных задач Result -- помочь программисту не забыть обр... большой текст свёрнут, показать
     
     
  • 12.181, Онаним (?), 07:11, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    map_err 124 _ 124 Глаза снова вытекли ... текст свёрнут, показать
     
     
  • 13.187, Ordu (ok), 07:22, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя все глаза сразу вытекают Или как так выходит, что они вытекают, вытекают... текст свёрнут, показать
     
     
  • 14.191, Онаним (?), 08:45, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я стараюсь не кормить глаза говносинтаксисом регулярно, поэтому они вытекают ред... текст свёрнут, показать
     
  • 13.189, Ordu (ok), 07:54, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, а ты не напомнишь, как в C делаются лямбды То есть, в C такого нет поня... большой текст свёрнут, показать
     
     
  • 14.192, Онаним (?), 08:46, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Многословно, да, но всё равно несколько более упорядоченно Осталось только прид... текст свёрнут, показать
     
  • 12.195, Forth (ok), 11:34, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто From для Result это бесплатно, открываешь машинный код и видно, что те... большой текст свёрнут, показать
     
     
  • 13.198, Ordu (ok), 13:34, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В rust е обработка Result ов проверяется на этапе компиляции компилятором А это... большой текст свёрнут, показать
     
  • 6.148, Онаним (?), 20:20, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > в C нет пристойного механизма обработки ошибок

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

    > невозможно без специальных обёрток, которые привнесут в C программирование с generic типами как в C++

    Это ты сам себе придумал, что я только про чистый C? Нет, я про синтаксис, и только про синтаксис. C, C++, C#, Java и т.п. Прелесть в том, что базовый синтаксис вполне расширяем, и не нужно изобретать велосипеды.

     
     
  • 7.190, Ordu (ok), 08:27, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Эксепшны ломают логику это нелокальный выход, a la longjmp Синтаксис у них пол... большой текст свёрнут, показать
     
  • 6.149, Онаним (?), 20:20, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > fn my_func -> Result<i32, Error>

    Глаза вытекают уже на ->

     
     
  • 7.168, Anonymqwe (?), 01:40, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы объявление лямбда-функции никогда не видели?
     
  • 7.176, Ordu (ok), 05:59, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> fn my_func -> Result<i32, Error>
    > Глаза вытекают уже на ->

    Я лишь могу выразить соболезнования. Если твое глаза вытекают от этого диграфа, то значит ты никогда не сможешь освоить не только rust, но ещё и Haskell, ещё и OCaml, и вероятно кучу других языков программирования, которые могут быть очень увлекательными для освоения. Очень образовательными.

    И всё лишь потому, что у тебя глаза вытекают из-за какого-то диграфа. А почему именно этого? От += не вытекают? А от триграфов типа <<= не вытекают?

     
     
  • 8.177, Онаним (?), 07:05, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я оперирую критерием полезности, а не увлекательности При этом гораздо увлекате... текст свёрнут, показать
     
     
  • 9.185, Ordu (ok), 07:21, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты программируешь только потому, что тебе платят деньги Или может ещё и потому,... текст свёрнут, показать
     
  • 8.178, Онаним (?), 07:07, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я сказал уже , если ты не понял Остальное там ещё хуже и легко бьётся ... текст свёрнут, показать
     
     
  • 9.186, Ordu (ok), 07:21, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это уже очень показательно, если ты не понял Остальное можно не слушать, посл... текст свёрнут, показать
     
  • 5.88, Anonymqwe (?), 11:57, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Машинно оптимизируется он, потому что 30 лет процессоры под него проектируют, в ущерб теоретической производительности и чистоте дизайна

    Я не найду сейчас ссылки, где эта тема раскрывается.

     
     
  • 6.98, Аноним (96), 12:50, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно не найдешь, потому что это полная чушь.
     
     
  • 7.121, Ordu (ok), 14:43, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://queue.acm.org/detail.cfm?id=3212479
     
     
  • 8.130, Anonymqwe (?), 16:43, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, кажется, именно эту статью я имел в виду... текст свёрнут, показать
     
  • 5.126, Аноним84701 (ok), 16:29, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > C-подобный синтаксис требует _минимум_ специальных обёрток, относительно хорошо _машинно_ оптимизируется,

    Т.е. дать ссылочку на такой "хорошо оптимизирующий машинно" и минимальный (а не на миллионы строк) компилятор С вас не затруднит?

    > и позволяет при _достаточной грамотности_ творить достаточно чУдные вещи, обходя оптимизатор

    Правда, в осносновном в прохладных былинах и других, более лучших чем наша, реальностях лапшеразвеши^W комментаторов опеннета :(
    Потому что в моем варианте реальности, к сожалению, "недостаточно грамотные" неосиляторы из разработчиков ядра, (g)libc, (де)кодировщиков видео, BLAS и т.д, вместо "обхода оптимизатора" средствами "прекраснейшего и эффектнейшего синтаксиса" -- напихали ламерских интринсиков/ассемблерных вставок :(

     
     
  • 6.151, Онаним (?), 20:24, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > "хорошо оптимизирующий машинно" и минимальный

    Это ваши личные половые требования. Мне достаточно первого пункта.

     
     
  • 7.155, Аноним84701 (ok), 21:02, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>> относительно хорошо _машинно_ оптимизируется
    >> "хорошо оптимизирующий машинно" и минимальный
    > Это ваши личные половые требования. Мне достаточно первого пункта.

    Что, не все верят анонимным опеннетным комментаторам на слово? Некоторые  еще и каких-то пруфов требуют? Совсем оборзели, да! 🙄

     
     
  • 8.161, Онаним (?), 22:38, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так ты про пруфы или про одновременно хорошо и минимального размера , болезный ... текст свёрнут, показать
     
     
  • 9.167, Аноним84701 (ok), 00:06, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Т е ты сам не понял, что написал Если синтаксис требует _минимум_ специальных... текст свёрнут, показать
     
     
  • 10.179, Онаним (?), 07:08, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тут не аргументы, тут как раз факты ... текст свёрнут, показать
     
     
  • 11.222, Аноним84701 (ok), 12:23, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пока что налицо лишь факты онанимного балабольства Впрочем, от знатока , не р... текст свёрнут, показать
     
  • 5.138, Вебмакака (?), 17:53, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Синтаксис С это шляпа полная. Достаточно вспомнить, что до clang'а нормально анализировать даже сорцы на чистом С было нечем, даже надёжной подсветки в IDE не было.

    >относительно хорошо _машинно_ оптимизируется

    Далол, постоянно проверять ассемблер, процесс оптимизации от бога.

    Аппаратные возможности процов затащили в стандарт всего-то через 10 лет после того, как они стали нужны. Лучший системный язык эвар.

     
     
  • 6.152, Онаним (?), 20:24, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > до clang'а нормально анализировать даже сорцы на чистом С было нечем, даже надёжной подсветки в
    > IDE не было

    Поржал, пошёл дальше. Спасибо.

     
  • 3.64, Додо (?), 09:55, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У Ruby синтаксис близок к разговорному английскому, и на нем вполне пишут.
     
     
  • 4.65, Аноним (46), 10:02, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    угу. И главное как пишут! Поубивал бы некоторых
     
     
  • 5.99, Аноним (96), 12:51, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Некоторых ?
     
     
  • 6.154, Аноним (46), 20:43, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну, тех, которых не удается убедить больше не писать на руби
     
  • 4.73, Аноним (71), 10:18, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты перепутал с перлом.
     
     
  • 5.76, Аноним (74), 10:22, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Похоже синтаксис близкий к разговорному причина отказа от использования языков программирования. Под каток уже попали кобол, руби, перл.
     
     
  • 6.129, anonimous (?), 16:40, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Похоже синтаксис близкий к разговорному причина отказа от использования языков программирования.

    Угу, например все уже отказываются от

    SELECT * FROM Planets WHERE Radius BETWEEN 3000 AND 9000

     
     
  • 7.163, anonymous (??), 23:09, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это всё же язык запросов, а не язык программирования.
     
     
  • 8.164, anonymous (??), 23:17, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Уже не все так просто А LINQ IEnumerable int scoreQuery from score in score... текст свёрнут, показать
     
  • 5.79, Аноним (79), 10:52, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А на Перле сейчас вполне пишут?
     
  • 4.75, Аноним (74), 10:20, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На руби тоже давно ничего не пишут, только поддерживают старые велосипеды.
     
  • 2.209, burjui (ok), 03:04, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пока что визжат и занимаются словесным унижением, как раз-таки, его противники, что наглядно видно по засилью соответствующих комментариев под новостями о Rust, включая ваш. А мы молча пишем код, пока на нас не набрасывается стая визжащих макак, кидающая фекалии в синтаксис.
     
     
  • 3.216, Онаним (?), 10:48, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Смысл? Я спокойненько пишу на C, C++, PHP, без проблем правлю баги в софте на Java и ECMA, благо они все похожи. Разбираться с чем-то альтернативным смысла нет.
     
     
  • 4.225, burjui (ok), 13:18, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну пиши, никто тебе не мешает. Но нет, пришёл в новость о Rust и написал over 9000 комментов про то, как у тебя глаза вытекают. Ну так не смотри! Иди и дальше любуйся на прекрасный C++ и нюхай неземной аромат PHP.
     
     
  • 5.236, Онаним (?), 19:03, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если так не нравятся коментарии - графоманией можно заниматься в ящик ближайшего стола, а не в сеть.
     

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

  • 1.85, bOOster (ok), 11:47, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очередной шажок превратить дорогих программистов  в ремесленников?
     
     
  • 2.86, фррр (?), 11:55, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если люди с питона, руби и прочей тормозной скриптухи перейдут на раст, то это будет хорошо.
     
     
  • 3.90, Аноним (7), 12:02, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Эй, вам надо пачитать книжка! Rust и питон и руби - языки разных областей применения! Не пересекающихся почти полностью.
     
     
  • 4.93, фррр (?), 12:30, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это в теории, а на практике тормозную скриптуху пихают везде.
     
     
  • 5.95, A.Stahl (ok), 12:42, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Это в теории, а на практике тормозную скриптуху пихают везде.

    А ведь что мешает сделать интерпретатор Си(с классами) с тем чтобы приучать питонистов и прочих к нормальному языку?


     
     
  • 6.101, Аноним (7), 12:59, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я в детстве дотнетнировал, как аноним со стыдом в признаюсь сием постыдном грехе (но всегда после мыл руки!) Вот думаю если анонимусу хочется как интерпретатор С (с классами) он тоже может подотнетнировать (после мойте руки, клавиатуру, соблюдайте гигиену!)

    И таки да, без шуток, питон - НОРМАЛЬНЫЙ язык. Аноним использовал в работе за эти десятилетия C, С++ (98, 11), C#, Java, Python, Ruby, Dart, LSL (моя любовь), Bash, QuakeC и даже Perl.

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

     
     
  • 7.105, Аноним (105), 13:13, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Питон хорош только тем, что для него наплодили библиотек почти для всех случаев жизни.
     
     
  • 8.115, bOOster (ok), 14:18, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Именно библиотеки и есть ремесло ... текст свёрнут, показать
     
  • 8.166, anonymous (??), 23:53, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Библиотеки то, в основном, не питоне Их из него только вызывают Да и переносят... текст свёрнут, показать
     
  • 7.109, Аноним (7), 13:49, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я же больше не дотнетнирую! зачем минус то поставили!)
     
     
  • 8.111, коржик (?), 13:58, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я дотнетирую, мне обидно ... текст свёрнут, показать
     
  • 8.116, bOOster (ok), 14:22, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Взгляд бросил прочитал - детонирует MS43 от Siemens очень умеет это обходить ... текст свёрнут, показать
     
  • 6.102, Аноним (105), 13:05, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уже https://root.cern.ch/cling
     
  • 6.113, bOOster (ok), 14:09, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> Это в теории, а на практике тормозную скриптуху пихают везде.
    > А ведь что мешает сделать интерпретатор Си(с классами) с тем чтобы приучать
    > питонистов и прочих к нормальному языку?

    Этож Бейсик? НЕ?

     
  • 5.97, Аноним (7), 12:46, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что rust - язык без сборщика мусора, якобы предназначен для низкоуровневых вещей - к примеру драйвера (в теории), какие то еще приложения где требуется real-time код, компактность и быстродействие. Так что на практике люди используют "презренные" пехи и руби там где надо. Вы пишете драйвера на питоне? На чем вы будете делать макет алгоритма? на расте?
    Просто та область применения для которой раст разработали уже давно занята, оттого фанаты языка такие назойливые.
     
     
  • 6.124, menstenebris (?), 16:00, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Автовыведение типов и синтаксический сахар позволяют на rust писать почти так же компактно как на python. При этом предоставляет более низкий порог вхождения чем с++. Я пробовал писать и системные демоны и веб апи, и даже встраивать в python. При должных навыках код получается быстрый и компактный, не такой читаемый как python, но более читаемый чем с++. У rust сейчас одна проблема это сложность создания библиотек и от того их количество.
     
     
  • 7.184, Онаним (?), 07:16, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты уж меня извини, но с его синтаксисом там скорее не сахар, а смесь перцев с говном.
     
     
  • 8.204, Аноним (202), 00:40, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальный там синтаксис Достаточно немного его попытаться изучить чтоб понять ... текст свёрнут, показать
     
     
  • 9.210, Аноним (7), 03:12, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вот в этом то и главный косяк этого языка, слишком много телодвижений даже для т... текст свёрнут, показать
     
     
  • 10.211, Аноним (202), 05:57, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Попытаться немного изучить лишние телодвижения Если сравнивать синтаксис Рас... текст свёрнут, показать
     
     
  • 11.212, Аноним (202), 06:06, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    миссклик так вот то окажется, что не так уж раст и страшен, а в некоторых случа... текст свёрнут, показать
     
  • 10.224, menstenebris (?), 13:05, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    По началу мне тоже так казалось Много лишнего кода ради проверки всех возможных... текст свёрнут, показать
     
  • 9.217, Онаним (?), 10:49, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Настолько нормальный, что доля условного рынка годами держится в районе 0, а в... текст свёрнут, показать
     
  • 6.131, Аноним (131), 16:47, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не якобы и не в теории, а на практике: https://www.opennet.me/opennews/art.shtml?num=51475
     
     
  • 7.136, Аноним (136), 17:12, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это какая-то синтетика. Школьники драйвера не пишут и поэтому раст для драйверов не используют.
     
     
  • 8.205, Аноним (202), 00:42, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    При чем тут школьники ... текст свёрнут, показать
     
  • 6.180, Онаним (?), 07:09, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > где требуется real-time код, компактность и быстродействие

    Тут определённо "не" пропущено :)

     
  • 6.268, коржик (?), 19:19, 30/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто та область применения для которой раст разработали уже давно занята, оттого
    > фанаты языка такие назойливые.

    Вот же сволочи назойливые! Уже и новость про новую версию раста комментируют!

     
  • 4.203, Аноним (202), 00:37, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Все они пересекаются в вебе и скриптах, и раст это делает быстрее.
    Была история одного мейнтейнера реп руби. Снижение времени парсинга логов с 16 часов до нескольких минут :)
     
  • 3.118, bOOster (ok), 14:30, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Если люди с питона, руби и прочей тормозной скриптухи перейдут на раст,
    > то это будет хорошо.

    А эти люди знают что такое бинарный поиск?

     
  • 2.108, Аноним (7), 13:46, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дорогие программисты превращаются в дешевых не с помощью инструментов вроде раста - это же просто язык, кстати довольно сложный. А с усовершествованием методов сверхэксплуатации в ИТ индустрии (гибкие методики к примеру), методы тейлоризма при эксплуатации, создание резервной рабочей армии, выносом заказов в другие страны с дешевым трудом.
     
  • 2.206, Аноним (202), 00:46, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Цена программиста не зависит от сложности языка
    А вот писать легче, чем на UB и UB++, им будет удобнее.
     

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

  • 1.133, Аноним (133), 16:59, 24/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Из википедии:

    > Rust (язык программирования)
    > Объектно-ориентированное программирование как таковое языком не поддерживается

    Отсюда вопрос: как на этом г-не программировать графический интерфейс (GUI)?

     
     
  • 2.135, Аноним (136), 17:08, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для начало покажи хотябы одну графическую тулзу на раст. У если найдешь в ее коде и посмотри)
     
  • 2.137, Анонимм (??), 17:41, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, чёткого определения ООП до сих пор нет. Во-вторых, https://github.com/redox-os/orbtk
     
  • 2.139, Аноним (127), 18:04, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А по вашему ГУИ без ООП невозможен? На Си нельзя писать с ГУИ?
     
     
  • 3.143, Аноним (3), 18:47, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В си есть ООП. Ядро полно ООП, гтк полон ООП.
    При чём ГУИ тут вообще, ГУИ это только ГУИ абстракция.
     
     
  • 4.213, Ordu (ok), 06:32, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > В си есть ООП.

    Если мы используем такое определение для "есть ООП", которое позволяет сказать, что в C есть ООП, то тогда нам придётся признать, что в Rust'е тоже есть ООП. Rust не хуже C позволяет жонглировать указателями на функции, и создать вручную vtable там не проблема нисколько.

    > При чём ГУИ тут вообще, ГУИ это только ГУИ абстракция.

    Это вопрос к анониму выше, он почему-то считает, что без ООП невозможно программировать гуй.

     
  • 4.219, Онаним (?), 11:05, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > В си есть ООП. Ядро полно ООП, гтк полон ООП.
    > При чём ГУИ тут вообще, ГУИ это только ГУИ абстракция.

    Там где надо ООП, люди берут плюсы, и не мучаются :)
    Или дотнетик.

     
  • 2.145, коржик (?), 20:09, 24/04/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Сложно И не из-за того что нет ооп, а вследствие ограничений на уникальное влад... большой текст свёрнут, показать
     
     
  • 3.194, Forth (ok), 11:12, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если бы только в UI вызывало проблемы.
    Любое модульное приложение, где модули ничего друг о друге не знают кроме публичных интерфейсов лего наваять в Java например. Легко написать тесты как модульные так и интеграционные.
    На расте это превращается в жесть с дженериками, иначе тесты хрен напишешь.
    Можно конечно передавать всё как dyn Trait, но тогда начинается веселье с borrow checker который уже не может отследить, на что ссылка из структуры заимствуется.

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

     
  • 2.193, Аноним (193), 10:46, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А это бред. ООП в Расте есть. Просто весь полиморфизм реализован через интерфейсы, а не через наследование.

    https://doc.rust-lang.org/book/ch17-00-oop.html

     
     
  • 3.218, Онаним (?), 10:51, 26/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > весь полиморфизм реализован через интерфейсы, а не через наследование.

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

     

  • 1.254, zo0M (ok), 17:22, 28/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все нравится, нормальный релиз!
     

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



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

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