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

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

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

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

[x]. Тот, кто покупает больший и более быстрый компьютер, хочет видеть действительные выгоды от дополнительной мощности - решать новые задачи, более быстро работать со старыми задачами, решать более важные версии старых задач за то же время. Если новый компьютер решает старые задачи за то же самое время - это нехорошо!



9 из 838