Size: a a a

Compiler Development

2020 February 12

NV

Nikita Vilunov in Compiler Development
Yuriy Syrovetskiy
в Расте, к счастью, достаточно хорошо с математикой. практика показывает, что без математического обоснования практика огребает баги
В Расте достаточно хорошо с математикой, но она не была первоцелью создания языка
источник

YS

Yuriy Syrovetskiy in Compiler Development
Nikita Vilunov
В Расте достаточно хорошо с математикой, но она не была первоцелью создания языка
"первоцель" ни на что не влияет
источник

YS

Yuriy Syrovetskiy in Compiler Development
Михаил Бахтерев
Так вот я и смотрел этот код. Говорю: не впечатляет. Либо куча unsafe, либо очень топорные, неэффективные структуры данных.
куча unsafe лучше, чем один большой кусок unsafe
источник

МБ

Михаил Бахтерев in Compiler Development
Nikita Vilunov
Звучит классно, пока не сталкиваешься с очередной бажиной из-за оверфлоу буффера в очередном софте. Как такое можно объяснить, раз Си не существует в вакууме?
Если бы в Rust не было unsafe, он бы решал эту проблему. Но без unsafe в Rust что-то более или менее эффективное писать не получается. А, значит, Rust только создаёт иллюзию безопасности. Народ активно этот unsafe использует (потому что работу-то работать надо), и баги с памятью полезут при распростанении языка.

От таких багов эффективнее защищают языки с автоматическим управлением памятью.
источник

YS

Yuriy Syrovetskiy in Compiler Development
Михаил Бахтерев
Если бы в Rust не было unsafe, он бы решал эту проблему. Но без unsafe в Rust что-то более или менее эффективное писать не получается. А, значит, Rust только создаёт иллюзию безопасности. Народ активно этот unsafe использует (потому что работу-то работать надо), и баги с памятью полезут при распростанении языка.

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

NV

Nikita Vilunov in Compiler Development
Большинство народа вообще не пишет unsafe
источник

МБ

Михаил Бахтерев in Compiler Development
Yuriy Syrovetskiy
куча unsafe лучше, чем один большой кусок unsafe
Так зачем? Когда есть языки без unsafe?
источник

YS

Yuriy Syrovetskiy in Compiler Development
Михаил Бахтерев
Так зачем? Когда есть языки без unsafe?
чтобы было больше safe, чтобы меньше просыпаться по звонку по ночам
источник

NV

Nikita Vilunov in Compiler Development
Михаил Бахтерев
Так зачем? Когда есть языки без unsafe?
Чтобы сузить количество кода, который вызывает unsafe-процедуры и в котором нужно ручками проверять инварианты. Для остального есть компилятор
источник

МБ

Михаил Бахтерев in Compiler Development
Nikita Vilunov
Большинство народа вообще не пишет unsafe
Большинство народа вообще не пишет код :) Проблему составляют те, кто пишет, и кто пишет unsafe :)
источник

NV

Nikita Vilunov in Compiler Development
Михаил Бахтерев
Большинство народа вообще не пишет код :) Проблему составляют те, кто пишет, и кто пишет unsafe :)
Мы сейчас говорим о тех, кто пишет код
источник

МБ

Михаил Бахтерев in Compiler Development
Nikita Vilunov
Чтобы сузить количество кода, который вызывает unsafe-процедуры и в котором нужно ручками проверять инварианты. Для остального есть компилятор
Я говорю о безопасных языках, в которых всё safe по памяти и unsafe нету. Компиляторы нынче хорошо справляются с оптимизацией.
источник

NV

Nikita Vilunov in Compiler Development
Да бросьте тогда вы уже доказывать в чате то, о чем имеете понятия уровня одного вечера прочтения кода. Есть куча практики написания кода на расте, люди уже прознали его ценность
источник

NV

Nikita Vilunov in Compiler Development
Михаил Бахтерев
Я говорю о безопасных языках, в которых всё safe по памяти и unsafe нету. Компиляторы нынче хорошо справляются с оптимизацией.
Это неправда, мне лично переходилось переписывать код с языка с GC на раст чтобы выжать производительность
источник

МБ

Михаил Бахтерев in Compiler Development
Nikita Vilunov
Мы сейчас говорим о тех, кто пишет код
Хорошо. Большинство пишет код на ЯваСкрипт и Питон :) unsafe-код пишет мало кто. А когда пишет, там и так хватает заморочек, чтобы ещё заморачиваться искусственными заморочками Rust. Памятью в низкоуровневых проектах вообще управляют не так, как вам кажется (парные malloc/free).
источник

NV

Nikita Vilunov in Compiler Development
Сейчас вы вообще начинаете подменять сферы применения. Хорошего дня вам
источник

МБ

Михаил Бахтерев in Compiler Development
Nikita Vilunov
Это неправда, мне лично переходилось переписывать код с языка с GC на раст чтобы выжать производительность
Хочется конкретики. Какой именно код? С какого языка? Не проще ли было поменять алгоритм?
источник

МБ

Михаил Бахтерев in Compiler Development
Nikita Vilunov
Сейчас вы вообще начинаете подменять сферы применения. Хорошего дня вам
Вам тоже
источник

p

polunin.ai in Compiler Development
Михаил Бахтерев
Интересно всегда посмотреть на реальный код, а не на заявления. Ссылочка есть?
Попросите у Discord открыть вам их код :)
источник

МБ

Михаил Бахтерев in Compiler Development
polunin.ai
Попросите у Discord открыть вам их код :)
Зачем? Мне для составления мнения хватает открытых источников. Мне Rust не подходит в силу определённых причин. Другим он вполне может подходить. Хотя мне и сложно представить, почему. Я просто оспариваю мнение, что Rust - панацея.
источник