- Что алгоритмировать?
- Все, буквально все! - сопровождал он широким жестом свое утверждение.
Выходило, что надо алгоритмировать и манизеровский памятник поэту, и университет, и дом, в котором я жил; нужно алгоритмировать и строительство, и производство сахара, и движение облаков в весеннем небе.
- А как это делать? - рискнул спросить я у товарища.
В ответ понеслись непонятные слова: команда, цикл, счетчик, ветвление... Даже знакомое слово - результат - выглядело в этом перечне устрашающе. Не по-няч, как алгоритмировать, я решил зайти с другого фланга.
- А зачем все это делать?
Тут мой собеседник взорвался.
- Зачем - спрашиваешь? Чтобы одолеть незнание! ЭВМ считает со скоростью три тысячи сложений в секунду. Три тысячи, понимаешь? Ты и одного сложения не сделаешь, а она уже три тысячи. Все, все, все теперь можно сосчитать: и рост деревьев, и развитие животных, и наилучшие планы для заводов. Кончается работа на глазок, кончается на авось. Все будем теперь считать на машине, понимаешь?
- Вроде понимаю. Только как машина станет считать? Формула ей нужна? Или она сама, без формулы?
- Формулы забудь! Вместо них теперь алгоритмы. Алгоритмировать надо! - категорически заявил друг.
Первую часть его предложения выполнить было легко - большинство школьно-институтских формул я к тому времени прочно не помнил. А вот вторая часть, все эти команды, циклы, ветвления...
Я вернулся домой. Было бы неправдой сказать, что вернулся с твердым желанием научиться алгоритмировать. Скорее я вернулся с полезной тревогой в душе: где-то там рождается новый мир ЭВМ и алгоритмов, а я даже не понимаю, о чем идет речь.
Сегодня, двадцать лет спустя, перед моим мысленным взором проходит череда алгоритмов, с которыми удалось познакомиться за эти годы. Какой из них выписать здесь, для первого случая? Один строен и изящен, другой стремителен, хотя и мешковат, третий упорен и солиден, четвертый такой модный: кольца, идеалы и чуточка шейпов. Ладно, выбираю вот этот.
"Спинка. Набрать 86 петель, провязать 4 ряда "рябушкой" и затем перейти на чулочную вязку. На 43-м см от линии низа закрыть на пройму с обеих сторон по 6 петель, затем с каждой стороны провязать по 2 последние и 2 первые петли вместе и 1 раз - 2 последние вместе. На спицах должно остаться 62 петли - продолжать вязать их до плечевого скоса (17 см). Плечевой скос выполнять..."
Нужны ли обоснования моего выбора? Для вас, уважаемые читательницы-женщины, полагаю, нет. А для вас, читатели-мужчины?
Для мужчин, и только для них,, мои доводы: сегодня большинство программистов в нашей стране - женщины. На собственном опыте автор убедился, что девушки, которые хорошо вяжут, хорошо программируют. Это повелось изначала: первым в мире программистом была Ада Лавлейс; она была отличным программистом и, говорят, искусной вязальщицей.
А. Лавлейс, дочь великого английского поэта Джорджа Байрона, сотрудничала с кембриджским профессором Чарльзом Бэббеджем, который придумал в 40-х годах прошлого века вычислительную машину. Компьютер Ч. Бэббеджа по идее мало отличался от современных цифровых вычислительных машин, только состоял он из шестеренок и рычагов (до возникновения электроники оставалось еще 80 лет).
Натурально, механический компьютер оказался громоздким; полностью Ч. Бэббеджу так и не удалось его собрать. Скептические современники прозвали всю эту затею "чудачеством Бэббеджа". А. Лавлейс не относилась к скептикам, она была другом профессора Ч. Бэббеджа, болела душой за новое дело, помогала как могла.
А могла эта нервная, изящная, болезненная женщина многое. Она смогла понять величие и грандиозность идеи универсального компьютера. Она написала для "чудачества Бэббеджа" несколько великолепных программ. Она провидела принципы программирования - единые для любых вычислительных задач. Она открыла, что счетная машина не только счетная и даже не в первую голову счетная; компьютер способен решать нечисловые задачи.
Даже сегодня это "не", поставленное А. Лавлейс перед словом "числовые", даже сейчас это "не" кажется многим людям странным, сомнительным, неприличным.
Все мы так свыклись с названиями - цифровая вычислительная машина, электронная счетная машина. Они то и дело мелькают на страницах книг, журналов, газет. Вычислительная машина! Счетная машина! И перед мысленным взором возникают бухгалтерские счеты, но с электронными костяшками, счеты огромной производительности. Складывать числа, вычитать, умножать, делить, извлекать корни из чисел - одно слово, вычислительная машина, цифромолка, компьютер, числоглот ненасытный.