Как стать автором
Обновить

Комментарии 12

Статья шикарная, как и весь цикл вообще. Вы не смотрите, что комментариев нет, продолжайте. Просто над такими объемными статьями нужно много думать, а охват материала такой, что и прибавить то особо нечего. Такие статьи нечасто попадаются и обладают большой ценностью.

Видно, что она долго и тщательно полировалась — например, в основные листинги кода отличаются от листингов кусочков в объяснениях :). Думаю, стоит поправить — и в первой статье (при использовании макроса unimplemented!), и здесь, в 18 главе при использовании map_err.

Также вы какой-то странный выбрали метод для расширения массива до capacity. Есть же метод resize.

Кстати, до кучи вопрос: в чем пишите код? Уже появились более-менее нормальные IDE, умеющие не только синтаксис подсвечивать?
Vim(Emacs) с плагинами racer и rustfmt вполне себе нормально можно использовать :)
У разработчиков Rust есть грандиозные планы по созданию демона для взаимодействия с IDE: https://www.rust-lang.org/ides.html
Да, вы правы, про resize стоит поправить — метод уже давно стабилизован.
Во время написания текста и кода метод еще был помечен как unstable, поэтому и используется такое вот странное решение. :)

Различные примеры — такое возможно, исправлю.

Спасибо за отзыв!

в чем пишите код? Уже появились более-менее нормальные IDE, умеющие не только синтаксис подсвечивать?

Код пишу в Emacs. А нечто подобное IDE уже давно есть — например, в виде дополнения для редакторов/IDE, Racer, которое добавляет автодополнение кода и всякие другие удобства. Еще есть плагин для IntelliJ Idea, но я сам его не пробовал, честно говоря.
Я использую vim + ycm (который использует racerd для rust, clang для C и C++), более-менее комфортно, хотя я и привык к функциональным поделиям от jetbrains.
Порядок может идти от младшего к старшему (little-endian), либо от старшего к младшему (big-endian).
Бывают и mixed-endian (в том же modbus rtu — регулярно).
Блин, каждый раз хочу изучить раст и каждый раз останавливаюсь после пары пробных приложений. Не могу понять, что в нем такого сложного. Синтаксис понятный, вроде все хорошо, язык продуман и качественно сделан. Но когда пытаешься написать, такое ощущение, что к ногам гири привязали. Не пойму, я такой глупый или в чем дело?.. На шарпе пишешь — очень легко, С, плюсы — на всем нормально пишется, лисп, пролог, F# — всё в порядке. Почему раст такой — загадка :)

Ну и да, надеюсь на удобную IDE под винду. Виртуалку ради раста заводить не очень хотелось бы. Пробовал Atom, там еще куда ни шло, но интеграция оставляет желать лучшего, да и сам редактор на вебките доверия не вызывает. Очень много скриптовых ошибок у дополнений…

Немного сырая IDE есть в виде плагина для IntelliJ Idea, вроде даже под патронажем JetBrains разрабатывают. Остальные варианты вот тут можете посмотреть: https://areweideyet.com/


Не могу понять, что в нем такого сложного

Думаю, это просто с непривычки, вот и кажется сложным. Если язык как таковой вам интересен, делайте пробные приложения дальше, со временем в голове все встанет на свои места. По большому счету он не сложнее Си (и точно проще C++). Ну и присоединяйтесь к русскоязычному коммьюнити, поможем, чем сможем. :)

Ну C++ я имел ввиду на уровне лаб на старших курсах университета. На шарпе-то я разрабатываю по работе, а вот плюсы я изучал для себя, и в основном вся работа с ним заключалась в написании небольшой библиотечки, которую я pinvok'ал из шарпа. Соответственно никаких там умных указателей, интенсивной работы с STL и прочего у меня не было. А насколько я понимаю, сложности плюсов растут именно с ростом проекта и его энтерпрайзностью. Спасибо за ссылку, обязательно посмотрю.

Прошло больше года, а продолжения все нет. :(

К сожалению, работа и участие в развитии сообществ вносят свои коррективы в планы — увы, пока времени так и не нашлось, а требуется его на подобные статьи много.


К тому же, в данном случае нужно не продолжение, а переписывание почти с нуля, учитывая произошедшие изменения в компиляторе Rust и изменения в библиотеке mio. Пока рекомендую посмотреть в сторону Tokio — на данный момент это стандарт де-факто для программирования асинхронных штук в мире Раста. У них на сайте неплохие руководства, но, к сожалению, пока только на английском.


Как выйдет продолжение, я обязательно отвечу сюда и оповещу. Спасибо за мотивацию! :)

Ну что ж, буду надеяться на продолжение! Очень подробные статьи у вас — одни из лучших по Rust. Жаль будет, если все прервется.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории