Чтение онлайн

ЖАНРЫ

ГЕДЕЛЬ, ЭШЕР, БАХ: эта бесконечная гирлянда
Шрифт:

Прежде всего, должен ли он сохранить сокращение, чтобы воспроизвести некий налет загадочности, появляющийся уже с первой строки книги? Результатом этого явилось бы «S. Lane» («lane» — стандартный перевод слова «переулок»). Ни один из трех переводчиков не пошел по этой дороге. Одним из решений, однако, было «S. Place» («place» — «местечко»). В переводе «Преступления и наказания», который я читал еще школьником, тоже было что-то подобное. Помню, как меня сбивали с толку все эти буквы вместо названий улиц. С самого начала книги у меня было какое-то неопределенное неприятное чувство по поводу начала книги; мне казалось, что я пропускаю что-то очень важное, но что именно — я не знал. Тогда я решил, что все русские романы — очень странная штука.

С другой стороны, переводчик мог бы быть откровенен с читателем (который, скорее всего, все равно не имеет понятия о том, выдумана ли эта улица или существует на самом деле!) и

разделить с ним свои знания, написав «Stoliarny Lane» (или «Place»). Именно так решил второй переводчик, выбравший «Stoliarny Place».

А как насчет третьего перевода? Там мы читаем «Carpenter's Lane». Действительно, почему бы и нет? В конце концов, «carpenter» означает «столяр», а «s» здесь эквивалентно окончанию прилагательного, «-ный». Теперь читатель английского перевода романа может вообразить себя в Лондоне, а не в Петербурге, переживая ситуации, придуманные не Достоевским, а Диккенсом. То ли это, чего он хотел? Может быть, вместо этого лучше было бы прочесть роман Диккенса, имея в виду, что это — «соответствующее произведение по-английски»? На достаточно высоком уровне, его можно назвать «переводом» романа Достоевского — на самом деле, лучшим возможным переводом! Кому нужен какой-то Достоевский?

Как видите, перед переводчиком встает вопрос, следовать ли ему букве оригинала, его стилю или общему духу книги? И это решение он должен принять уже в первой строчке — вообразите себе, с какими трудностями он сталкивается, переводя всю книгу! Как насчет того места, где хозяйка-немка начинает кричать на своем онемеченном русском? Как можно перевести на английский ломаный русский с немецким акцентом?

Другая проблема возникает при переводе жаргонных и разговорных выражений. Что лучше — найти «аналогичное» выражение или привести дословный перевод? Если переводчик пытается найти аналогичную фразу, то он рискует «накормить борщом» типичную американку (которая, возможно, в жизни о борще не слыхала), но если он переводит все дословно, то в его переводе появится «акцент». Возможно, что это даже желательно, поскольку русская культура для английского читателя экзотична. Однако благодаря странным выражениям и неестественным оборотам он будет постоянно чувствовать некую искусственность, которая не была задумана автором, и которую не ощущают читатели оригинала.

Подобные проблемы заставляют нас усомниться, прав ли был Уоррен Уивер, один из пионеров компьютерного перевода, когда в конце 1940-х годов он сказал. «Глядя на статью, написанную по-русски, я говорю себе: „На самом деле, это написано по-английски, но закодировано какими-то странными символами. Сейчас я начну их расшифровывать.“» [37] Замечание Уивера не должно пониматься буквально; скорее, он хотел сказать, что в символах спрятан некий объективный или близкий к объективному смысл, и что хорошо запрограммированный компьютер вполне может этот смысл оттуда извлечь.

37

Warren Weaver, «Translation», в сборнике «Machine Translation of Languages», Wm. N. Locke and A. Donald Booth, eds. (New York: John Wiley and Sons, and Cambridge, Mass.: M.I.T. Press, 1955), стр. 18.

Сравнения между программами на высшем уровне

Уивер имел в виду переводы с одного человеческого языка на другой. Давайте теперь рассмотрим проблему перевода между компьютерными языками. Предположим, что два человека написали программы для разных компьютеров и мы хотим выяснить, выполняют ли они одно и то же задание. Как это возможно? Для этого нужно сравнить данные программы. Но на каком уровне? Что, если один программист написал программу на машинном языке, а другой — на языке компилятора? Сравнимы ли подобные программы? Безусловно. Но как именно это сделать? Одним способом было бы скомпилировать вторую программу, получив таким образом соответственную программу на машинном языке второго компьютера.

Теперь перед нами две программы на машинном языке. Но тут возникает другая проблема: у нас два компьютера и, следовательно, два различных машинных языка, которые могут очень сильно отличаться друг от друга. В одном компьютере могут быть слова из шестнадцати битов, а в другом — из тридцати шести. В один компьютер могут быть встроены инструкции по управлению стеком (проталкиванию и выталкиванию данных), а в другом их может не быть. Разница между аппаратурой двух компьютеров может привести к тому, что их программы могут показаться несравнимыми — и все же мы подозреваем, что они выполняют одно и то же задание, и нам бы хотелось это проверить. Очевидно, мы рассматриваем программы со слишком близкого расстояния.

