В предыдущем посте
я разочаровывался в Clojure, а точнее в тех задачах, которые хочу на ней решать. С языком-то все нормально, он ровно то, за что себя выдает. Просто до какого-то момента и для каких-то задач на это удобно закрывать глаза, ну а мне уже не удобно.
Ну и что я сделал. Я пошел учить Rust. Не, ну интересно же, как компьютеры сегодня
(
Read more... )
Reply
Reply
Попробуй что-то новое нетривиальное написать на расте, чего ты заранее не знаешь и полностью не понимаешь, замеряй время написания, а потом то же самое напиши на Кложе, когда ты уже знаешь доменную область. Разница по времени написания будет колоссальная
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
По ощущениям - на расте прототипировать не сильно сложнее, чем на питоне. Но я C++ разраб, я уже свыкся с zero-cost abstractions и с чем их едят.
А с питоном же были свои проблемы, а) у команды всё равно появлялось немало вопросов по коду на питоне (например как работают параметры по умолчанию); б) отсутствие статической типизации - тяжело менять API одного модуля, чтобы не взрывались зависящие от него модули.
Reply
Reply
Со временем вырабатывается интуиция, чего от тебя хочет компилятор Rust и как обращаться с владением типов.
Совсем голову напрягать приходится, когда хочется какой-то очень абстрактный код и оптимальный написать, но для прототипа можно обойтись кодом попроще (Arc/Box/Rc/.clone() вместо заимствования, копи-паста вместо заумных типов, и.т.д).
Ещё мне лично было иногда трудно стыковать разные части системы которые хотели по-разному владеть данными (в основном, заимствование & vs владение через Arc/Rc/Box). В Rust как то уж слишком сильный разлом между borrowed vs owned и система типов порой слабовата для удобной стыковки (нет GAT, нет first-class поддержки self-referential, и.т.д.).
Но это уже особенности энтерпрайза, где нужно склеивать крупные подсистемы (ну или нашего подхода к этому энтерпрайзу :) ).
Reply
Действительно уж увидишь плюсы от гошного подхода с супертупым кодом и минимум фич в языке
Reply
Leave a comment