Здравствуйте, vsb, Вы писали:
vsb>>>На мой взгляд это плохое применение оператора сложения. Из-за него код print("a + b = " + a + b) не будет работать, как ожидается
A>>А что ожидается? Что сложение без скобок будет происходить справа налево?
vsb>Ожидается использование другого оператора для конкатенации строк, у которого приоритет низкий, что позволит писать "a + b = " .. a + b
Как по мне, отдельный оператор это лечение симптомов (потенциальные ошибки при конкатенации), а не болезни (нестрогая типизация ака неявные преобразования типов).
Если a и b строки, приоритет не будет иметь значения.
Если a и b не строки, независимо от того, что это за язык и какая там типизация (статическая или динамическая), print("a + b = " + a + b) должно не компилироваться или кидать исключение. Потому что это не только источник бесплатных ошибок программиста ("не будет работать, как ожидается"), но и способ затруднить локализацию, а ещё это дыра в безопасности (литералы в коде -> нельзя запретить Юникод в сорцах -> BiDi-инъекции).
P.S. Конечно, речь идёт про ЯП общего назначения. Есть ЯП для процессинга текста, там конкатенация — гражданин первого класса среди операций, и под неё выделена аж точка, если правильно помню.