Управились неожиданно быстро, всего через четыре месяца гордая команда демонстрировала мне результат своих трудов. Результат не впечатлял. Это был совсем не Excel. Даже через час после начала показа я все еще не понимал можно ли на этом делать что-то полезное и востребованное. Хотя на словах все было красиво. 63 столбца, 254 строки и максимальная длина текста в ячейке 63 символа. Куча разных функций, включая логические и агрегирующие. Пересчёт таблицы с учётом зависимостей между ячейками. И все это требовало для работы всего лишь 46к оперативки. И две Спирали. На одной хранилась сама таблица, а другая использовалась для хранения программы и дополнительных функций. Можно было обойтись и одной, но тогда все время приходилось переставлять диск. Для снижения объема занимаемой памяти хранилась только информация в ячейках, содержащих данные, а также сведения о том, какие ячейки являются пустыми. Еще было много разных слов, но их смысловая нагрузка от меня ускользала. Судя по рассказу, в ходе разработки возникла целая куча проблем, для решения которых активно привлекались друзья, знакомые и знакомые знакомых. Вопрос генератора случайных чисел обсуждался консилиумом двух докторов, пяти кандидатов и неизвестного количества не титулованных участников. Первоначальная идея оптимизации нового и популярного алгоритма RANDU под восьмибитное слово привела к неожиданным выводам - существует линейная зависимость между тремя соседними элементами последовательности и, как следствие, этот алгоритм вообще использовать нельзя. В результате получилось две функции генератора: одна использует линейный конгруэнтный метод, результат которого назвать случайным - это сильно погрешить против истины, и вторая на методе Фибоначчи с запаздываниями, алгоритм хороший, но уж очень медленный. В общем, по результатам работы, десять статей для журнала 'Радио' уже написано и еще чуть больше на подходе. Пришлось слегка остудить горячие головы, отложив все публикации на период после опытной эксплуатации. Предложив подготовить на завтра десяток демонстрационных примеров, вернулся в кабинет и попытался уложить скачущие мысли. Мыслей было много и все на разные темы. Как практически применить новую программу так и не придумалось, но заметный, хотя и не совсем понятный энтузиазм всех разработчиков вселял некоторый оптимизм. Затем мысли зацепились за случайные числа. О том, что проблемы с этим были еще и в 90х я знал все от того же преподавателя, который похоже очень любил приводить их в примет того, как все бывает непросто. Подробностей я ,конечно же не помнил, точнее говоря даже и не знал никогда, но зато знал где посмотреть. Еще разбирая завалы всякого мусора на винте, я нашел и несколько жемчужин, в то числе и широко известное, но мало кем читаное "Искусство программирования" Кнута. Руки до него до сих пор так и не дошли, но похоже настало и его время, может найдется что-то интересное. Шесть часов спустя стало понятно - интересного действительно очень много. Но чтобы понять, что именно, нужны специалисты. Нет, не смотря на то ли тяжелый язык изложения, то ли удачный перевод, понять, что к чему было вполне возможно. А вот решить, что же с этим делать и, что это дает, было гораздо сложнее. Кое-что было понятно сразу. Например, о возможных проблемах с RANDU была публикация еще в 65 году, но на нее никто особо не обратил внимания. Гораздо интереснее оказалось, что генераторы последовательности Фибоначчи с запаздыванием успешно применявшиеся с 1958 года, фактически провалились на крайне простом критерии случайности. Выяснилось это, правда, только в 90х, тогда же предложили методы решения этой проблемы, отбрасывая ненужные элементы последовательности. Все это, а так же и другие методы, достаточно подробно описывалось, местами даже с кодом на каком-то странном ассемблере. Не меньший интерес представляли и задачи с решениями.
Пытаясь оценить новизну, быстро пробежался поиском по всему тому. Нашлось много ссылок на публикации или открытия 70х,80х и 90х годов. Но что же делать со всем этим богатством? Почистить от дат, ссылок и опубликовать? Слишком уж много косяков и не стыковок может вылезти. Разбить на части или, даже повыдергивать отдельные алгоритмы? Но для этого надо хорошо понимать, что там к чему. И как ни крути, риск вызвать пристальный интерес и подозрения очень велик. А объяснить необходимость такого риска я не могу. Как объяснить какая польза от хорошего генератора случайных чисел или от полиноминальной арифметики. Если о последней я только из самого Кнута и узнал, а для чего она используется - темный лес. Все же, собравшись с мыслями, сел писать письмо Шелепину, возможно он или Семичастный смогут придумать ,как легендировать столько новинок и как добиться чтобы они принесли пользу, причем нам, а не тем же американцам.