Одно преимущество предположительно во время разработки. Это позволяет программистам тратить меньше времени на рассмотрение и ввод типов переменных при написании кода. Смещает ли это потенциальное увеличение количества ошибок и затрудняет понимание кода, когда вы не знаете, какого типа должна быть переменная, ну, это вопрос к себе.
Другая причина в том, что с некоторыми полиморфизмами легче справляться. Учитывая функцию, которая принимает два аргумента и добавляет их, нет необходимости указывать их оба как int
или даже как некоторый интерфейс addable
. Если оператор +
может обрабатывать комбинацию двух аргументов, то он просто работает.