URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 130980
[ Назад ]

Исходное сообщение
"Выпуск языка программирования Rust 1.71 "

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

Подробнее: https://www.opennet.me/opennews/art.shtml?num=59438


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 12:50 
С замиранием сердца жду Раст 2.0, где наконец-то рискнут усложнить синтаксис.

"Выпуск языка программирования Rust 1.71 "
Отправлено Иван Петроу , 14-Июл-23 14:25 
Ну да, такой сложный и непонятный синтаксис, все эти дженерики...иное дело кастовать void* - вот это действительно просто и понятно, а главное негде ошибиться, нужно просто аккуратно писать код, без багов

"Выпуск языка программирования Rust 1.71 "
Отправлено Витюшка , 14-Июл-23 15:33 
Посмотри как это сделано в Zig и вопросов не будет. Там нет проблем ни с covariance/etc.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:39 
Не надо никого ждать - возьми D и пиши! ТАМ ЕСТЬ ВСЁ.

"Выпуск языка программирования Rust 1.71 "
Отправлено Cooler , 14-Июл-23 18:29 
Там нет захвата в лямбда "по значению".

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 06:20 
Всё есть и всё захватывается только в SPARK: https://learn.adacore.com/courses/intro-to-spark/index.html

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 18:32 
Только те, которые с ним работали (работают), почему-то жалуются на нестабильность и подолгу неисправляемые баги. Здесь, на этом сайте часто о таком читал.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 22:43 
А наскольео тут писавшим можно доверять?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 23:28 
А насколько можно доверять утверждению: "Возьми D и пиши! ТАМ ЕСТЬ ВСЁ." ?

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонин , 14-Июл-23 23:31 
Абсолютно нельзя доверять!
Но можно напр. зайти в багтрекер d-lang и посмотреть, что там творится.
https://issues.dlang.org/buglist.cgi?component=druntime&orde...---
https://issues.dlang.org/buglist.cgi?component=dlang.org&ord...---

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Hck3r , 15-Июл-23 16:30 
Как будто бы в других крупных проектах такого нет, лол

"Выпуск языка программирования Rust 1.71 "
Отправлено freehck , 15-Июл-23 01:03 
> А наскольео тут писавшим можно доверять?

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 19:42 
Ну нет, анонимы не обманывают, в отличие от регистрантов. А в случае с сабжем, имеет смысл верить любой негативной дичи. Скорее всего, это правда, и даже не гипертрофированная. Я сам в этом убеждался. Другое дело, что не со всем легко столкнёшься, но, всегда стоит учитывать, что вероятность имеется.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:45 
синтаксис раста и так постоянно усложняют, в результате чего большая часть проектов собирается исключительно на найтли.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 18:04 
Можно же!

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 20:40 
Какая связь между усложнением синтаксиса (которого на самом деле нет) и сборкой проектов на бета-версиях компилятора?

"Выпуск языка программирования Rust 1.71 "
Отправлено Rustoman , 15-Июл-23 04:12 
Тут связь обратной должна быть, из-за простоты и невыразительности синтаксиса приходится на найдтли компилить

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 20:38 
Для таких, как ты, придумали C++. Спецификация на примерно 1000 страниц, UB, выборочная поддержка стандартов компиляторами. Всё, как ты любишь.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 21:07 
кто ж виноват, что очередной васян, считающий себя гением, лезе чтобы добавить новых конструкций в язык, раздувая спецификацию

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 21:33 
Тогда уж "очередные васяны" ( Спецификация коллективный продукт.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 11:31 
А спецификация для Rust сколько страниц?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 14:41 
У раст вообще нет спецификации.

"Выпуск языка программирования Rust 1.71 "
Отправлено Neon , 16-Июл-23 03:49 
Т.е. правая рука не знает, что делает левая ?)))

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 17:17 
То есть у Rust есть RFC. Это то же по сути, что и спецификация - разработчики GCC, которые, вроде, пилят альтернативный компилятор Rust, не дадут соврать. Только более динамичное, не такое анально отгороженное от общественности, как спецификация Плюсов, и к тому же бесплатное.

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимитатор , 16-Июл-23 15:09 
Версии 2.0 никогда не будет, успокойтесь.

"Выпуск языка программирования Rust 1.71 "
Отправлено Серб , 17-Июл-23 13:59 
С чего ты взял?

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


"Выпуск языка программирования Rust 1.71 "
Отправлено 12yoexpert , 14-Июл-23 12:52 
я не понимаю, почему опеннет не пишет новости на каждый коммит в репе раста. по-моему глупо пропускать столько важных и безопасных изменений

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:08 
> глупо пропускать столько важных и безопасных изменений

Главное не пропустить очередную пачку новостей о сишных дырах, из которых на 50% состоит опеннет.


"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 13:11 
Да ну, прошлый релиз был месяц назад.
Опять маркетологи подсказали, что цифирька в версии придает уверенности и зрелости?
слишком часто для "самого" безопасного ЯП, там изменения прошлой версии еще по-критиковать не успели, а тут выкатывают новую.
На лицо замазывание дыр и сомнений по средством гонки релизов.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:39 
> по-критиковать
> На лицо
> по средством

Садись, два.


"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 14:17 
согласен, не перечитывал и в угоду быстроте публикации коммента подзабил на грамотность. в интернетах почему то стало привычкой

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:40 
blazing fast commenting

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 17:49 
> почему то

почему-то


