Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #55, ИЮНЬ 2005 г.

Эволюция софта

Крис Касперски ака мыщъх

Спецвыпуск: Хакер, номер #055, стр. 055-056-1


(FreeBSD@smtp.ru)

Как будет меняться программное обеспечение

Каким будет программное обеспечение в будущем? И будет ли оно вообще? Вот, например, я считаю, что оно в конечном счете исчезнет как таковое. Компьютер преобразится настолько, что потеряет право называться "компьютером" в привычном для нас понимании. Хочешь знать почему? Ответ даст эта статья.

Отрасль программного обеспечения невероятно молода. Гораздо моложе мостостроения или автомобилестроения, например. Первые персональные компьютеры появились каких-то 20-30 лет назад (восьмибитные машины с полусотней килобайт оперативной памяти при всем моем уважением к ним компьютером все-таки не являются: это радиконструктор для энтузиастов и инженеров). Неудивительно, что программное обеспечение постоянно сопровождают разрушительные потрясения, а генеральная линия развития движется прямиком к пропасти. Программное обеспечение тяжелеет, становится все более запутанным, неповоротливым и нефункциональным. Хочешь пример? Пожалуйста: нарисуй мне затухающую синусоиду в любом графическом пакете. Хоть в Corel'e, хоть в Photoshop'e. Что?! Не получается? А ведь на ZX Spectrum и прочих древних компьютерах это делалось за пять минут без всяких проблем. Можно, конечно, поставить MS Visual Studio/Visual Basic или даже Delphi, но и времени на программирование уйдет немало.

Присмотрись к секретарше, набивающий текст в Word'е. По меньшей мере половину времени она проводит за рутинными операциями, которые можно (и нужно!) автоматизировать. Только она не знает как. Поддержка макросов спроектирована так, что отпугивает даже опытных пользователей и программистов, не говоря уже о слабом поле в его подавляющем большинстве. И таких примеров можно найти сколько угодно.

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

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

Не останется, но, благо, еще не скоро. Пока же компьютеры совершенствуются именно как "компьютеры", а вместе с ними "совершенствуется" программное обеспечение. Сразу встает вопрос, как будет выглядеть такое ПО (выглядеть наверняка будет очень круто, только вот прибавится ли от этого usability? - прим. Горл) и что оно будет представлять собой? Посмотрим.

Графический интерфейс vs. командная строка

Существует два типа интерфейсов: ориентированные на простоту обучения и ориентированные на удобно использования. Практически все Windows-приложения принадлежат к первому типу. Они красивые, более или менее интуитивные понятные, но ужасно непроизводительные. Речь идет отнюдь не о потребляемой мощности (тактовую частоту процессора легко нарастить), а о скорости выполнения типовых операций. Вернемся к Word'у. Вот мы сидим, набиваем текст, возможно, даже не глядя ни на экран, ни на клавиатуру (а опытные машинистки именно так и поступают). Теперь файл необходимо сохранить. Мы отрываем руку от клавиатуры, нащупываем мышь, резким движением находим курсор, подводим его к соответствующей иконке (ее тоже надо найти и попасть!), нажимаем. На экране появляется диалоговое окно. Перемещаем мышь, выбираем папку, возвращаемся к клавиатуре, даем имя файлу, возвращаемся к мыши, нажимаем ОК. А вот в FAR'е для этого нажать <Shift-F4>, ввести имя файла с путем, затем <Enter>, не переключая фокуса внимания и ни на секунду не отрываясь от клавиатуры. Возьмем другой пример: нам необходимо напечатать 33 символа звездочки. В Word'е мы как полные идиоты будем тупо жать звездочку тридцать три раза подряд, а потом столько же раз пересчитывать - не сбились ли случайно мы. А вот в vi, как и в любом другом нормальном редакторе, достаточно указать последовательность нажатий, сказав, сколько раз мы хотим ее повторять. Или вдруг потребовалось нам во всех документах, напечатанных за последние три дня, заменить Васю Пупкина на Мишу Козлова. Увы, глобальной замены Word не поддерживает. Как и регулярных выражений. А если в следующих версиях и поддержит - это будет вещь в себе. Прикрутить perl к нему наверняка будет невозможно.

Содержание  Вперед на стр. 055-056-2