Стас в растерянности пожал плечами – он никогда не слышал, чтобы молодых специалистов обрабатывали, как подозреваемых на следствии.
– Вопрос первый: чем вы будете заниматься? – начал директор.
– Я? – Стас опешил. – Я думал, вы мне это сообщите?
– Кто вы?
– Я? Программист. Нейропрограммист.
– А что значит: «нейро»?
– Вы хотите, чтобы я рассказал, чем нейропрограммирование отличается от обычного программирования? – не понял Стас.
– Да! Конечно! Что это за наука, какие применяются методы, какие изучаются дисциплины?
Стас почувствовал себя задетым.
– Я сдал экзамен. Неужели вы настолько не доверяете университетскому диплому, что боитесь, что выпускник может не знать основ своей профессии?
– Станислав, я нисколько не сомневаюсь, что вы ЗНАЕТЕ все, чему вас учили, – пояснил директор. – Просто мне не нужны ваши знания. Знания – информация, которую я могу почерпнуть из справочника. Я хочу видеть, КАК вы знаете, НАСКОЛЬКО вы знаете, ЧУВСТВУЕТЕ ли вы то, что знаете. И давайте на будущее договоримся: я спрашиваю – вы отвечаете. Наоборот не будем. Итак, что ВЫ понимаете под наукой «нейропрограммирования»?
Стас собрался с мыслями.
– Тогда… Во-первых: нейропрограммирование – это не наука, а практическая методика. Нейропрограммированием называют расчет, состоящий из трех этапов. На первом этапе анализируется исходный объект. Составляется математическая модель, учитывающая все характеристики, подлежащие модификации, а также взаимосвязи, образованные при формировании данных характеристик. На втором этапе строится математическая модель объекта, который будет получен путем модификации. Учитываются условия, предоставленные постановщиком задачи. На третьем этапе разрабатывается непосредственно готовый продукт – программа, преобразующая исходный объект в желаемый результат.
– Угу… – Директор рассеянно кивнул. Его глаза смотрели непонятно куда – очевидно, следили не только за Стасом, но и за информацией о биоритмах тестируемого, которую выводили на внутреннюю поверхность стекол его нэтфона, стилизованного под очки для коррекции зрения. – Несколько сухо, но предположим… А какой из этапов наиболее важный?
– Все три важные.
– Скажем иначе: где требуется больше таланта, опыта, где легче проявить себя?
– Принято считать, что все три этапа равноценны. На первом нужны талант и опыт, чтобы подобрать необходимое, но достаточное число свойств объекта, принимаемых во внимание при построении модели. Потеря из вида какого-то свойства приведет к возникновению ошибок в расчете и сделает неисполнимой задачу превращения исходного материала в описанный «техническими условиями». Лишние характеристики, наоборот, усложнят расчет и не позволят подобрать оптимальный и наиболее эффективный алгоритм программирования.
На втором этапе важно определить, какие требования заказчик программы ставит на первое место, а какие не играют для него первостепенной роли. Модель-результат строится из исходной модели – нужно обладать определенным чутьем, чтобы построить модель, максимально близкую к исходной, но отвечающую всем требованиям «технических условий» заказчика. Если отличия исходной модели от конечной окажутся серьезными, процесс модификации потребует слишком много времени и может привести к разрушению объекта или к последствиям, не указанным в «технических условиях».
Третий этап является следствием двух первых – если правильно построены модели, разработка программы – тривиальная задача. Но и здесь опыт и талант программиста помогут выбрать самый короткий путь к результату. Кроме того, воздействовать на исходный объект можно сотней различных способов. Чутье программиста должно подсказать ему, какой именно способ следует применить в данном конкретном случае.
– Мда, Станислав Александрович! Вы чувствуете, что говорите, но этот язык… Попробуйте все же сказать по-русски! Что такое «объект»?
– Любая открытая информационная система.
Директор покачал головой:
– Нет, по-русски?
– Живое существо. Человек, например.
Артур Николаевич внимательно посмотрел на Стаса, словно хотел прочитать его мысли:
– То есть вы подменяете человека двумя схемами – моделями?
– Да. Но не всего человека, как личность, а выделенные характеристики и характеристики, взаимосвязанные с выделенными.
– А когда модели готовы, вы пишете программу для…
– Превращения исходной модели в конечную.
– То есть вы, Станислав, умеете программировать людей? Так?