"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 14:21 
хотя вот "по_средством" стало таким случайно при нажатии С.
Недавно сам журил за это слово, а тут вон оно как бывает забавно палец жмяк на две клавиши и на тебе

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 19-Июл-23 06:36 
За отсутствием аргументов хотя бы ошибки поискал у человека, правда? В тапки не забудь нагадить ещё и подлокотник подрапать. =)

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонин , 14-Июл-23 13:40 
Не месяц, а 6 недель назад. https://blog.rust-lang.org/2023/06/01/Rust-1.70.0.html
У них просто 6-week release cycle. А не потому что они хотят чтобы у опеннетчиков горело каждые 6 недель.

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

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Пушок , 14-Июл-23 14:57 
Ну зачем ты врёшь, вводишь опеннет в заблуждение? Зачем хочешь скрыть, что раст навязывают корпорации? Думаешь, стоящая за ним, армия маркетологов незаметна? Маркетологи добавили в Rust code of conduct! Для смузихлёбов. Их нанимают корпорации, чтобы было дёшево, а они глупые, не могут писать. Раст помогает им джейсоны перекладывать. Я, кстати, пишу на Bash и часто бываю в комментариях opennet. Спасибо. Но врать это ты брось. Раст в комментариях уже не раз обсуждали, всё с ним понятно. Опеннет не проведёшь.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:34 
+1. Такого навязчивого просовывания языка во все щели я ещё не видел! Даже MS с его C# намного скромнее  себя вела - объявила, мол, есть C#, есть WinForms, можно писать. И грабить корованы. И ВСЁ! Народ побежал писать.
С растом и так сунут, и так припудрят, и здесь блёстками посыпят, но .... никому это г___но не нужно!

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 18:38 
> никому это г___но не нужно

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Neon , 16-Июл-23 04:22 
Ну да, целая секта бегает и орет на всех углах про чудесный раст. И волосы от него станут густее и шелковистее.))) Очень навязчивая реклама Раста уже достала

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 14:16 
Ты перестань вещества употреблять разные, глядишь, и "целая секта" исчезнет из твоей головы. Мне вот, кроме статей на Опеннете нигде эта информация больше и не встречается почему-то. Тем более, реклама.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 15:40 
> Такого навязчивого просовывания языка во все щели я ещё не видел!

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Neon , 16-Июл-23 04:21 
С/С++ может быть и достали, но кроме раста есть еще множество других путей, но что то носятся и суют во все щели в качестве серебряной пули именно раст

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонин , 16-Июл-23 11:55 
Это какие еще пути для сишечки? Давайте, перечислите.
Если они есть, то почему до сих пор нереализованно?

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено anonymmm , 17-Июл-23 14:18 
Анализаторы, верификаторы, модел чекеры, генерация кода из языков с доказанной корректностью алгоритма.

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

в Linux ядре в некоторых местах есть например части, описанные на promela, чтобы не зависало.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Neon , 16-Июл-23 04:20 
+1 Армии маркетологов носятся с очередной серебряной пулей. Так они разве что с Java носились. Типа решение всех проблем. И это при том что, виртуальная машина была еще в древнем Паскале с его p кодом

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:38 
> А не потому что они хотят чтобы у опеннетчиков горело каждые 6 недель.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:53 
Молодежь не помнит как пропихивали с++ вместо сишечки))
Очень жаль что тебе в зад засунули раст, это ооочень печально)

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 12:14 
>Молодежь не помнит как пропихивали с++ вместо сишечки))

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 19:12 
> Как раз "частые релизы" позволяют корпорастам создавать в инфополе видимость "всем нужен раст".

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

> Хотя ДЛЯ ЯЗЫКА(!) такая скорость релизов крайне частая.

Ты хоть один язык создал, чтобы делать подобные утверждения или просто мнение имеешь? Я ещё готов согласиться, что лет 30-40 назад такое положение дел было в норме, язык годами создавался, а потом десятилетиями вылизывался. Но сейчас-то, при такое обширной теоретической базе знаний в области программирования вообще и компиляторостроения в частности...

> Это говорит о незрелости языка

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

> и главное - о его ненужности

А парни из Гугл, Микрософт и других спонсоров Rust и не догадываются об этом. Вот же дураки, да? 😂

> потому что НОРМАЛЬНЫЙ язык "пропихивать" не нужно - люди его сами юзают!

Дык ведь и юзают. Те, кто смог осилить.

> Даже, прости господи, С++ при всех его недостатках и неуклюжем синтаксисе выбирается добровольно.

Где в наши дни он выбирается добровольно? На каких таких НОВЫХ проектах это угpёбище со спецификацией из 1000 страниц, которую не способен полностью осилить ни один человек на планете, с UB, с неполноценной поддержкой стандартов в разных компиляторах, выбирают добровольно?


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 23:42 
Со всем согласен кроме последнего пункта - в геймдеве пока еще раст даже близко не конкурент плюсам. Но надеюсь и тут скоро будут анрил потеснится, надо движкам немного настояться и обрасти редакторами и тулингом.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 01:50 
Unreal engine - это всё-таки не НОВЫЙ проект.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 12:18 
>А парни из Гугл, Микрософт и других спонсоров Rust и не догадываются об этом. Вот же дураки, да? 😂

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 21:48 
> А к чему весь этот сарказм а? Тебе нравится лизать зад корпорастам?

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

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

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



"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 01:48 
Мне плевать, где работают квалифицированные программисты. Для меня главное это то, что они грамотные умные ребята. Идиотов туда не берут, очень жёсткая конкуренция потому что.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 02:08 
Тут намек что в Rust прежде всего заинтересованы корпорации, потому что он резко усиливает контроль над качеством кода. Сишник начинает мыслить по другому. На себе проверено )

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 14:28 
В скорейшем повсеместном внедрении Rust вместо Си прежде всего заинтересованы конечные пользователи. Потому что количество ошибок в конечном коде существенно уменьшается - несколько независимых друг от друга источников это подтверждают. А кто там пишет/поддерживает этот код - корпорации, или отдельные Васяны - уже совершенно неважно. Осозннанные разработчики (повторю специально это слово - осознанные, то есть, понимающие последствия своих ошибок в коде) тоже должны быть заинтересованы в Rust (или любом подобном языке).

"Выпуск языка программирования Rust 1.71 "
Отправлено анонимус , 14-Июл-23 14:17 
> прошлый релиз был месяц назад

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 14:26 
ну если по вашему, то может и сесть смысл
в статистике неосиляторства, может быть больше смысла чем в похвале адептов.
интересная мысль у вас, надо обдумать.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:20 
Отличный язык! Позволяет безопасно работать с памятью!

"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 13:23 
чем докажешь?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:33 
Ответ прост: боров-чекер. У сишки его нет.

"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 14:13 
что мешает улучшать сишку?
что мешает писать на сишке с учетом недостатков?

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Анонин , 14-Июл-23 14:23 
> что мешает улучшать сишку?

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:20 
>Сишка такая как она есть. Можно из нее сделать какое-то безопасное подмножество, но это будет другой язык с си-синтаксисом.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 23:42 
Чтобы не ходить далеко предлагаю здесь примерно описать как Вы будите реализовывать "макроса thread_local," из статьи в синтаксисе С. Для справки это макрос который реализует поток со своими данными, легко вызывается как метод статического типа с конструктором и лямбдой.  

"Выпуск языка программирования Rust 1.71 "
Отправлено Пушок , 14-Июл-23 14:46 
>что мешает писать на сишке с учетом недостатков?

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:21 
Ты про русских дидов? Потому-что адепты Ритчи так не поступали.

"Выпуск языка программирования Rust 1.71 "
Отправлено anonist , 14-Июл-23 15:57 
object-c?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:35 
Изучи в свободное время модули в C++, а затем посмотри на поддержку в компиляторах (её нет, это тяжёлая задача - идти против языка, использующего заголовочные файлы). Легаси мешает очень сильно.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 14:16 
Боров привязывается на изи только он всех бесит потому им никто не пользуется.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 19:15 
Отучаемся говорить за всех. Ты не пользуешься. Но, скорей всего, твой софт никому не нужен.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:24 
Значит Вы неправильно работаете с памятью. В си у Вас будут ошибки, которые Вы скроете (си доброжелателен). но они вылезут в рантайме и будут обнаружены в CVE.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:18 
> чем докажешь?

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


"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 13:28 
Если отличный в смысле отличается, то да, действительно.
если безопасно работать с памятью, то откуда все это берут, если софта написанного на этом толком нет.
Давайте подождем чего нибудь критически важное на этом языке и тогда если интернет не будет пестрить новостями о дырах будем хвалить.

"Выпуск языка программирования Rust 1.71 "
Отправлено Пушок , 14-Июл-23 13:33 
А почему ты затрясся весь?

"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 13:50 
напротив, спокоен и критическое мышление в состоянии ВКЛ.
вокруг все излишне рады и восторжены этим растом как некой панацеей.

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 14-Июл-23 14:15 
Конечно рады! Мясные мешки до сих пор не научились работать с памятью. Причем там правила просто элементарные, просто нужно быть внимательным. Внимательным на паре сотен тысяч строк кода, ничего сложного))
И это прекрасно видно по количеству, а главное видам дырений в ядре и других сишных проектах.
Поэтому возможно переложить эту рутину на компилятор - это просто прекрасное решение.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 14:18 
А толку если ты точно такой же мешок не в состоянии управляется с кодом на сотни тысяч строк на расте.

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 14-Июл-23 14:20 
Толк в том, что оно тебе просто не позволит скомпилировать такой код без использования unsafe.
И код не попадет в прод, к юзерам и тд.

"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 14:33 
что мешает слелать компилятор для сишки таким же надоедливым? пусть мигает светодиодом красным и окошко рисует с unsafe, не пускает готовое в папку "готовое"

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 14-Июл-23 14:50 
В теории можно. Но это очень большая работа в самом компиляторе.
Плюс будет проблема в подходах. Оно будет ругаться просто на вызовы функций или порядок вызовов из-за владения (ownership). Т.е. придется писать код на си "по-другому".
А старый код не будет компилироваться на новом компиляторе.
В обратную сторону оно наверное будет работать - си-код с учетом ownership будет компилироваться обычными компиляторами.

Если действительно интересно - вот пример как переписывают относительно небольшой и простой код с си на раст, вначале просто "наивно", а потом уже идиоматически правильно.
https://cliffle.com/p/dangerust/


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:16 
есть же раст. ах, да, ты же не осилишь

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:30 
> что мешает слелать компилятор для сишки таким же надоедливым?

Вы еще ассемблер предложите сделать таким же. ) Си близок к ассемблеру и доброжелателен. Это его ниша.
Еще раз вопрос Вы работали в Rust? Изучили синтаксические конструкции Rust и C. Изучили систему типов? Я думаю, что нет. Иначе не выдвигали бы такие идеи.


"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 20:13 
Это как из Жигули пытаться сделать Лотус. Оно-то возможно (ТВ шоу "Топ Гир" не даст соврать), но зачем, если уже есть Лотус?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:35 
> софта написанного на этом толком нет

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


"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 13:44 
критически важный? от и до написанный на раст?
пару строк в большом проекте не надо считать

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:47 
> критически важный?

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено frac , 14-Июл-23 14:07 
Вы уважаемый тот еще диверсант. не хочу с вами спорить, время покажет и рассудит.
Не надо эту "moving goalpost syndrome" американщину тем более лженаучную,в пример приводить.
Есть понятие софизм. Есть несколько видов софизмов в споре 1. отступление от задачи спора 2. отступления от тезиса.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено анонимус , 14-Июл-23 14:30 
э... а почему ты думаешь, что тебя кто-то здесь уважает?
как и наблюдателей за спором?
разве на пенек анонимы за уважением приходят

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:04 
В копилочку проектов ещё Pingora и половина серверного бекенда Discord

"Выпуск языка программирования Rust 1.71 "
Отправлено User , 14-Июл-23 16:25 
С ruffle'ом рофл конечно. Этот калич года то ли с 16 то ли с 17 пилят - и до сих пор половину возможностей оригинала оно не осилило. Если остальное такое же - нууу... Эээээ... Такое себе, в общем.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:44 
А сколько лет пилили оригинальный флеш? Лет 20+?

"Выпуск языка программирования Rust 1.71 "
Отправлено User , 14-Июл-23 18:29 
Ну вот через 20 лет и приходите.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:34 
Вы сами не готовы к предметному спору по Rust.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 18:46 
> Чувак, у тебя раст без пяти минут в ядре окажется, если уже не.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 18:48 
> Мне почему-то кажется

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:41 
Меня другое беспокоит в наличие кода Rust в ядре. Как будут уживаться unsafe и полная система типов Rust. Без unsafe скорее всего не обойдутся. А так все типы в Rust это структуры и функции к ним.

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 14-Июл-23 20:05 
> Без unsafe скорее всего не обойдутся

Не скорее всего, а 100%. Но раст не ставит цель писать без unsafe.
Это просто невозможно. Напр. любой FFI будет unsafe.
Цель - отделить safe код от unsafe и минимизировать количество unsafe блоков.

> Как будут уживаться unsafe и полная система типов Rust.

Будут конвертиться в сишные типы на границе модулей. Для unsafe будут писаться safe обертки.
Что-то вроде нам пришел из ядра pointer на буфер вот такой длинны.
Мы верим ядру что оно валидное, потому что у нас выбора особо то и нет.
Из него создаем вектор используя unsafe from_raw_parts.
А дальше используем этот вектор в safe code.
Выполнив работу вызываем fn into_raw_parts(self), получаем (ptr, len, cap) и возвращаем в си код.


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 20:17 
Если бы на bound всё сводилось к буферам. Layout структур надо тоже отслеживать.  

"Выпуск языка программирования Rust 1.71 "
Отправлено _ , 14-Июл-23 22:15 
>> Без unsafe скорее всего не обойдутся
>Не скорее всего, а 100%. Но раст не ставит цель писать без unsafe.

А на кЫргЫзкую песню(с) от тогда нужен?

Впрочем те немногие проги на расте которыми хотя бы кто нибудь пользуются выглядят так:
unsafe { собственно прога }

БезопасДность детка! :)


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:38 
Раст позволяет небезопасно работать с памятью.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:42 
Дефолтное состояние раста -- безопасная работа с памятью.
Дефолтное состояние сишки -- небезопасная работа с памятью, все ворнинги отключены.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:50 
Ну правильно, нахчем вселенную обогревать? Включено у разработчика. В итоге это дерьмище ржавое часами компилируется, а притягивается оно по зависимостям какого-то минорного дерьма.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:53 
Пусть вкалывают роботы, а не люди.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 14:20 
Вкалывают майнеры, а не твои купленные сервера.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 20:20 
Куда лучше многомиллионные убытки пользователей дырявого Си-шного софта, да? Уж там-то точно планета не обогревается (если на баги попросту плюнуть и не исправлять их).

"Выпуск языка программирования Rust 1.71 "
Отправлено _ , 14-Июл-23 22:19 
Ой как ты убиваешься за наши деньги то! :)
Но ты же так не убьёшься! (с) :-)

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 14:19 
Да всем как то пофиг что там по дефолту. Раст небезопасный йазыг.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 20:26 
Ещё один воин супротив Раста за всех пытается говорить. Отучайтесь от этого, глядишь, за умных сойдёте.

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено _ , 14-Июл-23 22:21 
>Безопасность - это свойство кода, а не языка.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 22:38 
А для того, чтобы безопасная работа с памятью была не обещание кодера, а результат контроля компилятора.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:24 
>Дефолтное состояние русских сишников -- небезопасная работа с памятью, все ворнинги отключены.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 03:01 
как ты это узнал?

"Выпуск языка программирования Rust 1.71 "
Отправлено Neon , 16-Июл-23 04:24 
Это то спустя столько лет, после изобретения языков программирования, наконец то научились безопасно работать с памятью ?))) Да еще древний Basic  умел и не вызывал ошибок с памятью.)))

"Выпуск языка программирования Rust 1.71 "
Отправлено Брат Анон , 17-Июл-23 09:04 
Наброс засчитан!))

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 13:52 
>NonZeroI*::is_positive

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 14:55 
Вот я не понимаю почему они так синтаксис переусложняют? Можно же было сделать это как-нить так:
NonZeroI()*{^&}::<>(*)is_positive?:'()

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:23 
Почитай исходники glibc на досуге.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 17:07 
Напиши аналог glibc на расте на досуге.

"Выпуск языка программирования Rust 1.71 "
Отправлено Советский инженер , 15-Июл-23 07:02 
Поройся в исходниках Redox, там есть.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 14-Июл-23 15:32 
Обычный С++, всё просто и понятно.

"Выпуск языка программирования Rust 1.71 "
Отправлено n00by , 15-Июл-23 07:20 
В С++ такое определено как ill-formed.

"Выпуск языка программирования Rust 1.71 "
Отправлено freecoder , 14-Июл-23 21:00 
Там звёздочка - это не синтаксис, а wildcard от авторов обзора на релиз, чтобы сократить записи I8, I32, I64 написали просто I*.

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 14-Июл-23 17:11 
Какой смысл сравнивать NonZeroI с нулем через больше или РАВНО, если оно NonZero?
А причина - строгая типизация, ты не можешь без неявного преобразования сравнить NonZero и numeric literal. И, в отличие от некоторых, тут решили не делать неявных преобразований.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 05:07 
Я смотрю вы в теме, как они этот тип вообще реализовывают? Это что-то из llvm ?
То есть что за этим скрывается? Что в ассемблере будет?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 09:25 
На ассемблере будет обычный int. Но компилятор сможет учитывать, что этот int в своем нормальном состоянии никогда не будет равен нулю и использовать это в своих целях.

Самый банальный пример то, как будут выглядеть опциональные типы, то, что в C++ std::optional, а в расте std::option.

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

Т.е. обычно структура на плюсах упрощенно будет выглядеть как-то так:


class Option<T> {
    bool is_empty;
    T value;
}


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


"Выпуск языка программирования Rust 1.71 "
Отправлено ламер , 15-Июл-23 12:35 
Не в упрёк, а в дополнение (юзеру выше). Всё таки не стоит сильно упрощать. Говоря про реализацию Option, Result и т.д., мы говорим про типы-суммы. В самом примитивном варианте, да, это будет реализована как показано у Анонима, где в случае отсутствия значения у нас не будет инициализирована память, но это хаки небезопасных языков, что не защищают свои абстракции. Да и с точки зрения типов это не Option-тип.

Для правильного "низкоуровневого" Option<T> нам нужен тег(is_some/is_none) и union(из двух вариантов T и Unit). Вполне рабочий вариант для языков с бедной системой типов, но не для чего-то вроде того же C++. Там всё несколько сложнее.

В Rust многие типы(из коробки core, std, alloc) идут как языковые features, то есть тот же Option не захардкожен в компилятор, но в реализации имеет метки для компилятора aka это вот именно Option, благодаря чему у компилятора больше контекста для всячиских оптимизаций. То же, например, с трейтом Drop. Тот же NonZeroI помечен как nonzero, если вы посмотрите исходники.

И возвращаясь к C++, то эмитировать алгебраические типы данных можно ещё и объектной системой, это "эталонный" способ для так называемых менстримных ООП языков. В C++ это всё очень нетривиально, но в базе своей подход строиться на том, что у нас есть базовый абстрактный класс(тип), а его наследники, реализующие его интерфейс - конструкторы.

Для примера код на Haskell:

data Option a = None | Some a

На волшебном ООП языке X:

abstract class Option<T>
class Some<T> : Option<T>
class None : Option<_>


На поиграться можете в Rust создать тип-произведение, один из элементов которого nonzero, и посмотреть, что в итоге sizeof вашего типа A и Option<A> будет одинаковый.  


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 22:43 
Что Вы тут нафантазировали?
Больно читать. Option это enum ( None и Some(T) T - тип )
Какие классы в Rust?
https://doc.rust-lang.org/std/num/struct.NonZeroI32.html - NonZeroI32
https://doc.rust-lang.org/std/option/enum.Option.html - Option

"Выпуск языка программирования Rust 1.71 "
Отправлено ламер , 16-Июл-23 02:28 
Я боюсь, что Вы слишком бегло просмотрели текст и не уловили контекст. Но в этом есть и моя вина, что написал не разборчиво. Выше просто поднялась тема про реализацию типов-сумм и я решил несколько раскрыть мысль, сделав небольшие ремарки.

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 14:21 
>этот int в своем нормальном состоянии никогда не будет равен нулю

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


"Выпуск языка программирования Rust 1.71 "
Отправлено warlock66613 , 15-Июл-23 22:19 
Просто нет возможности туда присвоить ноль. Нет публичного метода или ещё чего-то аналогичного.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 22:54 
Просто учитывается Z флаг процессора при присвоении и выставляется валидность в поле структуры.
Но говорю сразу я не проверял _пока_.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 22:48 
NonZero это структура с полем валидности (не ноль) и значением. Нет классов в расте. Структуры и из имплиментация. Отдельно выделяются трейты

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 15-Июл-23 10:17 
Просто как соответствующий i32. Остальные - аналогично.
Как и предположили выше используются оптимизации и оно занимает ровно столько же места в памяти.
https://godbolt.org/z/8K1PqdTr6

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 14:23 
>An integer that is known not to equal zero.

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 15-Июл-23 15:08 
> Откуда оно это знает?

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 16:01 
Выглядит как шаблонный ад с++.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 15-Июл-23 16:20 
Как в TS - нету.
Но оно реализуемо через enum
enum unionType {
  Str(String),
  Int(i32)
}

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 17:27 
Вообще-то есть. То, что Вы показываете(enum) — tagged union. Именно union он как бы unsafe.

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 15-Июл-23 17:33 
Вроде вопрос был про "Юнион типы", а не про юнионы.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 17:34 
Согласен, прошу прощения. Тогда считайте мой комментарием дополнением к вашему.

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 15-Июл-23 17:38 
Мда, налажал с терминологией, обычные union (как в си) тоже есть и, как написали выше, они unsafe.
https://doc.rust-lang.org/reference/items/unions.html

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 21:49 
> Мда, налажал с терминологией, обычные union (как в си) тоже есть и,
> как написали выше, они unsafe.
> https://doc.rust-lang.org/reference/items/unions.html

Не, речь шла именно про тип объединяющий два других типа.
То есть например (int8 U nill) что означает что функция может вернуть то или другое.


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 23:37 
Для этого есть Option<i8>   fn foo() -> Option<i8>
что бы им воспользоваться вызывающему придется развернуть.
in_caller = foo();
let in_caller = match in_caller {
Some(a) => a,
None => {здесь то что понимается под nill },
};
Не совсем понятно что Вы понимаете под nill (Си)
Если отсутствие валидного значения - используйте Option
Если ошибку в вызванной функции - используйте Result. Result это enum ( ok(T) и Err(E) )

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 23:57 
Это не ад. Это то что должно быть сделано. Раст строг.


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 23:48 
> let n = NonZeroI32::new(123).unwrap();

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 23:51 
Посыпал голову пеплом - переклинило ((

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 23:19 
Не арифметики с NonZeroI*

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 02:05 
Вся арифметика через NonZero*.new()
use std::num::NonZeroI32;
  2 fn main() {
  3     let z = NonZeroI32::new(123).unwrap();
  4     let mut b:i32 = 1;
  5     let mut a:i32 = 3;
  6     let mut c:NonZeroI32 = match NonZeroI32::new(a - b) {
  7         Some(a) => a,
  8         None    => {panic!("Попытка присвоить нуль NonZero типу")},
  9     };
10     println!("{:?}",c);
11     c = NonZeroI32::new(4 + 7).unwrap();
12     println!("{:?}",c);
13
14 }
Если 0 требуется обработка или будет паника

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 18:58 
> Это что быстрее и понятнее, чем >=0?

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Sw00p aka Jerom , 15-Июл-23 09:24 
Ненулевой тип? О_о

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 15-Июл-23 10:24 
А что удивительного? Обычный зависимый тип (который dependent type).
Их там целое семейство по размерностям https://doc.rust-lang.org/stable/std/num/index.html

"Выпуск языка программирования Rust 1.71 "
Отправлено Sw00p aka Jerom , 15-Июл-23 21:31 
> А что удивительного?

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

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

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

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



"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 00:11 
Всё таки понятие нулевой элемент множества существует. Если в контексте важен единичный элемент множества, то можно и его реализовать по аналогии.

"Выпуск языка программирования Rust 1.71 "
Отправлено Sw00p aka Jerom , 16-Июл-23 23:32 
> Всё таки понятие нулевой элемент множества существует. Если в контексте важен единичный
> элемент множества, то можно и его реализовать по аналогии.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 17-Июл-23 02:26 
Ноль это нулевой элемент множества целых чисел, множества действительных чисел, множества комплексных чисел. Например вопрос: ноль это положительное число или отрицательное.
В теории множеств есть понятие нулевого элемента. Если в задаче важно, чтобы данные гарантированно не содержали ноль, то для изменения есть только один путь окукливания NonZeroT::new() (где Т это какой либо тип) и этот тип не скрещивался с другими типами. После разворачивания NonZeroT::new() по размеру становиться равным Т, перед этим идет проверка на не равенство нулю. Я привел пример выше.

"Выпуск языка программирования Rust 1.71 "
Отправлено Sw00p aka Jerom , 18-Июл-23 09:04 
>В теории множеств есть понятие нулевого элемента.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 14:24 
> Ненулевой тип? О_о

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Sw00p aka Jerom , 15-Июл-23 21:35 
> Поинтересуйтесь на досуге про Аду, язык такой, узнаете много нового.

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



"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 14:50 
>Раст может сравнивать только одинаковый тип данных

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

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

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Анонин , 15-Июл-23 19:32 
> маленькие типы не расширяются автоматически до больших при операциях

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

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

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

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

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Sw00p aka Jerom , 15-Июл-23 21:39 
> А как часто вам нужен nan?

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Анонин , 15-Июл-23 23:06 
> Деление на ноль - валидная операция, получается nan.

А вот кстати и нет.

> а зачем он в языке?

NaN существует потому что описан в IEEE 754 в бородатом 1985. Для floating-point.
И именно поэтому тут мы NaN не получим - у нас типы целочисленные.

В rust деление на ноль вызовет панику "attempt to divide by zero", а в сишечке...

А в сишечке это UB согласно 6.5.5 Multiplicative operators:
"The result of the / operator is the quotient from the division of the first operand by the
second; the result of the % operator is the remainder. In both operations, if the value of
the second operand is zero, the behavior is undefined"

Но это никакая не валидная операция.

Вообще не очень понимаю, чем вам мешает эти NonZero?
Ну сделали тип потому что он кому-то нужен. Ну не пользуйтесь им, в чем проблема?


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 00:20 
А зачем нужно значение null в значение указателя в Си? не для того ли что нужно указать malloc, что память не выделена.

"Выпуск языка программирования Rust 1.71 "
Отправлено Sw00p aka Jerom , 16-Июл-23 23:20 
> А зачем нужно значение null в значение указателя в Си? не для
> того ли что нужно указать malloc, что память не выделена.

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



"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 00:25 
Rust дает возможность определять свои типы. Определяете struct {}. Реализуйте impl {} и trait {}
к ней.

"Выпуск языка программирования Rust 1.71 "
Отправлено Sw00p aka Jerom , 15-Июл-23 21:37 
> Кроме того ненулевой тип удобен при делении.

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



"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 23:44 
Если Вы реализуете свои трейты Add, Sub, Div, Mul нет проблем на типах NonZero и NonOne.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 14:26 
По сравнению с Go... Rust - это ненужный мусор в 90% случаях, который только людям жизнь усложняет, как и поганый kubernetes.

"Выпуск языка программирования Rust 1.71 "
Отправлено анонимус , 14-Июл-23 14:47 
сравнение двух языков с Garbage Collector и без оного, показывает твои великолепные знания програмированния на уровне "отчислен из ПТУ животноводства за неуспеваемость"

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


"Выпуск языка программирования Rust 1.71 "
Отправлено FF , 14-Июл-23 15:48 
В Go как раз есть GC. Т.ч. это ты отчислен за знания программироваННия.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:29 
Во первых это хорошо, потому что на расте никто нормальный gc так и не смог сделать. Во-вторых в go gc отключаемый.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:03 
Никто ии не собирался изначально делать GC в Rust. Уже тогда поняли ущербность GC.

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонимусс , 14-Июл-23 19:48 
Вообще-то не только собирались, но и сделали. Правда в какой-то древней версии, но факт что был.
Вот даже заметка о том как его выпиливали https://pcwalton.github.io/_posts/2013-06-02-removing-garbag...
Там еще green threads были пряма в рантайме))
Но до версии 1.0 оно не дожило и слава богу.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 18:40 
Так он и написал, что в Go есть GC, а в расте нет. Правда мысль сформулировал кривовато.

"Выпуск языка программирования Rust 1.71 "
Отправлено S22 , 17-Июл-23 08:02 
> Так он и написал, что в Go есть GC, а в расте
> нет. Правда мысль сформулировал кривовато.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:01 
В Go есть GC.
В Rust нет GC.
Как можно сравнивать?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 12:59 
Тут мягкое с кислым, сферу с балетом сравнивают

"Выпуск языка программирования Rust 1.71 "
Отправлено Витюшка , 14-Июл-23 15:50 
А теперь замени в предложении Go на Zig

"Выпуск языка программирования Rust 1.71 "
Отправлено Анончик , 15-Июл-23 22:33 
Приходите после мажорного релиза

"Выпуск языка программирования Rust 1.71 "
Отправлено Брат Анон , 17-Июл-23 09:07 
https://github.com/gopher-os/gopher-os
https://github.com/SanseroGames/LetsGo-OS
https://github.com/icexin/eggos
Не благодари. При всех нареканиях -- Go вполне себе системный язык.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 12:23 
Как там без полноценного полиморфизма, дженериков, без вменяемой системы типов и без алгебраических типов данных в 2023. Писать код и не иметь даже намёк на какую-то верифицируемость, полноту. Я когда вижу эти iota, interface{}  я не знаю жалеть этих людей или насмехаться  над ними

"Выпуск языка программирования Rust 1.71 "
Отправлено _ , 16-Июл-23 23:21 
They can't be care less, bro! :)
Go - состоялся, нравится вам это или нет, даже в наших кровавых энтер-прайсах ни у кого не вызывает недоумения.
>я не знаю жалеть этих людей или насмехаться  над ними

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

  


"Выпуск языка программирования Rust 1.71 "
Отправлено Проходил мимо , 17-Июл-23 08:04 
Глупость несусветная, как про Rust, так и про Kubernetes.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:05 
Rust конечно классный язык. Такого выразительного и безопасного Hello World'а как на нём, я не написал ни на одном языке!

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:07 
Жаль что Вы дальше HW не продвинулись. Безопасность работы с данными. многообразие конструкций,  мультипарадигменный, не навязывается наследование, кодер включает с код, только то что нужно и много ещё.  

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 21:03 
И всё это исключительно с помощью магии без участия процессора.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 21:16 
На уровне компилятора. Но есть и рантайм проверка типов.

"Выпуск языка программирования Rust 1.71 "
Отправлено Rustoman , 15-Июл-23 05:05 
В рантайме проверяются только слайсы

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 22:18 
Прошу прощение - в уме было проверка _некоторых_ типов, а написал что написал )

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 21:18 
Можно пример компилирования без участия процессора?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 05:11 
С помощью магии же.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 22:20 
Я не застал те времена )

"Выпуск языка программирования Rust 1.71 "
Отправлено Брат Анон , 17-Июл-23 09:09 
Работа компилятора перекладывается на плечи программиста. Это плохое решение. Я хочу, чтобы программист писал код, а не думал: "Вот это мне в бокс завернуть, или мутабельную ссылку подсунуть?"

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 15:32 
Да, это вопрос. Что хуже кодеру: мозгодробительный синтаксис или необходимость следить за памятью?

"Выпуск языка программирования Rust 1.71 "
Отправлено Анонин , 14-Июл-23 15:35 
Ты серьезно? На каком языке ты пишешь что тебе этот синтаксис кажется мозгодробительным?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:16 
Perl

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:11 
Синтаксис прост и элегантен. Если Вы под мозгодробилкой понимаете многообразие языковых конструкций, то ничто не запрещает Вам пользоваться примитивами. От вас только потребуется понять что такое заимствование и время жизни (область видимости).

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:48 
Синтаксис можно выучить, а за памятью нужно будет следить всегда.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 17:31 
Можно пальцами ног ручку держать и писать ими же, но зачем, когда есть для этого пальцы рук?

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 14:31 
Можно сначала думать головой, а потом уже пытаться рожать аналогии. У тебя явно не получилось.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 05:14 
Ненужно компромиссов, выбирайте С++ !!!

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 14:07 
... и получите мозгодробительный синтаксис, необходимость следить за памятью, пачку UB и несовместимость компиляторов в придачу!

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноньимъ , 15-Июл-23 14:27 
> ... и получите мозгодробительный синтаксис, необходимость следить за памятью, пачку UB
> и несовместимость компиляторов в придачу!

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Neon , 16-Июл-23 04:26 
С памятью безопасно еще древнючий basic прекрасно работал.)))

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 16:29 
> Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями...

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 18:45 
> путём вешания на разработчика двойной нагрузки по отслеживанию состояния указателя

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 18:53 
Вот-вот про тебя хорошо подходит, лучше жевать чем говорить за Раст.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:13 
Вместо ругани могли бы разъяснить и привести пример.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 14-Июл-23 19:58 
Никакого примера не будет, ибо для этого надо уметь программировать.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 14-Июл-23 20:33 
> путём вешания на разработчика двойной нагрузки по отслеживанию состояния указателя

Шта?


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 09:32 
Да вообще пофиг как у вас что называется. Время жизни указателя или время святой безопасности.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 02:06 
То есть, ты ничего не знаешь, но мнение имеешь. Так?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 08:11 
всем давно ясно что раст - это тупик и не стоит тратить на него ресурсы. языковые модели будут писать программы на С.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 08:34 
Если вы спросите у chatgpt он напишет вам код на Питоне.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 08:55 
может но зачем?
Си легкочитаемый и легкоадаптируемый под разные платформы. Исходник легко генерировать и легко парсить.  Результат компиляции максимально компактный получается. Что еще надо ?)

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 09:30 
Нейросети гораздо проще будет написать простыню проверки всего от всего на Си. Человеку что то забыть гораздо проще.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 10:25 
Особенно хорошо нейросети справляются со SQL, хотя казалось бы. Я всё ещё убеждён, что нейросети -- это булшит-технологии. Но, вообще говоря, появляется новое железо, способное ворочать большие объёмы данных с контекстом, и результат становится лучше. Но до сих пор возникают ошибки, немыслимые для человека, а галлюцинации побороть просто невозможно. Вот откуда появляются данные, которые существовать не могут и совершенно не уместны? Может быть, следующее поколение сеток будет более совершенным. GPT4 не очень впечатляет пока что, а сколько хайпа было.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 11:08 
добрый дядя должен тебе всё принести на блюдечке?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 11:57 
Дядя собирает за это деньги, и не маленькие.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 12:21 
Да должен.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 22:07 
Опять предположения. А я привел проверяемый факт - скопируйте условия задачи с сайта (https://leetcode.com/problemset/all/ напрмер) и дайте их ChatGPT

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 14:38 
> всем давно ясно что раст - это тупик

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

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено _ , 16-Июл-23 23:29 
>> всем давно ясно что раст - это тупик
>Всем людям с недоразвитыми когнитивными способностями - да, безусловно.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 18-Июл-23 12:52 
Не так. Rust - для людей, понимающих свою ответственность перед пользователями. То есть, для обычных нормальных людей.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 18:18 
Хороший язык! Позволяет безопасно работать с памятью!

"Выпуск языка программирования Rust 1.71 "
Отправлено Пушок , 15-Июл-23 19:01 
1. Комментарий будет зачтён в следующий месяц, так как в этом выплата уже была.
2. Комментарий несодержательный, комментарий-лозунг. Пройдёт по минимальной ставке. Мне всё равно, но ваш руководитель следит за KPI, не подведите его.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 15-Июл-23 22:10 
У Си своя ниша, у Rust своя. Я полгода назад тоже топил за Си и ругал Rust за сложность. Но сел и потратил месяц. И сейчас он очень даже нравиться, больше С++. Он заставляет строже мыслить.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 01:23 
Сел и потратил месяц на Go. С ним не надо мыслить. Просто пишешь и всё получается.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 02:16 
В наш век расслабленности хочется мыслить строга. ) Дойдет время и Go изучу если увижу что там есть убер фичи.

"Выпуск языка программирования Rust 1.71 "
Отправлено Facemaker , 16-Июл-23 12:11 
>Go. С ним не надо мыслить. Просто пишешь и всё получается.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено _ , 16-Июл-23 23:33 
В следующий раз: "после медового месяца" с Rust. Потом скинули на доработку некую программу с большим количеством конкурентного кода с беспорядочной запутанной синхронизацией..."
Ушёл на нафиг в закат.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 14:43 
Во-первых, с ЛЮБЫМ языком надо мыслить, иначе получится ерунда. Впрочем, если ты - начинающий кодер, тебе простительно так говорить, за тебя пока мыслят старшие товарищи.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 06:48 
>Я полгода назад тоже топил за Си
>И сейчас он очень даже нравиться, больше С++.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 08:40 
Какая же у раст ниша ? Просветите нас

"Выпуск языка программирования Rust 1.71 "
Отправлено Facemaker , 16-Июл-23 12:08 
>Какая же у раст ниша ? Просветите

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


"Выпуск языка программирования Rust 1.71 "
Отправлено _ , 16-Июл-23 23:40 
Школота ЫнкорпорЭйтед, CоС то уже написали? А то удачи не видать :)))
Аутсайд.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 17-Июл-23 01:20 
Уже на Redis научились свой логотип вешать? Вот это прогресс, не зря гранты сосут.

"Выпуск языка программирования Rust 1.71 "
Отправлено Neon , 16-Июл-23 04:28 
Безопасно работать с памятью умел древнейший basic.))) И вообще, как то должно быть стыдно, что спустя столько лет после изобретения языков высокого уровня по прежнему проблемы с безопасной работой с памятью вылезают.))) Двоечники никак старые учебники прочитать не могут.)))

"Выпуск языка программирования Rust 1.71 "
Отправлено freecoder , 16-Июл-23 12:21 
Бейсик же интерпретируемый язык.

"Выпуск языка программирования Rust 1.71 "
Отправлено n00by , 16-Июл-23 13:09 
Можно компилировать. Там же нет eval.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 14:54 
Скажи, а ты реально не понимаешь, почему бейсик плох для системного ПО или так умело притворяешься?

