Oak, мне всё же кажется, что компилятор не проводит никаких оптимизаций, поэтому скорость выполнения медленная. Но хрен с ней, всегда realtime на плюсах пишут и страдают.
Вот он говорит о макросах и отсутствии IDE — мне кажется, что это неправда. С++ очень трудно парсить, там тоже можно заняться мета-программированием, так что всё это справедлисо и для него.
Give me a good reason to choose Rust over C++14. – Less syntax – If the compiler is happy, then you can pretty certain that there are is no memory unsafety or race conditions in your code. – Significantly easier build system, no dependency hell, safe by default, lots of nice concise high level syntax that C++ doesn't have – It's probably easier to (safely) interact with external libraries in Rust than with C++14 – One of the things that sold me personally was no implicit casts, especially no implicit arithmetic casts
Naik, я особо Rust не изучал, но вроде ж ничего сложного. В первой строке сигнатура метода описана. Дженерики выглядят диковато, но привыкнуть можно. В теле метода используется цепочка вызовов наподобие Stream API Java 8. В zip(..) ещё одна. Запись flat_map(|m| m.iter()) - аналог лямбды - для каждого элемента m берётся итератор. map(|(u, (&v, e))| (v, u, e.clone()) - тут тоже лямбда и кортежи (tuple) используются.