Необходимо отойти подальше, перейдя от уровня машинного языка к более высокому,

блочному уровню. С этой точки зрения мы можем надеяться заметить те блоки, которые делают программу разумно спланированной на глобальном, а не на местном уровне — блоки, которые подходят к друг другу таким образом, что становятся видны цели программы. Давайте предположим, что обе программы были первоначально написаны на языках высших уровней; значит, определенные блоки там уже есть. Однако теперь возникает другая проблема: существует множество блочных языков, таких, как ФОРТРАН, АЛГОЛ, ЛИСП, АПЛ и многие другие. Как можно сравнить программу на Алголе с программой на АПЛ? Безусловно, мы не будем сравнивать их строчка за строчкой; вместо этого попытаемся опять мысленно разделить эти программы на блоки в поисках неких совпадающих функциональных единиц. Таких образом, мы сравниваем не аппаратуру и не программы, но некую «эфирную сущность» — абстрактные понятия, лежащие в основе программ. Прежде чем сравнивать между собой программы, написанные на различных компьютерных языках, или два предложения на разных человеческих языках, или двух животных, необходимо выделить из нижних уровней определенный «концептуальный костяк».

Это возвращает нас к вопросу о компьютерах и мозгах: какой смысл описывать их на нижних уровнях? Можно ли в таких сложных системах каким-то объективным образом перейти от такого описания к описанию на высших уровнях? В случае компьютера мы можем легко получить распечатку содержимого памяти, так называемый дамп. На заре работы с ЭВМ, дампы использовались в том случае, когда с программой что-то не ладилось. Программист уносил такую распечатку домой и корпел над ней часами, пытаясь понять, что собой представляет каждая крохотная часть памяти. В таком случае, программист делал нечто обратное компиляции: он переводил с машинного языка на язык высшего уровня, концептуальный язык. В конце концов, он понимал цель программы и мог описать ее в терминах высших уровней: «Эта программа переводит романы с русского на английский» или «Эта программа пишет восьмиголосные фуги, основанные на любой данной ей теме».

Сравнение высших уровней мозгов

Попытаемся теперь ответить на подобный вопрос в отношении мозгов: «Можно ли „прочитать“ человеческий мозг на высшем уровне? Существует ли некое объективное описание „содержимого мозга“?» В «Муравьиной фуге» Муравьед утверждал, что он может заключить, о чем думает Мура Вейник, глядя на беготню муравьев. Могло бы какое-нибудь сверхсущество, скажем, Нейронъед, посмотреть на наши нейроны, обобщить увиденное и сказать, о чем мы думаем?

Ответ на это, наверняка, должен быть положительным — ведь мы сами способны в любой момент с легкостью описать наши мысли в блочных (не нейронных) терминах. Это означаем, что у нас есть некий механизм, позволяющий нам до некоторой степени обобщать состояние нашего мозга и таким образом давать его функциональное описание. Точнее, мы превращаем в блоки не все состояние мозга, а только те его активные участки. Однако если нас спросят о чем-либо, хранящемся в пассивной области, мы сможем почти мгновенно активировать нужный участок и дать блочное описание требуемого предмета, высказав наше мнение о нем. При этом мы не имеем ни малейшего понятия о состоянии нервных клеток в данной области; наше описание настолько обобщено, что мы даже не знаем, какую область нашего мозга только что описали. В противоположность этому, программист, дающий блочное описание программы, основывается на сознательном анализе содержимого памяти компьютера.

Если мы можем дать блочное описание любой части нашего мозга, то логично предположить, что сторонний наблюдатель, способный проникнуть в наш мозг, мог бы дать блочное описание не только определенных частей мозга, но и всего целого — иными словами, полное описание всех мыслей и убеждений того человека, в чей мозг он заглядывает. Очевидно, что подобное описание имело бы астрономические размеры, но нас это сейчас не волнует. Мы хотим знать, возможно ли, в принципе, хорошо определенное, полное описание мозга на высшем уровне. Или же описание на нейронном уровне — либо что-нибудь такое же физиологическое и невдохновляющее — на самом деле является наилучшим возможным описанием? Ответ на этот вопрос очень важен, если мы хотим знать, удастся ли нам понять самих себя.

Возможные убеждения, возможные символы

Я считаю, что блочное описание возможно; однако это не означает, что когда мы его получим, все мгновенно станет ясно. Дело в том, что чтобы «извлечь» это описание из мозга, нам потребуется некий язык для описания наших находок. Может показаться, что лучший способ описания мозга — это перечисление мыслей, которые возможны, и мыслей, которые невозможны — или, может быть, возможных и невозможных верований и убеждений. Если, давая наше блочное описание, мы будем стремиться к этой цели, легко увидеть, с какими проблемами мы при этом столкнемся.

Поделиться с друзьями: