Рекурсия
Шрифт:
Позавтракав и выпив по чашке кофе, Саша и Юра, наконец, перешли к разговору, ради которого они собрались.
– Ну, так что же всё-таки стало причиной нашей, столь ранней встречи? – спросил улыбаясь Юра, снова проявляя любопытство, уже не подавляемое голодом и перебравшееся на первое место в приоритетах желаний.
– Идём, я тебе кое-что покажу, – сказал Александр, домыв посуду и вытирая руки полотенцем. Что-что, а на кухне у него всегда был порядок!
Они прошли в комнату к компьютеру, и уже издали Юра увидел на экране монитора своё собственное изображение, то есть своё лицо, как на фотографии, цветное.
– Когда это ты успел меня запечатлеть неулыбающегося? Что-то я не припомню такого снимка. Ты освоил «Фотошоп»? – рассмеялся Юрий.
– А это вовсе
– Ну, я бы сказал, очень похож, ты стал рисовать по памяти? – не унимался Юра, пытаясь понять, в чём подвох.
– Юра, ты не понял. Это трёхмерное изображение!
С этими словами Александр двинул мышкой, и отображаемая на экране монитора Юрина голова, стала поворачиваться, что позволяло её рассматривать со всех сторон. Юра улыбаться перестал, а Саша продолжил речь.
– А ежели кому не нравится серьёзное выражение лица, то это поправимо. Где тут у нас управление улыбательными мышцами? Вот оно, – гордо сказал Александр, и в следующий момент глаза виртуального Юрия слегка сощурились, а на лице появилась радушная улыбка.
После этого Саша посмотрел на друга, но, увидев его физиономию, широко улыбнулся и решил ещё кое-что подправить, и, еле сдерживая смех, произнёс:
– А ежели мы все мышцы расслабим, то увидим то, как ты выглядишь сейчас.
Сказав это и внеся изменения, он уже не смог себя сдерживать и громко рассмеялся, потому что у трёхмерного изображения округлились глаза, и открылся рот, и со стороны это выглядело так, будто Юра смотрит не в экран монитора, а в зеркало. Быстро поняв это, Юрий тут же улыбнулся и, слегка смутившись, посмотрел на Сашу.
– Ты что, приобрёл 3D-сканер?! – удивлённо спросил он. – Но когда ты успел меня отсканировать?!
– Юра, – ответил Александр. – Это не сканер. Это совсем другое. Я расшифровал ДНК!
Теперь уже рассмеялся Юрий.
– Саша, ДНК уже давно расшифрована!
– Юра, ты меня не понял! Под расшифровкой я имею в виду совсем другое! То, что сегодня известна последовательность нуклеотидов того или иного организма, знают все, но назвать это расшифровкой… Да, извлечь из клетки и записать ДНК в виде текста – это большое достижение, но использовать его лишь для сравнения с другими образцами при установлении отцовства – слишком примитивно. И на самом деле как раз таки его, этот текст, и нужно расшифровывать. Ну да, геном состоит из множества комбинаций четырёх азотистых оснований – аденина, гуанина, цитозина и тимина, и вы соответствующими этим названиям буквами, то бишь – AGCT, так его и записываете. Но вот что, например, обозначает запись ACGTTCAC? Любой тебе скажет, что это бессмыслица. А ведь это код! И не просто код, а программа, управляющая развитием и жизнедеятельностью любого живого организма! У человека она длиной не в восемь букв, как в этом примере, а в три миллиарда! Ты представляешь, что там наворочено?!
– Саша, ты хочешь сказать, что ты дизассемблировал ДНК?!
– Ишь ты, каких слов нахватался! – рассмеялся Александр. – Не зря ты со мною общаешься! Но ты пойми, дизассемблировать код можно, только зная систему команд процессора, для которого этот код написан, и который этот код выполняет.
– Да, кстати, Саша, давно уже хотел тебя спросить, ты мне можешь на пальцах пояснить, что это за зверь такой – система команд процессора? А то, каждое в отдельности – вроде слова понятные, а вместе – что обозначают, понять не могу, – рассмеялся Юрий.
Александр на секунду задумался. Потом взял лист бумаги и карандаш, написал подряд последовательность из четырнадцати цифр – 76015018125003 и спросил:
– Юра, это может быть кодом?
– Наверное, – ответил Юра и шутя добавил. – На номер телефона это не похоже.
– Но если это код, то что он обозначает, можно только догадываться, правда?
Юра ничего не ответил и молча продолжал слушать.
– Теперь представь, что это, действительно, программа, и существует устройство, для которого она написана – устройство со своей системой команд. Например, оно различает и умеет выполнять следующие четыре команды, – сказал Саша и написал под цифрами четыре строчки.
1) 76 – повернуться и стать лицом на север.
2) 01 – пройти вперёд столько шагов, сколько указывают следующие две цифры.
3) 18 – пройти направо столько шагов, сколько указывают следующие две цифры.
4) 50 – копать вниз на столько метров, сколько указано в двух следующих цифрах.
– Ну-ка, ну-ка, – заинтересовался Юра улыбаясь. – Дай, я попробую… Так. Стать на север, пройти вперёд 50 метров, пройти направо 12 метров, копать вниз на глубину 3 метра! Как всё просто! – он весело засмеялся.
– Да, когда известна система команд, действительно всё просто. Ты знаешь, почему в своё время компьютеры «Макинтош» проиграли гонку компьютерам IBM? Одной из причин было то, что процессоры, которые использовала фирма Apple, имели закрытую архитектуру – никто не знал их системы команд, хотя они и были как минимум на порядок круче процессоров фирмы Intel. А без системы команд, любая программа – это абсолютно бессмысленный набор ноликов и единичек или в нашем случае набор из букв AGCT, и, Юра, я эту систему команд нашёл!
– Так, так, так… То есть ты хочешь сказать, что это изображение, есть результат работы твоей программы, на основе данных, которые содержит моя ДНК? Так вот почему ты тогда у меня её выпрашивал… Когда это было-то, два, три года назад? И главное, так и не признался, для чего. Но погоди, разве это возможно? Как ты получил изображение моей физиономии? Как ты это сделал?
Саша улыбнулся.
– Не знаю, кто создал наш прекрасный Мир, мы наслаждаемся жизнью, и в повседневной суете практически никто из нас этого не осознаёт, но в нём все написанные программы выполняются, и работает всё именно так, как было задумано, и мыслю я, что жизнь – это и есть выполнение программы ДНК! Птички и бабочки летают не потому что их кто-то этому учит, а потому что это заложено в программе! Человек стремится познать этот Мир, и наша задача – всего лишь понять, как и почему это происходит, как это работает? Да, для того, чтобы программа выполнялась, нужен компьютер. В природе сама живая клетка является компьютером. Я, как программист, наверное, представляю это не так, как микробиологи, – засмеялся Александр. – Я вижу не просто живую клетку, я вижу совершеннейший компьютер. Полностью автономный, в белковой оболочке, через которую в него наряду с кислородом попадает топливо (углеводы), сжигаемое затем в молекулярном реакторе, называемом митохондрией. Так вырабатывается энергия для работы этого компьютера. Но при сгорании топлива образуется углекислый газ и вода, они выводятся из компьютера через ту же белковую оболочку. Представляешь, насколько продуман этот материал? Ведь кроме этого, через него проходит и различного рода строительный материал, позволяющий прежде всего – размножаться! Компьютер строит сам себя! Он увеличивается в размере, дублирует все свои внутренности и делится, перетягивая сам себя, пополам! Раз, и уже два компьютера! Раз, и уже их четыре! И всё это происходит по программе, записанной в ДНК.
Саша задумчиво посмотрел вдаль.
– Ты только представь, какая непостижимая сила, какой невероятной мощности задействован механизм, насколько в нём всё предусмотрено и продумано, что даже безмозглые мотыльки на непреодолимых для осознания расстояниях, гонимые ветром, съедаемые птицами, находят друг друга и спариваются, и два ничтожно маленьких, микроскопических компьютера, женский и мужской, один – умеющий лишь ждать, а второй – махать хвостиком и искать, объединив своё программное обеспечение, превращаются в мощнейший, просто потрясающей силы программных решений компьютер, способный делиться! Из одного единственного компьютера образуются тысячи, а они всё делятся и делятся, соединяясь своими белковыми оболочками, и не абы как, а тоже строго по программе, и до тех пор, пока эта часть программы ДНК не будет выполнена, и новый организм не станет полноценной копией своих родителей.