Хорошая компьютерная программа – это программа, отвечающая пожеланиям потребителя: заказчика и/или пользователя. Таблицы, графики, методики технологических расчетов - это все исходные материалы для будущих компьютерных программ. Программы могут создаваться для самого разного назначения, и в этой связи возникает вопрос относительно идеологии использования и применения программ. Профессиональный программист чаще всего считает, что хорошая компьютерная программа должна быть закрытой для пользователя. Все, что пользователь может делать с компьютерной программой (в большинстве случаев) - это ввести в нее данные и получить результат.
Такие закрытые для доступа компьютерные программы безусловно нужны. Но грамотный технолог и при наличии таких "хороших" программ компьютерных расчетов неизбежно пользуется графиками и таблицами и делает свои локальные расчеты на калькуляторе или (теперь все чаще) на компьютере в среде Excel. Если лишить технолога такой возможности и оставить ему только закрытые программы обработки данных, работающие по схеме вход-выход, то технолог может превратиться в подобие биоробота и стать технологически слепым - не отслеживающим в интеллектуальном плане текущий технологический процесс.
В нашей практике, когда нам приходилось создавать большие закрытые вычислительные компьютерные программы, технологи (вернее, активная их часть) предпочитали иметь в своем распоряжении отдельные, сравнительно легко обозримые компьютерные фрагменты этих программ. Скажем, у технолога возникли вопросы по работе некоторой конкретной турбины. Технологу сложно прослеживать ее работу с помощью большой вычислительной программы, в которой объединен весь технико-экономический расчет для ТЭС. Но технолог предпочтет взять короткую компьютерную программу-фрагмент именно для данной турбины и провести с фрагментом какой-то численный эксперимент. Например, в какой-то технологической точке изменились параметры пара, что не редкость в технологической практике. Возникает предположение или вопрос - является ли это причиной необычного поведения работающей турбины. Если численный эксперимент с компьютерной мини программой более или менее подтверждает промышленный результат (абсолютных совпадений не бывает в силу неизбежной погрешности замеров), значит причина ищется в изменении параметров пара. Если нет, - технолог отбросит непродуктивную версию и будет искать причину в другом, в том числе, возможно, оперируя с тем же или с другим фрагментом компьютерных программ. Такие "хорошие", т.е. удобные для пользователя, фрагменты-программы могут быть и самоцелью и элементами будущих больших компьютерных программ.
Нормально, подобные удобные для пользователя компьютерные фрагменты программ остаются в оперативном пользовании технолога в любом случае и должны строиться так, чтобы расширять возможности компьютерного обозрения (видения) технологического процесса. Конечно, в этом случае технологу должны быть понятны структура и особенности работы таких фрагментных компьютерных программ. Здесь особые требования накладываются на технологическую квалификацию программиста. По сути, хорошие компьтерные программы для технолога-пользователя должен создавать не хороший программист, а хороший алгоритмист, который в достаточной мере владеет и техникой построения программ, и может видеть ситуацию глазами технолога - изнутри. Разница в том, что у собственно программиста знание чисто технических моментов создания вычислительных программ стоит на первом месте его приоритетов, а у алгоритмиста - где-нибудь на пятом месте приоритетов в цепочке технология процесса и его компьютерные сопровождение или расчет.
Алгоритмист, даже хорошо знающий алгоритмизируемый процесс, обычно начинает свою работу вместе с технологом из эксплуатационного персонала. Преобразование таблиц и графиков, характеризующих технологический процесс, в вычислительную процедуру будущей компьютерной программы - это первый шаг. Обкатка, апробация таких компьютерных фрагментов-процедур в сопоставлении с отслеживаемым технологическим процессом - это второй шаг. Все это, нормально, делается во взаимодействии с технологом из эксплуатации. Случается и так, что такой технолог обретает при этом достаточную квалификацию, чтобы самому разрабатывать вычислительные фрагменты компьютерных программ в том же, упомянутом выше Excel. И подобные ситуации в общем-то не редкость, когда технолог из эксплуатации становится в какой-то мере и программистом. Однако в любом случае конечную стадию разработки хорошей компьютерной программы должен контролировать и осуществлять не программист-любитель, а профессионал, совмещающий функции алгоритмиста и программиста. Как "чистый" программист может не знать всех "подводных камней" отображения технологического процесса, так и любитель-программист из эксплуатационного персонала не знает всех "подводных камней" работы компьютерных программ. В особенности больших вычислительных программ, охватывающих в комплексе работу всего технологического оборудования.
В любом случае, условием создания хорошей вычислительной программы остается тесное взаимодействие разработчика компьютерной программы в процессе ее создания со специалистами из эксплуатационного персонала, ведущего технологический процесс.