Выбрать главу

- Что алгоритмировать?

- Все, буквально все! - сопровождал он широким жестом свое утверждение.

Выходило, что надо алгоритмировать и манизеровский памятник поэту, и университет, и дом, в котором я жил; нужно алгоритмировать и строительство, и производство сахара, и движение облаков в весеннем небе.

- А как это делать? - рискнул спросить я у товарища.

В ответ понеслись непонятные слова: команда, цикл, счетчик, ветвление... Даже знакомое слово - результат - выглядело в этом перечне устрашающе. Не по-няч, как алгоритмировать, я решил зайти с другого фланга.

- А зачем все это делать?

Тут мой собеседник взорвался.

- Зачем - спрашиваешь? Чтобы одолеть незнание! ЭВМ считает со скоростью три тысячи сложений в секунду. Три тысячи, понимаешь? Ты и одного сложения не сделаешь, а она уже три тысячи. Все, все, все теперь можно сосчитать: и рост деревьев, и развитие животных, и наилучшие планы для заводов. Кончается работа на глазок, кончается на авось. Все будем теперь считать на машине, понимаешь?

- Вроде понимаю. Только как машина станет считать? Формула ей нужна? Или она сама, без формулы?

- Формулы забудь! Вместо них теперь алгоритмы. Алгоритмировать надо! - категорически заявил друг.

Первую часть его предложения выполнить было легко - большинство школьно-институтских формул я к тому времени прочно не помнил. А вот вторая часть, все эти команды, циклы, ветвления...

Я вернулся домой. Было бы неправдой сказать, что вернулся с твердым желанием научиться алгоритмировать. Скорее я вернулся с полезной тревогой в душе: где-то там рождается новый мир ЭВМ и алгоритмов, а я даже не понимаю, о чем идет речь.

Сегодня, двадцать лет спустя, перед моим мысленным взором проходит череда алгоритмов, с которыми удалось познакомиться за эти годы. Какой из них выписать здесь, для первого случая? Один строен и изящен, другой стремителен, хотя и мешковат, третий упорен и солиден, четвертый такой модный: кольца, идеалы и чуточка шейпов. Ладно, выбираю вот этот.

"Спинка. Набрать 86 петель, провязать 4 ряда "рябушкой" и затем перейти на чулочную вязку. На 43-м см от линии низа закрыть на пройму с обеих сторон по 6 петель, затем с каждой стороны провязать по 2 последние и 2 первые петли вместе и 1 раз - 2 последние вместе. На спицах должно остаться 62 петли - продолжать вязать их до плечевого скоса (17 см). Плечевой скос выполнять..."

Нужны ли обоснования моего выбора? Для вас, уважаемые читательницы-женщины, полагаю, нет. А для вас, читатели-мужчины?

Для мужчин, и только для них,, мои доводы: сегодня большинство программистов в нашей стране - женщины. На собственном опыте автор убедился, что девушки, которые хорошо вяжут, хорошо программируют. Это повелось изначала: первым в мире программистом была Ада Лавлейс; она была отличным программистом и, говорят, искусной вязальщицей.

А. Лавлейс, дочь великого английского поэта Джорджа Байрона, сотрудничала с кембриджским профессором Чарльзом Бэббеджем, который придумал в 40-х годах прошлого века вычислительную машину. Компьютер Ч. Бэббеджа по идее мало отличался от современных цифровых вычислительных машин, только состоял он из шестеренок и рычагов (до возникновения электроники оставалось еще 80 лет).

Натурально, механический компьютер оказался громоздким; полностью Ч. Бэббеджу так и не удалось его собрать. Скептические современники прозвали всю эту затею "чудачеством Бэббеджа". А. Лавлейс не относилась к скептикам, она была другом профессора Ч. Бэббеджа, болела душой за новое дело, помогала как могла.

А могла эта нервная, изящная, болезненная женщина многое. Она смогла понять величие и грандиозность идеи универсального компьютера. Она написала для "чудачества Бэббеджа" несколько великолепных программ. Она провидела принципы программирования - единые для любых вычислительных задач. Она открыла, что счетная машина не только счетная и даже не в первую голову счетная; компьютер способен решать нечисловые задачи.

Даже сегодня это "не", поставленное А. Лавлейс перед словом "числовые", даже сейчас это "не" кажется многим людям странным, сомнительным, неприличным.

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