The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Для Linux и Redox представлена реализация Libc на языке Rust, opennews (??), 09-Мрт-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


6. "Для Linux и Redox представлена реализация Libc на языке Rust"  +8 +/
Сообщение от фывфыв (?), 09-Мрт-18, 10:32 
> Код проекта написан на языке Rust

Бла-бла-бла, математика использует openlibm, а оно на C.
Алокаторы памяти и прочие низкоуровневые вещи регулярно пестрят unsafe блоками, что автоматически нивелирует все "плюшки" Rust'а.

Ответить | Правка | Наверх | Cообщить модератору

7. "Для Linux и Redox представлена реализация Libc на языке Rust"  +1 +/
Сообщение от Аноним (-), 09-Мрт-18, 10:36 
Есть примеры?
Ответить | Правка | Наверх | Cообщить модератору

11. "Для Linux и Redox представлена реализация Libc на языке Rust"  +2 +/
Сообщение от Аноним (-), 09-Мрт-18, 10:51 
Модуль реализации строк посмотри.
Ответить | Правка | Наверх | Cообщить модератору

12. "Для Linux и Redox представлена реализация Libc на языке Rust"  +1 +/
Сообщение от Аноним (-), 09-Мрт-18, 10:51 
> Есть примеры?

https://github.com/redox-os/relibc/search?utf8=%E2%...

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

18. "Для Linux и Redox представлена реализация Libc на языке Rust"  +11 +/
Сообщение от lfx (ok), 09-Мрт-18, 11:33 
Лучше молчи... Когда я сказал что без unsafe на rust далеко не уедешь, любители смузи меня тапками забросали. Им что то объяснять себе дороже.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

34. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от Аноним (-), 09-Мрт-18, 15:08 
> тапками

кедами

Ответить | Правка | Наверх | Cообщить модератору

70. "Для Linux и Redox представлена реализация Libc на языке Rust"  +3 +/
Сообщение от Аноним (-), 10-Мрт-18, 09:36 
Вот и выросло поколение школьников, которое думает, что кеды придумали хипстеры...
Ответить | Правка | Наверх | Cообщить модератору

13. "Для Linux и Redox представлена реализация Libc на языке Rust"  –7 +/
Сообщение от Аноним (-), 09-Мрт-18, 10:53 
Вообще касательно самого языка.
Идея хорошая, только зря они его назвали "rust".

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

В итоге все заглохнет. И проекты на нем тоже. Будет еще хуже, чем с D.
А жаль, был бы неплохой язык, если бы не название.

Это еще как с OS Fiasco.
Ой, оказывается это такая итальянская бутылка!
А в итоге кто ее использует?

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

22. "Для Linux и Redox представлена реализация Libc на языке Rust"  –2 +/
Сообщение от кверти (ok), 09-Мрт-18, 12:25 
>OS Fiasco

Это когда FreeBSD переименовать успели?

Ответить | Правка | Наверх | Cообщить модератору

25. "Для Linux и Redox представлена реализация Libc на языке Rust"  +3 +/
Сообщение от Аноним (-), 09-Мрт-18, 12:50 
У вас фиаско с FreeBSD?


Ответить | Правка | Наверх | Cообщить модератору

24. "Для Linux и Redox представлена реализация Libc на языке Rust"  –1 +/
Сообщение от Аноним (-), 09-Мрт-18, 12:46 
Надо ([кому?]) переписать игру Rust на язык Rust.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

37. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от pda (?), 09-Мрт-18, 15:20 
И что? Похоже вы как и многие не правильно понимают назначение unsafe (так же как многие не правильно понимают значение "свобода слова" или "независимая пресса" и лепят в них собственные определение. простите за политоту.).

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

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

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

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

54. "Для Linux и Redox представлена реализация Libc на языке Rust"  –2 +/
Сообщение от sadasd (?), 09-Мрт-18, 21:24 
О чем и речь, что в коде там дофига unsafe и смысла писать на Rust нет.

А вообще, еще до Rust'а были "безопасные" варианты C, Cyclon например.
Да и вообще, к тому-же GCC / Clang приписать пару пачку проверок и поставить их в -Werror.

Ответить | Правка | Наверх | Cообщить модератору

62. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от Тот же Аноним (?), 10-Мрт-18, 00:31 
А -fpermissive можно? А то на с++ такое бывает...

блаблабла предупреждение: декларация ничего не описывает [-fpermissive]
#   define off_t long
Да можно typedef-ом, но за что препроцессор?

Ответить | Правка | Наверх | Cообщить модератору

