Линейность в этой среде выглядит дико, потому и вызывает "индийский код" столько нарицаний в среде европейских и американских программистов.
Автор: Сергей Голубицкий
В пятницу решили торжественно отужинать в честь несостоявшегося конца света. По этому поводу заказали вечером в ресторане еды в количестве слегка превосходящем обычные один-два блюда. И тут же обожглись: официант внимательно выслушал заказ, как всегда гордо отказавшись делать пометки (особая индийская гордость - демонстрировать могучесть памяти!), отчалил, а через 15 минут начались сюрпризы. Половину заказа подали в тяжело импровизированном виде: здесь - соус не тот, что просили, тут - перепутали рыбу (вместо king fish принесли red snapper), там - вообще приготовили то, что в мыслях заказывать не было...
Еда оказалась, как и всегда, отменной и вкусной, поэтому скушали без печали, что принесли, торжественно проводив глупое суеверие жуткого народа в прошлое (памятник нужно ставить Кортесу за то, что разогнал этих бесов!). Исключительная, однако, забывчивость нашего официанта погрузила меня сперва в раздумья, а затем подтолкнула к любопытной догадке. Коей и спешу поделиться с любителями "культур-повидла".
Я и раньше замечал, что у индусов возникают проблемы в голове всякий раз, как требуется выполнить какое-то комплексное задание. Правда это никогда не принимало форму короткого замыкания как в последнем случае: что-то могли забыть, что-то перепутать, но так, чтобы всё отлилось в другую картинку, не было. Очевидно, что сказалось чисто количественное обилие одновременно поданной информации (блюд в заказе).
Мы, кстати, встречали в Бхарат настоящих виртуалов своего дела (у местных официантов в серьезных заведениях это и в самом деле объект профессиональной гордости и высший пилотаж - запомнить как можно большее количество блюд в заказе, ничего не записывая), но это очевидное исключение. Общее же правило: индийский человек, как только ему приходится сталкиваться с многозадачностью, начинает давать слабину. О том, чтобы одновременно делать кучу дел, как это принято в многих народов, и речи быть не может.
Индийский подход: медленно и расслабленно, переделать миллион самых разнообразных и сложных дел, но только - одно за другим и никак не одновременно! Это поразительное свойство местной ментальности и заставили меня задуматься о параллелях и формах генерализации.
Представьте себе: параллели нашлись мгновенно! Первое, что сразу вспомнилось - индийская классическая музыка! Нет вообще ничего более специфического, непривычного и непонятного для европейца, чем рага, которая воспринимается нашим ухом как угодно, но только не музыка, и тем более, не музыка божественная по утонченности и сложности.
Как раз напротив: индийская классическая музыка кажется нам монотонной, растянутой и однообразной. Какая уж там сложность? Между тем сложность эта просто запредельна, а не замечаем мы ее просто потому, что, во-первых, даже не подозреваем, где искать, и во-вторых, не обладаем должной тонкостью слуха, необходимого для восприятия и оценки раги.
Для начала нужно понять, что в индийской классической музыке нет постоянных аккордов, то есть нет двух и более различных тонов, звучащих вместе (вместо них есть нечто похожее, о чем скажу чуть ниже). Поскольку аккорды являются основой гармонии в европейской музыке, нам без подготовки кажется, что индийская рага звучит как-то неправильно. Аккорд придает музыке так называемый вертикальный аспект, тогда как рага горизонтальна: звуки следуют друг за другом, при этом, однако, непрерывно звучит один или два т.н. басовых звука (обычно на ноте "до" или "соль"), на фоне которых и нанизываются бусы нот.
Необычность гармонии дополняется еще и полным расхождением между нотами и тонами в индийской и европейской музыке. В древнеиндийской гамме семь ступеней (Са, Ри, Га, Ма, Па, Дха, Ни), каждая из которых коррелирует с определенной чакрой (на тонком уровне) и частью тела (на физическом уровне).
Дальше - больше: в теории классической индийской музыки из 7 тонов в октаве разработаны 72 уникальных комбинации (мелы), из которых затем и выстраивается невероятный узор раги. В добавок ко всему на сложную звуковую основу накладывается еще и не менее сложная ритмическая структура. Можете себе представить, какой уровень слуха и музыкальной культуры требуется для адекватного восприятия раги, которая, к тому же, еще и растягивается во времени от 40 минут до нескольких часов.
При всей изысканности описанной музыкальной культуры ключевым для понимания различий остается структура горизонтальная - линейная. Не это ли разгадка проблем с одномоментной многозадачностью (аккордом!) в ментальности рядового индуса?
Возьмем другой пример - из более близкой нашей местной аудитории тематики. Так называемый "индийский код", который все так любят песочить и высмеивать, забывая, как бы невзначай, что львиная доля столь дорогих сердцу гоблина Форточек написана именно индусами. Этот код печально известен как "неаккуратный", "нелогичный", "неряшливый", "сумбурный", "путаный", "избыточный" (это лишь ничтожная часть известных мне эпитетов в адрес "индийского кода").
Ключевой эпитет здесь - избыточный. Логика построения компьютерного кода индусами представляется избыточной, потому что она такая же линейная и горизонтальная, что и индийская классическая музыка! То есть индийский программист получает задание, однако не пытается найти комплексное - вертикальное - решение, а перекладывает "аккордную" задачу на линейные составляющие, на цепочку последовательных действий, которые затем пытается подвести с большей или меньшей степенью успешности к поставленной цели.
Проблема, однако, в том, что компьютерный код концептуально многозадачен, он существует в многозадачной среде и призван воспроизводить вертикальные процессы. Линейность в этой среде выглядит дико, потому и вызывает "индийский код" столько нарицаний в среде европейских и американских программистов. Здесь индусы явно не в своей тарелке.
Посткриптум. Дописываю "Голубятню" уже после ужина. Только что уже в другом ресторане, с другим официантом: нас всего пятеро, заказали всего пять блюд: тикку из "королевской рыбы", две порции жаренной меч-рыбы с овощами, и две порции стейка из акулы. Плюс напитки и несколько порций наан (лепешки из тандура). Готовили очень долго (свежую рыбу всегда делают небыстро, но в этот раз томление затянулось совсем уж неприлично - сверх одного часа). Я нервничаю (много работы на вечер!), разболелся даже живот от голода. Наконец, приносят заказ: тикку, две меч-рыбы и один стейк из акулы! "Где же моя еда? Где ВТОРОЙ стейк?!" - я почти плачу от обиды. Улыбается виновато: "Ой! Забыл!" Не уложилось всё в голову - при том, что даже записывал! Посыпался и утонул в аккордах заказа.