Сергей Бобровский
Просто удивительно, сколько сил тратят отечественные народные умельцы, пытаясь повторить то, что давным-давно продается на софт-рынке за копейки. Зарубежные издания для разработчиков пестрят рекламой отнюдь не компиляторов (их на рынке раз-два и обчелся, и все новинки становятся мгновенно известны всем истинным профессионалам), а средств, облегчающих программистам жизнь. 90% из них - это всевозможные библиотеки готовых объектов, 10% - визуальные средства проектирования.
Долбить про эффективность повторного использования кода начинают со студенческой скамьи, об этом пишут компьютерные издания, но увы... Редкий объект доберется до середины нового проекта. Не понимают актуальности компонентного подхода ни менеджеры, ни руководители фирм. Дескать, зачем это мы будем платить за какую-то библиотеку классов, если у нас есть программисты! И никак до них не дойдет, что выгоднее заплатить за нужную библиотеку сто долларов, чем потратить несколько тысяч на месяц работы своих сотрудников. И появляются на свет КИС с клиентскими местами для Windows 98 и интерфейсами в стиле Windows 3.0., уже десять лет как существующие. Справедливости ради надо отметить, что и разработчики часто противодействуют попыткам внедрения готового кода. Какие только предлоги при этом не выдумываются! Ух, мы напишем свое - на ассемблере, будет работать быстрее, чем у этих буржуев, - а получается ускорение 5%... Ух, мы сэкономим память - 10 Кб... Зачем? Ух, мы реализуем такие крутые алгоритмы... Для чего? Конечно, проще запомнить пять операторов Си и всю жизнь писать на Turbo C, чем постоянно следить за новинками в области ИТ. Есть в этом и существенная вина компьютерных изданий.
Знакомые ребята две недели писали на Си++ навороченный элемент ListBox с динамическим включением графики, всплывающими (“желтенькими”) подсказками и еще кучей возможностей, да так и не сумели реализовать все задумки. Оказалось, все это (и многое-многое другое) есть, например, в библиотеке Ultimate Toolbox for MFC, включающей в себя 200 классов (новые классы добавляются каждые две недели). Она стоит 500 долл., что меньше расходов на выплаченную зарплату. Увы, узнали ребята об этой библиотеке поздновато.
Собственно, и покупка тиражируемого ПО - по сути типичное внедрение компонентных технологий (на концептуальном уровне). Все, что нужно для работы, составляется из готовых компонентов - ОС, текстового процессора, компилятора Си++. Никому не приходит в голову писать все это с нуля. Однако когда надо сделать следующий логический шаг - расширить набор готовых компонентов для повышения эффективности своей работы, возникает психологический барьер. Некоторые пользователи словно свыклись с мыслью, что ОС, всевозможные Word’ы или небольшие бухгалтерские программки как бы сами собой произрастают в недрах компьютеров - пришел на работу, а на ПК уже все установлено, а вот что более масштабные корпоративные системы в них пока самозарождаться не хотят, понять еще не могут. Не могут и либо терпеливо ждут такого зарождения, начитавшись статей про искусственную жизнь, либо нанимают программистов, которые должны быстренько сварганить КИС “под ключ”, и через некоторое время с удивлением обнаруживают, что процесс этот почему-то требует значительно большей - на порядки - суммы, чем планировалось вначале.
КИС - такой же компонент, как, допустим, готовый ActiveX-элемент паковки или шифрования данных или графическая кнопка, которые совсем не обязательно писать самому. Практически всё, что более-менее часто требуется при разработке программ, на рынке сегодня есть. Достаточно только заплатить 10 - 100 долл., сэкономив недели и месяцы собственного труда, и просто настроить купленный объект на свои нужды с помощью визуального редактора свойств.
Есть сейчас на рынке и практически всё, что более-менее часто требуется корпоративным пользователям. Достаточно только заплатить 10 - 100 тыс. долл. (для систем российского производства, доказавших свою эффективность на практике, это низкие цены, тут нет никакой иронии), сэкономив годы собственного труда и гораздо более значительные суммы, и просто настроить систему на свои нужды с помощью визуальных редакторов и встроенных макроязыков.
Ну так как, господа программисты и менеджеры, будем в очередной раз писать собственную “Зарплату” или все же попробуем компонентный подход? Второй вариант, по крайней мере, гарантирует определенную реальную отдачу.
Обзоры различных библиотек разработчиков и готовых компонентов регулярно публикуются на сайте www.pcweek.ru/kis в разделе “Технологии”, рубрика “Софт-обзоры”.
К автору статьи можно обратиться по адресу: sbo@pcweek.ru.