[#] [Перевод] Почему я отказался от Rust
habrabot(difrex,1) — All
2016-09-14 13:00:03


![][1]



Когда я узнал, что появился новый язык программирования системного уровня, с производительностью как у С++ и без сборщика мусора, я сразу заинтересовался. Мне нравится решать задачи с помощью языков со сборщиками мусора, вроде C# или JavaScript, но меня постоянно терзала мысль о сырой и грубой мощи С++. Но в С++ так много способов выстрелить себе в ногу и других хорошо известных проблем, что я обычно не решался.



Так что я влез в Rust. И, блин, влез глубоко.



Язык Rust все еще довольно молод, поэтому его экосистема пока находится в стадии начального развития. В некоторых случаях, например, в случае с [вебсокетами][2] или [сериализацией][3] есть хорошие и популярных решения. В других областях у Rust не все так хорошо. Одна из таких областей это OpenGL GUI, вроде [CEGUI][4] или [nanogui][5]. Я хотел помочь сообществу и языку, поэтому взялся за портирования nanogui на Rust, с кодом на чистом Rust, без связок с С/C++. Проект можно [найти тут][6].



Обычно, знакомство с Rust начинается с борьбы с идеей borrow-checker. Как и у других программистов, у меня тоже был период, когда я не мог понять, как решить ту или иную проблему. К счастью, есть классное сообщество в [\#rust-beginners][7]. Его обитатели помогали мне и отвечали на мои дурацкие вопросы. Мне понадобилось несколько недель на то, чтобы почувствовать себя более-менее комфортно в Rust.



Но я не подозревал, что когда сталкиваешься с проблемой, поиск решения похож на ориентацию в джунглях. Часто находится несколько ответов, которые _похожи_ на решение твоей проблемы, но не подходят из-за крохотной детали.

[Читать дальше →][8]

[1]: https://habrastorage.org/files/3ee/da0/a79/3eeda0a79fd646aea814490e796078ea.jpg
[2]: https://github.com/cyderize/rust-websocket
[3]: https://github.com/serde-rs/json
[4]: http://cegui.org.uk/
[5]: https://github.com/wjakob/nanogui
[6]: https://github.com/Oipo/nanogui-rust-sdl
[7]: https://client00.chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-beginners
[8]: https://habrahabr.ru/post/309968/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut