Программирование не является типичным процессом созидания сверху вниз, скорее типа «верх – половина пути – низ»; грязные детали «низа» задачи (машинное отделение, если вам так больше нравится) можно игнорировать, за исключением тех ситуаций, когда вы создаете новую программу-компилятор.
В эволюции путем естественного отбора ничего подобного нет, никаких упрощающих программ. Однако, как отметил Герберт Саймон [105] Герберт Александер Саймон (Herbert A. Simon; 1916–2001) – американский ученый в области социальных, политических и экономических наук, член Национальной академии наук США (1967) и Американской академии искусств и наук (1959), лауреат премии по экономике памяти Альфреда Нобеля (1978) и премии Тьюринга (1975).
много лет назад в своей блестящей небольшой книге «Науки искусственного» (1969), сложные эволюционирующие системы ( все живые эволюционирующие системы к ним относятся) определяются собственной «иерархической» структурой: они состоят из частей, которые обладают определенной степенью собственной стабильности и независимости от более крупной системы, и, в свою очередь, состоят из похожих стабильных частей, состоящих из частей. Структуру, или процесс, можно запустить один раз, а потом использовать снова и снова, копируя и копируя устройство не только посредством рождения потомства, но и репликацией внутри самого организма во время его развития. Как заметил Ричард Докинз, ген подобен подпрограмме инструментов в компьютере.
В Маке работает целый набор инструментальных подпрограмм, хранящийся в ПЗУ (постоянное запоминающее устройство) или в системных файлах, загружаемых в момент включения. Это тысячи различных подпрограмм, каждая из которых выполняет отдельную операцию, которая повторяется снова и снова, по-разному в разных программах. Например, инструментальная подпрограмма Obscure-Cursor (Спрячь-Курсор) скрывает курсор на экране до следующего движения мышью. Программа не видна пользователю, но «ген» Obscure-Cursor активируется всякий раз, как вы начинаете печатать, и курсор исчезает (Dawkins, 2004, стр. 155–156).
Иерархическая систематизация присутствует повсюду в природе; она заложена в геноме и процессах развития, которые направляет геном. Подпрограмму формирования позвонков можно задействовать несколько раз, и вот мы уже почти сделали змею. У людей с шестью пальцами на руке или ноге (довольно частая мутация) – подпрограмма создания пальцев сработала лишний раз. Или взять формирование век: как только оно превратилось в отлаженную подпрограмму, его стало возможным использовать с небольшими вариациями во всем животном мире. Получается, эволюция путем естественного отбора действительно имеет нечто вроде исходного кода, состоящего из довольно простых инструкций, которые запускают каскад дальнейших инструкций, направленных на выполнение определенной «модульной» задачи. И все это записано на некоем «машинном языке» и выполняется при каждом вызове подпрограммы; эти задачи не нужно компилировать, нет читателя, который нуждался бы в мнемонических подпорках (ВЫЗОВЭТАЖ, ВЕС-В=ФУНТАХ… см. главу 4), чтобы понять их. Развивающийся организм как бы сам понимает команды, приходящие от генов так же, как машина фон Неймана как бы понимает инструкции на машинном языке – и (как бы) подчиняется им.
Соревнование и сотрудничество сознаний
Эволюция путем естественного отбора – это не научно-исследовательские разработки программистов, идущие по нисходящему пути сверху вниз, несмотря на различные изобретения и активное использование модулей. Это восходящий процесс, снизу вверх, та самая странная, диковинная инверсия Дарвина. Мозг совсем не похож на цифровой компьютер во многих отношениях. Наиболее часто упоминаются три отличая, которые, на мой взгляд, не самые важные.
1. Мозг работает как аналоговое устройство: компьютер – как цифровое. Это действительно так, хотя, возможно, хорошо бы еще понимать, что мы имеем в виду под «аналоговым»; если искать в нем двоичный код (используем 0 и 1), то да. Однако временами он действует как вполне цифровой. Любой конечный алфавит, состоящий из сигналов, эквивалентен некой цифровизации (A,a,a,A,A,a… все читается как А). ЭтО цифрОвОй cигнал, и, как мы увидим в следующей главе, подобный способ цифровизации стал важнейшим свойством языка.
2. Мозг работает параллельно (он выполняет одновременно несколько миллионов «компиляций», рассеяв их по всей мозговой ткани), компьютер – последовательно (он выполняет одну простую команду за другой, последовательный поток компиляций файл за файлом, компенсируя узость скоростью). Существуют и исключения: уже созданы специального назначения компьютеры с параллельной архитектурой, однако обычные компы, встроенные во все, от будильников до тостеров и автомобилей, обладают последовательной архитектурой «машины фон Неймана». Вы можете обладать сотней таких машин, спрятанных в ваших умных устройствах и выполняющих разную черную работу, использующую незначительную часть их мощности. (Гораздо выгоднее выстраивать компьютеры на чипах массового производства, чем создавать отдельное программное обеспечение.) Это правда, что архитектура мозга тотально параллельна, одна только система зрения базируется на миллионах каналов; однако многие из самых потрясающих возможностей мозга работают почти последовательно, например, так называемый поток сознания, в котором идеи, концепции, мысли плывут не в виде одиночных файлов, конечно, но как бы сквозь некое бутылочное горло а-ля фон Нейман.
Читать дальше
Конец ознакомительного отрывка
Купить книгу