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

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

А Rust? О нем и сейчас больше говорят, чем реально используют.

Я не понимаю, это намеренная дезинформация или просто невежество?

Судя по кол-ву вакансий на СНГ рынке на сегодняшний день - автор прав.

IT на СНГ, мягко говоря, не замыкается.

Допустим вы правы. Какие крупные проекты в России существуют на Rust?

Насколько крупные вам надо? Что значит "в России", если компания состоит из русскоговорящих, имеет офис в России, но зарегистрирована за рубежом, она считается "в России"?

Это значит что люди находятся в России, формируют СНГшный рынок труда и делятся опытом разработки тут. Крупный это тот который поддерживается командой разрабочиков 10+ человек и живет в проде 3+ года.

Выбрали бы ли вы Rust вместо С++ сейчас?

Присоединяюсь к вопросу. У вас видят возможности для реального практического применения rust?

В ближайшей перспективе - нет. С++ оброс наследием (userver, кодогенерация, распределённая сборка и тестирование, уникальные библиотеки, экспертиза и так далее), которое дорого повторять и, без явной пользы, перевешивающей трудозатраты на поддержку нового языка, вкладываться в это нет смысла.

А если бы не наследие, а новый проект с нуля?

Я немного ковырял раст, и у него есть свои плюсы по сравнению с C++. И даже библиотеки всякие найти можно. Но, как бы сказать, его уровень поддержки ООП "ограничивает полёт мысли" (в основном из-за требования единственности мутабельной ссылки - сложный граф объектов, обменивающихся сообщениями и меняющих свои данные, сделать трудно), а иногда приходится такие описания типов наворачивать, что в С++ и не снилось.

Вот интересно, эти "особенности" раста неприятны всем, или это я слишком привык к Java-style ООП? И более интересно, имеет ли смысл сейчас предпочитать rust c++ в новых проектах?

По моему личному мнению, на рынке слишком мало кадров, а проект уже слишком большой для экспериментов. Определённо стоило бы попробовать на небольшой и некритичной задаче, а дальше уже отталкиваться от полученного опыта. Но, повторюсь, этом моё сугубо частное мнение.

НЛО прилетело и опубликовало эту надпись здесь

1\ когда я вижу огромное количество const и auto мне становится грустно.

2\ 30 млн водителей такси:? в РФ 78 млн работающих Или у вас обработка в одном ЦОДе для всей Планеты?

3\ Читая статью, не покидало ощущение, что переход на с++, был в общем то связан с переходом на Яндекс-карты. И всё большую завязку на нем.

  1. Код сильно упрощён чтобы влезать на слайд. Убраны проверки, валидаторы. "auto" здесь отлично помогает. Я, лично, долго не применял его, но устав писать вечные "std::unordered_map<std::string, std::string>::const_iterator" и псевдонимы для них, понемногу втянулся. С "const" у меня отдельная, давняя любовь: я видел реальную пользу от него на brenchmark (возможно уже не актуально с современными компиляторами) и он помогает лучше структурировать интерфейсы и их использование.

  2. 30 миллионов рассмотренных в секунду не уникальных исполнителей (не только водителей такси, но и курьеров, водителей грузовиков и других), что для 20Krps даёт в среднем 1000 рассмотренных исполнителей на запрос. Одномоментно уникальных исполнителей в системе сотни тысяч. Технически готовы к миллиону. К слову, сейчас Яндекс.Такси работает в 18 странах. Вся планета, будем надеяться, будет чуть позднее.

  3. Мы всегда использовали Яндекс.Карты и были сильно завязаны на них. Даже во время Python 2. И у нас только четыре сервиса с карточным графом из нескольких сотен сервисов. То есть это не было определяющим фактором.

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

А что у вас за движок для корутин? Он совместим со стандартом C++20?

Если кратко, то в основе лежит boost::coroutine, которая не совместима с корутинами из С++20.
Если подробнее, то есть отличный доклад по этой теме: https://www.youtube.com/watch?v=9fBriAl7PZI&t=329s

Зарегистрируйтесь на Хабре, чтобы оставить комментарий