The OpenNET Project / Index page

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



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

Оглавление

Выпуск операционной системы Redox OS 0.6, написанной на языке Rust , opennews (??), 26-Дек-20, (0) [смотреть все]

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


280. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  –4 +/
Сообщение от Аноним (280), 27-Дек-20, 18:05 
Вообще Rust, имхо, это попытка совместить в одну химеру C++ и Golang. Получилось забавно и стоит изучения, но примерно как Haskell - мозги и общий кругозор развивает, но денег на этом практически не заработать (по крайней мере, сейчас).
Насчет того, что не защищает от утечек памяти - для идиотов там черным по белому написано, что сам Rust - это энфорсинг RAII парадигмы из C++. Пока тебе для работы достаточно стековых объектов и movable семантики обычных референсов и ты работаешь через референсы - память гарантированно не утечет, т.к. компилятор вместе с borrow checker поймают утечку "за хвост" через lifespan-ы. А вот если тебе нужна динамическая память, например связный список или дерево в хипе, то простите, тут только старые-добрые смартпоинтеры, расставляемые кодером вручную и утечка памяти через Rc<> циклы.
В целом, где-то читал, что создать язык программирования для фон-Неймановской архитектуры, который бы своим синтаксисом и семантикой полностью ликвидировал случаи протечки, эквивалентно проблеме останова. Так что Rust и его memory management - не более чем best effort по водружению задачек на внимательность со стороны программиста на плечи компилятора.
Ответить | Правка | Наверх | Cообщить модератору

282. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  +2 +/
Сообщение от Растишка (?), 27-Дек-20, 18:13 
> C++ и Golang

— единственные языки, которые знает анонимус, лол. Потому что Rust — это практически ML с C-подобным синтаксисом (плюс боров-чекер). Первые версии rustc вообще на OCaml были написаны.

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

287. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  +/
Сообщение от Аноним (280), 27-Дек-20, 18:55 
Вперед, покажи где в Rust монады, стрелки Клейсли, continuation passing style и тайпклассы. Тоже мне ML-потомок. Rust не поддерживает параметрический полиморфизм высших порядков (в частности, никаких родОв произвольной арности, как в Haskell/Scala). Это Golang с кучей "академических" идей и эксплуатацией бест практисов из C++.
Ответить | Правка | Наверх | Cообщить модератору

288. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  +2 +/
Сообщение от Растишка (?), 27-Дек-20, 19:04 
Аноним слышал звон, но не отличает ML от гопник хаскеля, так и запишем.
Ответить | Правка | Наверх | Cообщить модератору

292. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  +/
Сообщение от Anonimowy cz322owiek (?), 27-Дек-20, 19:21 
Монаду можно в принципе эмулировать на любом языке. Это, считай, просто для Хаскела они стали идиоматической конструкцией для выполнения многих вещей, а так-то перенести хаскеловский интерфейс монад, чтобы те же монадические комбинаторы парсеров забацать, на другой язык никто не мешает
Ответить | Правка | К родителю #287 | Наверх | Cообщить модератору

291. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  –1 +/
Сообщение от Anonimowy cz322owiek (?), 27-Дек-20, 19:19 
Rust всё же не ML и не вполне функциональный язык (я спрашивал у проженных ML-хаскельщиков). Ну то есть да, в Rust есть ML-подобные типы алгебраические, но в целом-то он не особо сопротивляется мутабельности, например. Это всё же скорее обязательный энфорсинг RAII с некоторыми плюхами ML'я, как один аноним сказал выше. Для меня Rust выглядит как экая такая попытка переосмыслить C и C++ с учётом уроков и шишек за более чем 40 лет развития. Ну естественно, что народившееся за это ФП тоже оставило на нём немалый след
Ответить | Правка | К родителю #282 | Наверх | Cообщить модератору

415. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  +/
Сообщение от burjui (ok), 02-Янв-21, 03:19 
ML - тоже не чисто функциональный язык, в отличие от Haskell.
Ответить | Правка | Наверх | Cообщить модератору

295. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  +/
Сообщение от Аноним (144), 27-Дек-20, 19:33 
1. Вообще Rust, имхо, это попытка совместить в одну химеру C++ и Golang.

Мне интересно почему вы решили совместить C++ и Go и получить Rust?:)

Если:
1. C++: C + ... вот не помню что
2. GO: C++ + Java + ...
3. Rust: Haskell + OCaml + ...

И GO никак не ложится в эту мешанину).


2. "Насчет того, что не защищает от утечек памяти - для идиотов там черным по белому написано, что сам Rust - это энфорсинг RAII парадигмы из C++. Пока тебе для работы достаточно стековых объектов и movable семантики обычных референсов и ты работаешь через референсы - память гарантированно не утечет, т.к. компилятор вместе с borrow checker поймают утечку "за хвост" через lifespan-ы. А вот если тебе нужна динамическая память, например связный список или дерево в хипе, то простите, тут только старые-добрые смартпоинтеры, расставляемые кодером вручную и утечка памяти через Rc<> циклы."

Вот это уже хорошо, правильно!.

3. "Так что Rust и его memory management - не более чем best effort по водружению задачек на внимательность со стороны программиста на плечи компилятора."

Знаете, уже сколько языков за плечами: Java/PHP/C++/Delphi... а от всех после Rust хочется плеваться. Так как в расте все поиному, не то что на этих ваших... Здесь во время написания ПО и душа радуется, код хорошо масштабируется, нет старых практик с этими NullPointer, за все что надо платить тебе рассписано, компилятором проверится, unsafe выделен, репозиторий библиотек (похожий на свалку, но:)).


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

327. "Выпуск операционной системы Redox OS 0.6, написанной на язык..."  +/
Сообщение от NaN (?), 28-Дек-20, 05:55 
> 2. GO: C++ + Java + ...

Go: Plan 9 C on steroids with smoothy and GC

> 3. Rust: Haskell + OCaml + ...

3. Rust: C++ + 2 bottles of vodka

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

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

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




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

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