"Выпуск языка программирования Rust 1.71 "
Отправлено n00by , 16-Июл-23 16:48 
Я понимаю, что ты привык, когда компилятор за тебя следит за владением, потому твоя способность уследить за контекстом атрофировалась. В виде исключения перечитаю за тебя ветку и скопирую:

>>>>> Хороший язык! Позволяет безопасно работать с памятью!
>>>> Безопасно работать с памятью умел древнейший basic.)))
>>> Бейсик же интерпретируемый язык.
>> Можно компилировать. Там же нет eval.
> Скажи, а ты реально не понимаешь, почему бейсик плох для системного ПО
> или так умело притворяешься?

Как видишь, "системное ПО" существует только в твоей части этого обсуждения - его мнимой части.

Что касается твоего вопроса, я опять за тебя погуглил, почитай для общего развития "Пишем драйвер на PureBasic"  https://www.cyberforum.ru/blogs/204791/blog3078.html

И потом подумай, почему на Бейсике это было 10 лет назад, на Плюсах - 20, а на Rust... а где оно?


"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 17:02 
> перечитаю за тебя ветку

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

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

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено n00by , 16-Июл-23 20:51 
>> а на Rust... а где оно?
> Ты, вроде, декларировал, что умеешь пользоваться поиском. Или мне показалось? Андроид (местами),
> Линукс (местами, хотя и пока строго отгороженными), и куча другого ПО.
> Слона-то я и не заметил. Да?

Да. Перечитай заодно "почему на Бейсике это было 10 лет назад, на Плюсах - 20" и подумай о контексте. Глобальном контексте. Если не догадаешься о чём этот глобальный контекст, дай знать, я тебе помогу.

>> Пишем драйвер на PureBasic
> И что, много таких драйверов было написано? Подумай, почему ответ будет отрицательным.

Потому что ты не знаешь этот ответ.

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

Мне не тяжело за тебя думать, поскольку я тебе объяснил, почему для тебе делаю исключение. Системное программирование это ещё и башпортянки.


"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 18-Июл-23 13:04 
>почему на Бейсике это было 10 лет назад, на Плюсах - 20

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

>>Подумай, почему ответ будет отрицательным.
>Потому что ты не знаешь этот ответ.

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

>Системное программирование это ещё и башпортянки.

В каком-то смысле.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено n00by , 19-Июл-23 08:58 
>>почему на Бейсике это было 10 лет назад, на Плюсах - 20
> И где тот же бейсик в ядре ОС,

В сообщении №278 я давал ссылку. Вернись и перечитай его ещё раз, не отнимай у меня время бестолковыми вопросами.


"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 22-Июл-23 15:11 
Вот ещё одно подтверждение, что с логикой у тебя явные очевидные проблемы. Давай я тебе объясню, в чём они состоят на этот раз.

То, что есть написанная каким-то гиком статья о том, как можно написать драйвер на Бейсике, не означает, что драйверы на этом языке есть в ядре какой-либо ОС.

Другими словами, подтверждением твоей позиции может быть только ссылка на реальный драйвер в любой известной тебе ОС (а не статья на возможность написать такой драйвер).


"Выпуск языка программирования Rust 1.71 "
Отправлено freecoder , 16-Июл-23 19:48 
> Можно компилировать. Там же нет eval.

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


"Выпуск языка программирования Rust 1.71 "
Отправлено n00by , 16-Июл-23 20:46 
>> Можно компилировать. Там же нет eval.
> Тогда придётся и весь жирный рантайм прикомпилировать.

Не придётся.


"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 14:53 
А люди, профессионально занимающиеся системным программированием и не знали. Забыли у анонима с Опеннета спросить, очевидно. Или все поголовно двоечники. А потом удивляемся, почему некоторые критические баги в сложном ПО годами живут. Вот где проблема зарыта, оказывается. Все они плохо учились!

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 08:48 
Надоело читать новости про Rust? Zig, Odin, Jai, на крайняк Carbon в помощь!

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 15:08 
Пытался искать сравнительные статьи Rust vs Zig. По итогам особо не впечатлился достижениями Zig, хотя плюшки там, безусловно, есть. Остальные языки, подозреваю, ещё бОльшая маргинальщина, чем Zig?

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 16:01 
Переходи на .Net 8 и не клюй всем мозг.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 16-Июл-23 16:55 
Ещё один "эксперт" решил выступить от имени всех. Где вы такие берётесь-то, а? Это был риторический вопрос, если что.

"Выпуск языка программирования Rust 1.71 "
Отправлено Аноним , 16-Июл-23 22:32 
Твой пост публичный и доступен всем. Не дошло?

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 18-Июл-23 13:05 
Но это не означает, что мой пост всем клюёт мозг. Не дошло?

"Выпуск языка программирования Rust 1.71 "
Отправлено Янис , 18-Июл-23 10:14 
Не имел дело с обсуждаемым языком, однако же то, как он навязывается, и сколько я о нем читал, наталкивает на мысль о том, что он продвигается корпами, чтобы контролировать программистов. Надежная работа с памятью? Ну в Си (а сабж подается как заменитель Си), если следить, за тем, что делаешь, нет проблем с этим: и в этом нет высшей математики. И в этом таже нет никакой двойной работы, как некоторые пишут... Синтаксис? У Си он просто в разы понятнее. Исполняемый файл? Хелло Ворлд на сабже весит больше чем программа на сотни (а то и даже на тысячи) строк на Си. Проталкивание сабжа в Линукс - вообще ни разу не аргумент в его пользу: он туда попал исключительно потому, что корпы его продавили. Рекомендация от организации безопасности США о том, что мол не стоит использовать "небезопысные" языки типа Си, а вот есть Джава, и прочие языки от корпов, лишь подтверждает мои размышления. Каждому разумеется самому решать, на чем писать, но вот у меня нет желания попадать под контроль корпов.

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 18-Июл-23 13:14 
>Не имел дело с обсуждаемым языком

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

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

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

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

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

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

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


"Выпуск языка программирования Rust 1.71 "
Отправлено Hck3r , 19-Июл-23 17:28 
Безопасность безопасностью, но ошибок никто не отменял
https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=rust

"Выпуск языка программирования Rust 1.71 "
Отправлено Прохожий , 22-Июл-23 15:17 
Разумееется. Rust призван уменьшить количество ошибок только одного наиболее распространённого в системном программировании класса. Никто не утверждал, что Rust избавляет от всех классов ошибок.