Как стать автором
Обновить

Трудности перевода: когда 2*2=5

Время на прочтение1 мин
Количество просмотров1.3K
Представьте себе: ваш племянник спрашивает у вас, сколько будет 2*2+1. Вам не до того, и вы переадресовываете вопрос своему интерпретатору, который честно отвечает: 6. Внимание, вопрос: благодаря какому языку программирования ваш племянник завтра получит двойку?

Правильный ответ — J. В этом языке глаголы (любые действия над данными, в том числе и арифметические операции) не имеют приоритета и в отсутствие скобок выполняются справа налево. Таким образом, запрос 2*2+1 эквивалентен не привычному для большинства из нас (2*2)+1, а 2*(2+1).

P.S. Я подозреваю и почти уверена, что языков с нарушениями традиционного приоритета арифметических действий больше одного, но с другими пока что не доводилось иметь дело.
Теги:
Хабы:
Всего голосов 141: ↑99 и ↓42+57
Комментарии70

Публикации