Просто чудесный
пост у
thesz, наглядно демонстрирующий мой лозунг из сабжа.
Давайте пройдёмся по пунктам:
> Большое неудобство, однако, составляет отсутствие подсказок компилятора в сообщении об ошибке
Rust прекрасно всё подсказывает, вплоть до того, что явно указывает как именно тебе надо исправить код, чтобы всё заработало.
> но сама необходимость
(
Read more... )
Comments 152
Reply
Популярность языков, к сожалению, ортогональна здравому смыслу. Я уже на эту тему жаловался по поводу js :)
Reply
Reply
Reply
В Rust объект - это значение, или изменяемый кусок памяти? Если последнее, то увы.
>Ведь его же создавали люди, которые много программировали на C++ :)
Его создавали люди, которые мало программировали на Хаскеле, иначе бы его не было.
Надо мне собраться с силами. :(
Reply
Физически это кусок памяти, разумеется. Но Rust нельзя напрямую с памятью под переменными работать вне unsafe-блоков, и в языке, соответственно, есть гарантия на то, что любое прочитанное значение обязательно было до этого корректно инициализированно.
> Его создавали люди, которые мало программировали на Хаскеле
Хаскель в этом плане тоже устарел. В том же purescript head и tail возвращают Maybe :)
Reply
Вопрос библиотеки. В ghc достигается добавление ключика.
>любое прочитанное значение обязательно было до этого корректно инициализированно.
Корректно или согласованно?
Моя проблема в C++ как раз в согласованности инициализации. Типа, программу разобрал, но таблицу символов не положил.
В том же Хаскеле у меня может быть фантомный тип с тем, что я сделал со значением. И я могу требовать наличие AST и таблицы символов одновременно.
Reply
Если что, в Rust ты тоже можешь это сделать, там есть фантомные типы. Даже session types (и даже без монад, кстати, чисто на ownership-е).
Reply
Reply
Reply
Reply
Reply
Reply
Есть еще conrod(?) который вообще с нуля вроде как написан, но я его не пользовался.
Было бы удивительно если бы кто-нибудь уже не запилил бы какой-нибудь Qt.rs или что-то подобное. И если бы мне надо было бы написать коммерческое гуеприложение на расте, я бы взял конечно его (если оно есть).
Reply
Но ведь на расте спрограммирован servo, значит, можно предположить, что какой-то кросплатформенный гуй у раста есть.
Reply
Reply
Reply
Reply
Leave a comment