81. "Для Linux и Redox представлена реализация Libc на языке Rust"  +1 +/
Сообщение от Vkni (ok), 10-Мрт-18, 21:48 
> О чем и речь, что в коде там дофига unsafe и смысла
> писать на Rust нет.

Смысла есть - во-первых, внутре unsafe тоже rust, а не C. Во-вторых, ошибки бывают разные, причём большая часть ни к каким segfault'ам не приводит. В Питоне, например, довольно тяжело сделать выход за границы выделенной интерпретатору памяти, однако написать программу в 1000 строк без дюжины ошибок совершенно невозможно.

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

Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

55. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от _ (??), 09-Мрт-18, 21:46 
>Unsafe не что-то плохое в rust, в вполне сознательно сделанная вещь. Она позволяет создавать

... хоть как то работающие программы :) Не надо песен, у нас их тоже есть!

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

Наивняк! :) Это уже было. Да - Java promise :) Чем всё кончилось? Покрывают тестами __всё__! И это правильно, ибо нефиг. И у вас тоже самое будет, всё суета сует :-)

>Хорошим примером такого подхода является языки C/C++, где программисты регулярно лажают от лени или усталости забывая вставлять проверку

Оу-е бэйби! А ржавчики будут кодячить без усталости и лени! :-))))) Гив ми море! :)

Может оно и взлетит, но взлетит вопреки. Ибо нафиг оно - до сих пор не очевидно.

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

64. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от pda (?), 10-Мрт-18, 01:07 
Вы так ничего и не поняли.

> Это уже было. Да - Java promise :)

Бессмысленное сравнение. В Java (визитной карточкой которого является NullPointerException) такае навеска - как фаервол с политикой "пропускать" и попытка сделать надёжным, путём кучи запрещающих правил. Unsafe это необходимая дырка в запрещающем фаерволе. Rust потому и бесит многих, что похож на фаервол с политикой "запрещать".

> Покрывают тестами __всё__!

Я не знаю как там в Java, не видел много Java, но судя по регулярным статьям о PVSStudio - нет, не покрывают. Хуже того, некоторые сознательно даже кое-каких проверок не вставляют, рассчитывая, что пусть оно лучше упадёт. Забывая, что в C/C++ это UB.

> А ржавчики будут кодячить без усталости и лени! :-)))))

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

Ответить | Правка | Наверх | Cообщить модератору

99. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от iZEN (ok), 12-Мрт-18, 12:35 
> Внутри безопасного кода не может возникнуть null или висячий указатель.

Все объекты, используемые хоть раз в программе, что, сразу нужно инициализировать (создавать) и до отказа по ошибке OutOfMemoryError? В надёжной безопасной программе разве запрещено динамическое/"ленивое" создание объектов, когда ссылка на объект есть, но самого объекта нет - он будет создан и инициализирован в момент обращения к нему? Тогда готовьте разориться на оперативную память для инициализации всего и вся в момент старта программы.

Ответить | Правка | Наверх | Cообщить модератору

102. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от Iaaa (ok), 12-Мрт-18, 13:26 
Да забей ты. Поносятся годик второй с этой модной молодежной поделкой. Накопится достаточное количество реальных проектов, и все вернется на круги своя.

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

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

Ответить | Правка | Наверх | Cообщить модератору

104. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от Nexmean (?), 12-Мрт-18, 14:03 
> ссылка на объект уже есть а объекта еще нет

Вы сами то поняли, что сказали? Типа указатель у нас уже есть на память, но там ещё ничего нету, а появится магическим образом как только мы туда обратимся? Или это какой-то умный указатель? Так таких указателей можно и в русте наклепать. Или хотите чтобы у вас такие вещи автоматом работали? Ну тут в примитивных ситуация и джавка справится и gcc и rust, а в сложных только всякие Haskell и тому подобные.

Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

106. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от Andrey Mitrofanov (?), 12-Мрт-18, 14:22 
>> ссылка на объект уже есть а объекта еще нет
> Вы сами то поняли, что сказали?

https://en.wikipedia.org/wiki/Lazy_evaluation

Это ничего, что Вы чего-то не знаете.

Плохо, что Вы делаете из этого неправильные выводы.

Скушайте немного этих мягких https://www.microsoft.com/en-us/research/wp-content/uploads/... французских микрософт-рисиорчей, да выпейте жж водички.

Ответить | Правка | Наверх | Cообщить модератору

105. "Для Linux и Redox представлена реализация Libc на языке Rust"  +/
Сообщение от Nexmean (?), 12-Мрт-18, 14:07 
Ну а ещё есть Option<T>, который от null отличается тем, что если в нем лежит НИЧЕГО, то и попробовать обратиться к T не получится.

Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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