Программисты должны отказаться от ручной оптимизации сгенерированных приложений.

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

По его мнению, любители ручных коробок передач предпочитают быстрее выполнять лишнюю работу, чем лишиться возможности более тонкого управления, чем, возможно, объясняется высокая эффективность их разработок. Громадное количество программистов одержимы страстью к тонкой настройке, из-за чего пользователи, думающие не о множестве опций, а о своей работе, обречены влачить жалкое существование.

В наши дни программистам из тех, кто поднимали руки на занятиях у Нельсона, вообще ничего не следует разрабатывать.

Мотив, что и говорить, достаточно траурный, но берусь доказать, что мое высказывание отражает истинное положение вещей: корпоративные информационные службы более не могут позволять себе брать на работу любителей тонкой настройки. Мы не в состоянии себе позволить прибегать к услугам программистов, тратящих время на трудоемкую оптимизацию циклов, разработку подпрограмм в машинных кодах и использующих преимущества недокументированных средств.

Другими словами, мы не можем себе позволить делать то, что нам нравится.

Поймите меня правильно: я сам люблю писать подпрограммы на ассемблере. Компьютер - великое изобретение, и я никогда не устану экспериментировать с ним. Но отделы информационных систем не могут себе этого позволить. А все из-за того, что аппаратное обеспечение дешевеет на глазах, а технологии меняются слишком быстро, и задолженности в отношении программного обеспечения растут столь стремительно, что просто преступно тратить время на всякие излишества. Гораздо дешевле и эффективнее модернизировать оборудование, чем изобретать и оптимизировать хитроумные процедуры.

Мы не можем себе этого позволить еще и потому, что все эти замысловатые программные уловки обходятся нам слишком дорого.

К примеру, широкоизвестная проблема 2000 года возникла вследствие разумного предложения использовать только две последние цифры года. В свое время благодаря этому удалось сэкономить определенное количество дорогостоящего дискового пространства и сократить время обработки. Но на сегодняшний день и дисковое пространство, и вычислительная мощность процессора обходятся достаточно дешево, а вот на решение проблемы 2000 года уйдут триллионы долларов.

Предприятия, занимающиеся разработкой информационных систем, располагают большим количеством приложений для мэйнфреймов; в эти приложения позднее вносились хитроумные исправления, "благодаря" которым их техническая поддержка стала напоминать ночной кошмар. Даже в более новых программах, написанных с использованием Visual Basic и PowerBuilder, применяются разнообразные приемы и недокументированные возможности, из-за которых они утратят какую-либо ценность, если Microsoft или Sybase модернизируют свои средства разработки приложений.

Мы не можем позволить себе "увязнуть" в решении подобных проблем. Пришло время переходить на автоматические коробки передач.

Разработчикам придется осознать, что они не просто обычные программисты. Это означает, что они должны начать пользоваться визуальными средствами, автоматически генерирующими код программы и, как это ни печально, отказаться от ручной оптимизации сгенерированных приложений.

Проектным администраторам следует обратить внимание на соответствующие средства и приложить все усилия к тому, чтобы время разработчиков уходило только на решение проблем первой необходимости и упрощение пользовательских интерфейсов.

А руководству придется вложить средства в закупку дешевеющего оборудования, что необходимо для достижения более высокой производительности, расставшись с надеждами на то, что благодаря хитроумным программным трюкам им удастся несколько увеличить быстродействие.

Станет ли работа в отделах информационных систем с приходом новых инструментальных средств менее интересной? Возможно. Однако в противном случае вам никогда не поспеть за конкурентами. Либо вы сегодня откажетесь от ручных коробок передач, либо завтра вам будет не на чем ездить.


Фрэнк Хэйес - редактор Computerworld. Адрес его электронной почты: frank_hayes@cw.com.