МедОк. Письма бородатого программиста.

Письма бородатого программиста.

Когда-то давно у меня был знакомый программист, который когда писал программы с использованием базы данных, не пользовался индексами. То есть, если остальное нормально, то можно сдать программу заказчику и быстро убежать, пока он не занес достаточно данных чтобы программа без индексов начала тормозить на поисках и обработках. Я тогда с него похихикал и предположил, что вряд-ли у него большое будущее как у программиста. Но…

Наши дни. Работаю с государственной программой для сдачи отчетов, в Украине ее все знают, Medoc. Она даже на мощных машинах, даже без занесенных данных, работает жутко медленно даже на таких простых операциях как открыть форму или проверить одну занесенную форму. То есть в программе пара сотен записей, их, по моим понятиям, даже без индексов перебрать в цикле и проверить до минуты. А там запустил проверку и пошел курить. Сразу вспомнился мой знакомый, подумалось: какую ошеломительную карьеру он сделал, ведь эта программа обязательна для всех учреждений и компания по самым скромным подсчетам (по данным из их же рекламы) заработала десятки миллионов. Из любопытства начал копать…

Думаю, возможно они хранят данные в XML-файлах, как это сделано в другой еще более кривой обязательной программе OPZ, со всеми вытекающими. Смотрю, нет, база данных таки присутствует. Странно конечно, что она всего на паре отчетов занимает 90-180 мегабайт. Но может это я просто не понял их высокий замысел. Начал просматривать базу данных, что оказалось: они в базе данных хранят эти же XML-файлы. То есть поиск по базе данных не выполнишь, а нужно загружать XML структуру и разбирать. Неудивительно, что оно так работает. Так это у меня организации максимум в две тысячи человек, а могу представить, что говорят об этой программе на заводе, где тысяч десять человек. Там наверно нужно запускать проверку строго в восемь утра, чтобы она успела до конца рабочего дня закончить.

Так что не нашим людям смеяться с индусов, раз есть такие отечественные кадры. Хотя под прикрытием депутатских заработков и государственной обязаловки, зачем им совершенствоваться? Ну или другой вариант: может в компании есть только те люди, что деньги собирают, а программу написал какой-нибудь фрилансер за день и за сто баксов.

Добавить комментарий