Size: a a a

Compiler Development

2020 February 12

M

MaxGraey in Compiler Development
https://stackoverflow.com/questions/38353845/unable-to-create-a-circular-linked-list-in-safe-rust-unsafe-version-crashes

Мне нравиться там совет топового ответа:
You don't need to create a linked list though; just use a Vec
=)
источник

M

MaxGraey in Compiler Development
«Circular linked lists (or doubly-linked lists) are quite complicated when it comes to ownership, a core Rust concept.»

От туда же
источник

YS

Yuriy Syrovetskiy in Compiler Development
мои знакомые плюсовики, перешедшие в Раст, говорят, что всё наоборот: просто берёшь и делаешь то же самое, только над простыми ошибками не надо думать.

надо потратить какое-то время на изучение владения, но довольно скоро нарабатывается интуиция
источник

E

EgorBo in Compiler Development
@maxgraey ты не на вебасм саммите?
источник

M

MaxGraey in Compiler Development
EgorBo
@maxgraey ты не на вебасм саммите?
Так он же уже как два дня назад был. И нет, к сожалению у меня не получилось выбраться в штаты
источник

E

EgorBo in Compiler Development
у нас ребята ездили, говорят была крутая атмосфера и все умы по вебасму
источник

E

EgorBo in Compiler Development
из эпл и гугл
источник

M

MaxGraey in Compiler Development
Да там вся силиконовая долина собиралась
источник

M

MaxGraey in Compiler Development
Есть кстати видео кому интерестно:
https://www.youtube.com/watch?v=WZp0sPDvWfw&feature=youtu.be

Делюсь потому, что где то там есть даже доклад от команды WebKit по поводу инетерпретатора в Safari, весьма хардкорно и инетерестно. Советую
источник

E

EgorBo in Compiler Development
MaxGraey
Есть кстати видео кому интерестно:
https://www.youtube.com/watch?v=WZp0sPDvWfw&feature=youtu.be

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

E

EgorBo in Compiler Development
под косяками имею ввиду стек оверфлоу
источник

M

MaxGraey in Compiler Development
EgorBo
под косяками имею ввиду стек оверфлоу
Да у них там много косяков. Надеюсь ситуация будет по улучшаться
источник

M

MaxGraey in Compiler Development
Они там еще и по имплементации post-MVP пропозалов очень сильно от всех отставали, а в последних бета версиях прямо выкатили два пропозала даже не под флагами
источник

МБ

Михаил Бахтерев in Compiler Development
Yuriy Syrovetskiy
так не с нуля. почти весь багаж алгоритмов остаётся с тобой
Вот! Ключевая проблема! Не остаётся. В Rust приходится кодить их иначе. Поэтому Rust-ам надо для успеха целиться на то, чтобы быть первым рабочим языком у junior-ов.
источник

МБ

Михаил Бахтерев in Compiler Development
Yuriy Syrovetskiy
вот в Хаскеле надо новые алгоритмы и новые способы программирования изучать, а Раст — всё та же кондовая императивщина
В Haskell проще. Можно пользоваться теми же приёмами. Пока не требуется влезать на вершины абстракций алгоритмы кодируются довольно прямолинейно. В Rust же надо танцевать с бубнами вокруг Rc.
источник

YS

Yuriy Syrovetskiy in Compiler Development
Михаил Бахтерев
В Haskell проще. Можно пользоваться теми же приёмами. Пока не требуется влезать на вершины абстракций алгоритмы кодируются довольно прямолинейно. В Rust же надо танцевать с бубнами вокруг Rc.
по-моему, двусвязный список на Хаскеле — такая же магия для начинающего, как на Расте
источник

A

Agrailag in Compiler Development
Михаил Бахтерев
Вот! Ключевая проблема! Не остаётся. В Rust приходится кодить их иначе. Поэтому Rust-ам надо для успеха целиться на то, чтобы быть первым рабочим языком у junior-ов.
В отличие от плюсов, нормальный первый язык. Хорошая дока и мануал, компилятор подсказывает нормально, как и что пофиксить (не учитывая асинк, и то там ошибки потихоньку приводят в нормальный вид).
источник

VT

Vasiliy Tereshkov in Compiler Development
Peter Sovietov
Секрет в табличном задании приоритетов операций, в точности, как это показано у учебнике K&R. Сама техника называется precedence climbing. Истоки ее в алгоритме "сортировочной станции" Дейкстры, а развитие — в парсере Пратта.
Хорошо. А это даёт какие-то преимущества перед чистым рекурсивным спуском (кроме, может быть, компактности)?

Если честно, я уж боялся там увидеть "секрет" вроде unget_token(), которым пестрят исходники 8cc. вот таких "секретов", я полагаю, можно и нужно избегать. И язык C здесь подаёт плохой пример.
источник

M

MaxGraey in Compiler Development
Agrailag
В отличие от плюсов, нормальный первый язык. Хорошая дока и мануал, компилятор подсказывает нормально, как и что пофиксить (не учитывая асинк, и то там ошибки потихоньку приводят в нормальный вид).
А с другой стороны кривая обучения настолько высоко задрана, что может напрочь отбить желание вообще программировать. Я все же придерживаюсь мнения что нужно начинать с чего то менее педантичного и сложного. Например та же Эшли (core developer of Rust) начинала ActionScript и флеша (я ксати тоже). Python или TS так же отлично для этого подходят
источник

DF

Dollar Føølish in Compiler Development
Питон изолирует от многих вещей
источник