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

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

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

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

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

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань