Перегрузка операторов в С++ считается многими как "Плохая вещь" (tm), и ошибка не повторяется на более новых языках. Конечно, это была одна особенность, специально отброшенная при разработке Java.
Теперь, когда я начал читать на Scala, я обнаружил, что он имеет то, что очень похоже на перегрузку оператора (хотя технически он не имеет перегрузки оператора, поскольку он не имеет операторов, только функции). Однако это не выглядит качественно иным, чем перегрузка оператора в С++, где, как я помню, операторы определяются как специальные функции.
Итак, мой вопрос заключается в том, что делает идею определения "+" в Scala лучшей идеей, чем в С++?