Здравствуйте, Khimik, Вы писали:
K>Я тут не понимаю. Почему код на C++ более компактен и лучше читаем?
Потому что вся логика реализуется в более понятных абстракциях. Перегрузка арифметических операций позволяет писать единообразный код для перемножения и сложения матриц, векторов, скаляров. Не надо помнить, какие там функции для этого (типа MatMulToVect(M, V)), а писать просто: M * V.
Самое крутое, что можно в таком стиле писать большие выражения, а они уже будут вычисляться не по частям, а как единое целое. Так умеет Eigen, OpenCV и множество других библиотек.