И тут вдруг читаю о даббавала — индийских доставщиках еды.
"В Индии люди свернуты на домашней пище. Но глава семейства уходит из дома слишком рано. А все должно быть свежее и горячее! Поэтому жена встает попозже, готовит обед, за ним прибывает даббавала, в 10:51 они уже запрыгнули в поезд, к 12:45 все обеды доставлены, через полтора часа они заберут посуду и уедут обратно. С утра то же самое. В чем прикол — у даббавала нет никаких штрихкодов, сканеров, пейджеров, мобильных телефонов и связи вообще. Никто не закончил среднюю школу. Многие функционально неграмотны. Все, что у них есть для работы — это циферки на крышке, обозначающие откуда и куда нести контейнер, и совместное время в поезде, которое они проводят за потрепаться. Это все. При этом они не опаздывают и ничего не путают. Ошибка у них случается одна на 16 млн. доставок. Товарищи, как вы это делаете? Непонятно."
Ошибка - 1 на 16 млн. доставок. Непонятно как посчитали. При современных технологиях, как ни считай, все равно нельзя гарантировать точность при таком количестве миллионов. Но все же интересно. Даже если все автоматизировано (что по описанию невозможно) - нужно стоять с ремнем над программистами и внимательно смотреть, чтобы гарантировать точность. Потому что хотя бы вот

Короче, точность в вычислениях - это штука не бесплатная. Она достается за счет каких-то усилий. Чтобы быть уверенным, надо гарантировать, что эти усилия были приложены и никто в цепочке не просохатил, а с такими цифрами (миллионы пошли!) особенно.
А, понял. Те балбесы, которые не могут удержаться планку качества в доставке еды - идут в программисты!
Шутка. Эффект индусского кода можно объяснять тем, что он заметен, его много на планете.
По поводу заметности - нам однажды в 2016 году прислали из Перми в Томск такой код под Android, что старший программист чуть не плакал и говорил
- Я не понимаю его, не понимаю!
Потом он как-то оторвался от монитора и, глядя в окно, сказал:
- Есть одно объяснение... Они там в Перми нейронку написали, которая код пишет. Вот поэтому он такой. Он работает, он выполняет задачи, но его очень тяжело допилить, а код выглядит предельно странным.
Тот пермский код не выглядел индусским, но он не использовал привычные штуки в Android-среде в 2016 (MVC, MVP, Rx). У него были разные классы, но местами встречались вещи, которые в Java (тогда в Андроиде все писали на Java, хотя Kotlin уже начинал расцветать) практически никто не использовал - к примеру, определение функции внутри другой функции.
Для полноты картины тут не хватает рассказа пермского программиста о том, как они получили доработки из Томска и плакали над непонятностью и алогичностью, ведь никто из нас не использовал функции внутри функций, а некоторыми конструкциями из Java и сегодня можно пугать детей джуниоров, особенно если они начинали сразу с Kotlin.
PS: оригинальная цитата взята из книжки Дэниела Пинка ‘When’ (на русском «Таймхакинг»).
Там много интересного и совсем не про программирование. Это я отвлекся.
а тот код из Перми врезался в память, особенно трагическими монологами синьора, который его разбирал, хотя по статистике все могло быть иначе.
