Найти тему
6475 подписчиков

Подбил промежуточный итог по игре Apple на Rust.


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

Но системные проблемы как были, так и остались.

Я понимаю, что это нечто фундаментальное, что нельзя обойти, и надо полностью ломать стиль кодинга. Но что-то совершенно не хочется, потому что выгоды от такого перехода не вижу совсем. Некая безопасность кода? А зачем мне такая безопасность, если я допустим мог бы искать баг неделю и найти его, а здесь вместо этого я ту же неделю трачу просто на то, чтобы программа хотя бы скомпилировалась. Время-то тратится то же самое :) Но при этом баг я хотя бы могу найти (такого ещё не было, чтобы не находил), или его вообще может не быть, а вот затыки в Rust есть обязательно, и решить их принципиально невозможно.

Это например отсутствие полиморфизма, вместо которого предлагаются перечислимые типы, а они в свою очередь приводят к тупому перебору вариантов в любом месте, где используются. Выглядит крайне неуклюжим решением. Хотя уже известно, что перечислимые типы собираются в будущем сделать нормальными типами, но это говорит лишь о том, что язык сырой, неудобный и его всё ещё доделывают.

Ну и ещё посмотрел на ассемблерный код, который генерируется из простейшего цикла, и стало совсем грустно. Я не знаю, кто и что там говорит, что Rust такой же быстрый, или быстрее (шта!!!) чем C++, но там на банальный цикл приходится столько проверок и лишних телодвижений, что просто мрак. И да, это уже с оптимизацией.

В общем, заканчиваю Apple и писать на Rust больше ничего не буду, но буду изучать его дальше. Как головоломка он интересен, и некоторые практики можно переносить в нормальные языки.
Подбил промежуточный итог по игре Apple на  Rust.  Сделал наконец рабочий прототип, где всё работает как положено, и при этом по-честному, без особых костылей, осталось его просто допилить.
1 минута
208 читали