03.02.2023

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

 
  • 2.2, Аноним (2), 23:22, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    в целом, поработав с безопасным растом и небезопасными плюсами, пришел к выводу, что в расте гораздо безопаснее. Да и в целом, раст — это синоним слову безопасность. Ну и память — с памятью работать стало безопаснее. Потому что используется безопасный раст. Безопасность достигается при помощи безопасных конструкций безопасного языка и безопасной работы с безопасной памятью, чтобы безопасные программы были еще безопаснее.
     
     
  • 3.12, Аноним (12), 23:41, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    unsafe это про отсутсвие UB и про формальные гарантии компилятора (типа ссылки указывают на живые объекты, не будет разыменован нулевой указатель, етц)
     
  • 2.5, Rev (?), 23:28, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как день и ночь. На расте всё надёжнее и проще, чем на плюсах.
     
     
  • 3.6, Кир (?), 23:32, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты забыл 10 раз повторить, что безопаснее. Незачёт.
     
  • 2.8, Аноним (12), 23:36, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    по началу писать гораздо сложнее, пока осознаешь как работать с владением и заимствованием борясь с конпелятором. потом гораздо легче, поскольку уже конпелятор начинает работать за тебя и отлавливает глупые ошибки. в расте основная идея — это взять плюсы(правда с видоизмененным ооп) и крайне педантично выпилить все UB — превратив их в ошибки компиляции. это применимо к unsafe коду (надо так и читать — unsafe от UB). вся педантичность проявляется в очень строгих формальных гарантиях, которые дает компилятор и вот именно их очень в крестах после ржавого не хватает. такой небольшой шажок в сторону формального доказательства правильности программы. хотя плата за это так же имеется, естесна. нужно руками прописывать времена жизней объектов(если это не получается вывести из контекста). и в целом, некоторый класс программ написать становиться сложнее, приходится иногда извращаться чтобы ублажить требования конпилятора
     
     
  • 3.13, НяшМяш (ok), 23:45, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    В лайфтаймы на старте можно и не упарываться вообще, просто фигача сплошные clone и прочие to_owned. В большинстве случаев этого хватает во всех смыслах. Зато при таком явном подходе сразу видишь, насколько получается среднестатистическая программа относительно неэффективной. Ведь в других языках всякие копирования неявно спрятаны, а иногда даже и в документации не описывается.
     
  • 2.11, НяшМяш (ok), 23:40, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Понадобилось как-то написать нативную библиотеку для ноды. Выбор был между https://github.com/nodejs/node-addon-api и https://github.com/napi-rs/napi-rs

    Раст выиграл за более простую инфраструктуру вокруг — Cargo, cliшки для сборки и паблишинга, всё как любят жсники. В плюсах просто пришлось бы вручную описывать сборку каким-нибудь CMake.js (што), лапками писать шаблоны для CI и паблишинга либы.

     
  • 2.14, Аноним (14), 23:49, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ржавый это: смузихлёбство, феминизм, sjw, lgbt, blm, stand with ukraine. Вопросы?
     
  • 2.20, Я (??), 00:00, 20/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ну вот в плюсах все заряженные дробовики и острые предметы валяются где попало, а в расте всё это аккуратненько сложено на складе и если не надо не ходишь туда и всё хорошо, а если надо то горит ярко. в остальном не то чтобы большая разница с тем как если бы плюсовый компилятор просто отказывался компилировать код написанный не по гайдлайну..
     

     
     
  • 3.10, Аноним (12), 23:39, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и не говори. такое дно нечитаемое и неудобное что заменило псевдокод в большинстве литературы
     
  • 3.19, DeadMustdie (??), 23:59, 19/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Луа топ

    Я тоже позитивно оценивал Lua, пока не столкнулся с «особенностями» обработки юникода и больших целых на этом прекрасном языке.

    Мне конечно скажут, что это я старьём пользовался, но блин это «старьё» было сделано в 21 веке так, будто всем должно хватить 7 бит и 32-битных чисел с плавающей точкой.

    Не зашло.

     

  • 1.16, Аноним (16), 23:53, 19/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Предоставлена возможность определения собственных кодов возврата из функции main.

    молодцы. Жаль java так не может

     

    Источник.