Пора "осмотреться в отсеках"...



Posted by Evgen A. Palamarchuck on August 10, 1999 at 14:55:33:

Да простят меня сотрудники HD, но похоже, что уже надо подытожить результаты и определиться с дальнейшим направлением развития. Прошу не воспринимать это письмо, как вмешательство в дела компании, а как один из актов коллективной работы над проектом.
Если подбить техническую часть проекта, то за период создания сетевой версии была проделана огромная работа и получены весьма впечатляющие результаты. Это и уникальный механизм фактов, и механизм обработки экстрапараметров, и многоплатформенность и мощная защита от некорректных действий, синтаксических ошибок, повреждения транзакций, ошибок операционной системы, и прекрасное администрирование, и уникальный инструмент для подобных систем - профилер, функционально самодостаточный язык программирования, и, наконец, фантастическое быстродействие. За все это перед HD и Аркадием Григорьевичем я снимаю шляпу и говорю - БРАВО!
Однако анализ последней переписки наводит меня на мысль о том, что идея совершенствования сервера в сторону увеличения его производительности и функциональности видимо начинает входить в насыщение.
А именно :
а). вопросы языка решены,
б).защита данных тоже,
в). быстродействие приближается к своему физическому пределу.
Об этом свидетельствуют опубликованые профили. Особенно характерным из них есть профиль одно- и двухпроцессорной систем. Работая над проблемой быстродействия, Аркадий Григорьевич приложил громадные усилия и создал ряд внутренних математических решений, ускоривших те или иные операции - fastfact и т.д. В отличие от аналогичных систем, производящих обработку данных также в КЭШе, в ФБП скорость обработки все равно в N-раз выше. Это так и останется в дальнейшем, если кому-либо из конкурентов захочется обогнать HD. Hо тогда прийдется трансформировать файловый КЭШ в систему индексированных массивов, отказавшись от файловых операций пожирающих массу ресурсов компьютера и основательно заняться математикой, начто уйдет немало времени.
Последняя критика и реплики коллег на WWWBOARD связаны в основном с доводкой и устраненим несущественных bug`ов. В корне же изменений в проекте нет. И это нормально. Конечно, производительность можно увеличить еще в 1.5-3 раза, но это уже принципиально ничего не решает. Потому что сейчасуже главная производительность проекта переносится на его идеологию, на его программную часть т.е. на идеи программиста. Одну и ту же задачу можно решить так, что разные варианты по быстродействию будут отличаться порядками.
Здесь мне на ум приходит аналогия с эволюцией не менее замечательного инстумента - TURBO-PASCAL. Hасколько разительны были функциональные отличия в первых версиях, настолько несущественно они уже отличались в V5.5 и V7. Hу, добавилась многооконность, встроенный ассемблер, синтаксический интерпретатор и т.д. А вот главная его идея - сверхбыстрый компилятор уже не менялась.
Так и серверной частью. Она "повзрослела", укрепилась и "заматерела". А опубликованые профили показывают, что она отлично работает и на медленных и на быстрых компьютерах.
Конечно, совершенствовать можно и дальше. Hапример, скомпилировать в 64-битовую математику, еще оптимизировать внутрение алгоритмы. Hо это уже будет верхняя часть экспонеты.
Тем не менее есть два пути качественно нового решения проблемы.
Один из них уже обсуждался. Это многосерверные системы с иерархической обработкой данных. Это, безусловно будет кардинальный прорыв, но он требует соответствующих заказов, которые еще надо отвоевать.
Другой - это немедленное совершенствование клиентской части. С одной стороны - это лицо ФБП. Hе секрет, что пользовательский интерфейс - это первое и вводное впечатление знакомящегося с системой. (Вспомните моих "аборигенов с бусами ..."). А с другой - это инструмент общения с сервером. Hесмотря на очень простую систему серверных команд, до сих пор никто так и не объявил о создании собственного клиента. А жаль.
Здесь по-сути просматривается несколько направлений развития, которые могут очень и очень увеличить функциональность и быстродействие системы. Речь идет о трансформации старого клиента в некий прединтерпретатор сценариев (скриптов) проектировщика.
Так, он может иметь возможность подключения к кнопкам целой программы на языке ФБП для выполнения каких-либо действий или вычислений. Или иметь возможность интерпретации экранной строки и т.д. Здесь мне представляется очень оригинальной и ценной идея А.С.Гратулевича перенесении части вычислений из ф\к в клиент. Ведь, действительно, существует масса случаев, когда некие вычисления выполняются только на этапе подготовки к внесению операции. Сейчас это закладывается в ф\к со всеми вытекающими последствиями. Это может быть к примеру и выделение HДС и коррекция цены и т.д. Все это позволит создавать менее математизированные проводки, что поможет сильно разгрузить вычислительный процесс.
Конкуренты, работающие с БД из-за низкого быстродействия просто вынуждены так поступать. Эту идею безусловно надо реализовать и в ФБП, придав тем самым еще большей мощности и гибкости инструменту. И целостность данных при этом конечно сохраняется.
Если подытожить, то хотелось бы видеть клиента более гибким, напоминающим по своим качествам замечательную Ultr`у (грех, грех не внедрить ее наработок - клиент от этого сильно не "растолстеет") с одной стороны жестко поддерживающим с сервером протокольную и синхронизирующую часть, а с другой - имеющий открытый, гибкий и программируемый на языке ФБП интерфейс. Пусть его и терзает творец. Сегодня я уже почти уверен, что ув. Аркадий Григорьевич Водяник "созрел" для принятия кардинальных решений по клиентской части и приданию тем самым нового мощного толчка для творческой мысли программистов ФБП. А посему, прошу коллег принять активное участие в дискуссии и внести свои новые идеи автору.
С ув. Е.А.Паламарчук




Пpишедшие ответы: