На своей шкуре
Я тебя проинтегрирую!
В старинном математическом анекдоте некий обитатель желтого дома грозил прочим пациентам: "Я тебя продифференцирую". В конце концов один из пугаемых парировал: "А я – е в степени икс". Пугать стало нечем: эта функция при дифференцировании не изменяется.
Пациент поумнее пугал бы интегрированием. Оно меняет даже эту неустрашимую функцию: к ней, как к любой другой, добавляется произвольная константа – а кто знает, какую константу предпочтет ретивый интегратор!
Впрочем, даже самая произвольная константа – мелочь на фоне изменений, которые претерпевают при интеграции привычные нам программы.
Лично я с интегрированными пакетами работал нечасто. Именно из-за этих изменений. Один пример Во всех версиях интегрированного пакета MS Works, с которыми мне приходилось работать, редактор текстов не умел выравнивать строки с обоих краев. Выравнивать вправо, влево, центрировать – мог. А вот растягивать межсловные пробелы, создав правильные колонки, в Works for DOS приходится вручную, а в Windows – вообще неясно как.
И ведь это не от неумения программистов. Текстовый процессор Word, разработанный той же Мелкой Мякотью, выравнивать строки по ширине умел с момента рождения.
Зато Word не умеет варьировать ширину символов. Это искусство обязательно для любой программы оформления текстов – даже такой бедной, как MS Publisher. Опять странность: неужели программисты Word не могли списать у своих же коллег готовое решение? Тем более что изменение ширины шрифта в Windows обеспечивает в конечном счете интерпретатор шрифтового формата True Type, к которому и обращаются все программы работы с текстом, включая Works, Word, Publisher и еще десятки других.
Вообще, по части инструментов собственно редактирования текста Word безнадежно отстает от других текстовых редакторов. Мощнейший из известных мне – MultiEdit (American Cybernetics) настолько богат такими инструментами, что я и по сей день готовлю тексты чаще всего в нем, а потом уже переношу в Windows и оформляю там.
Можно было бы все это списать на известную рыночную лень Microsoft: фирма изготовляет исключительно ширпотреб, рассчитанный на массового пользователя с минимальными требованиями. Но в изделиях других фирм видны столь же странные перекосы и пробелы.
Первая и самая популярная издательская система PageMaker (изделие фирмы Aldus, недавно "съеденной" фирмой Adobe) по сей день не оснащена сколь-нибудь приемлемыми средствами формирования таблиц. А то, что есть, не встроено в систему – это отдельная программа, изделия которой приходится вставлять в издание, как рисунки. Естественно, большинство пользователей предпочитает готовить таблицы в других программах, куда более удобных для этого – чаще всего в MS Excel или MS Word.
Любимый мною MultiEdit неизменно мощнее "Лексикона" по части актирования текста. Зато лишен собственных средств манипуляций со шрифтами, хотя и умеет использовать те средства, которыми располагают принтеры. Но работает он только с теми шрифтами, которые в принтер встроены. И, естественно, не изображает на экране конечный вид текста. Не зря он (в отличие от "Лексикона") зовется редактором, а не текстовым процессором.
Почти в каждой программе легко найти крайне полезные черты, отсутствующие у других изделий того же назначения. И приходится зачастую держать несколько сходных программ, добиваясь нужных эффектов их комбинированием. Поневоле задаешься вопросом: неужели разработчики не могут друг у друга учиться?
В какой-то мере и учатся. Нынешние версии MS Excel, Lotus 1-2-3, Novell (купленная у Borland) Quattro Pro отличаются друг от друга неизмеримо меньше, чем первоначальные. Каждая из этих таблиц позаимствовала у других множество полезных свойств. Но явно не все. По той же причине, по какой Word хуже редактирует, чем MultiEdit, и хуже оформляет, чем PageMaker.
Причина эта – то, что Word лучше оформляет, чем MultiEdit, и лучше редактирует, чем PageMaker.
Память человека ограничена. Единовременно он может фокусировать внимание вообще не более чем на семи одинаково важных вещах. Да и в разное время вряд ли вспомнит сотни возможностей, заложенных в действительно серьезную программу.
Статистика показывает: 80 процентов пользователей любой из нынешних массовых офисных программ используют не более 20 процентов возможностей последних. Это, впрочем, лишь одно из проявлений старого правила "20-80": 20 процентов работающих делают 80 процентов работы.
А если так, к чему оснащать каждую программу всеми мыслимыми инструментами? Все равно их будут использовать лишь немногие профессионалы. А профессионал сможет освоить несколько программ и из каждой выбирать нужные ему средства.
В интегрированные пакеты класса Works приходится включать вообще лишь минимум самых необходимых возможностей. Ибо интегрированными программами пользуются те, кому нужно всего понемножку. Кто не желает заучивать сотни пунктов и ключей, нужных раз в год, и то високосный.
Конечно, и интегрированные пакеты пополняются. Но лишь теми средствами, которые прошли обкатку в специализированных программах. Доказали свою полезность. Стали общеприняты настолько, что обходиться без них уже неприлично.
Не зря в последние годы столь популярна идея интеграции готовых программ. Пакеты Office (Microsoft, Lotus, Perfect) образованы путем сложения уже готовых и достаточно популярных текстовых процессоров, электронных таблиц, баз данных... Их лишь обучают понимать форматы файлов друг друга и пользоваться стандартными в Windows средствами межпрограммного обмена информацией. Но такая плотная интеграция, как в Works, где иной раз вообще непонятно, работаешь ты с таблицей или с базой данных, в этих пакетах не обеспечивается. Незачем: человек, владеющий всеми этими программами, знает, как с одной на другую переключиться.
Тем более что в многозадачной Windows проблем с переключением не возникает – в отличие от DOS, где много инструментов в одну программу включают вынужденно: для перехода к инструментам другой программы нужно выйти из текущей.
Ныне в моде объектно-ориентированное программирование. Предполагается, что отдельно созданные объекты – структуры данных и инструменты их обработки – можно будет использовать многократно в составе разных задач. Если это получится, каждый из нас сможет интегрировать системы по своему вкусу и потребностям, компонуя все нужное для его задач и удобное для его стиля работы.
Подобных эффектов можно будет добиться, когда пользователи привыкнут к многозадачности, а операционные системы будут ее поддерживать без нынешних непомерных накладных расходов. На СМ-2 мне доводилось, например, рассчитывать технико-экономические показатели производства или отображать технологические параметры завода системой, составленной из двух десятков отдельно написанных программ. Все они работали параллельно и активно обменивались информацией. Составляя расписания этого обмена, удавалось решать одним и тем же набором независимых программ задачи, не имеющие ничего общего.
А пока рекомендую тем читателям, которым срочно необходимо выполнять несложные типовые работы, использовать какой-нибудь интегрированный пакет. Но если понадобится сделать что-нибудь на высоком уровне и с комфортом – не пожалейте времени на освоение соответствующих специализированных программ. Окупится!