Записки реликта - Post a comment [entries|archive|friends|userinfo]
Latimeria chalumnae

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Итак, почему Microsoft Word нельзя использовать никому Apr. 24th, 2008|12:34 am

uri
Точнее, почему его нельзя использовать никому, кто планирует передавать людям какие-то результаты такого использования помимо распечаток на бумаге.

Собственно, причин всего три: в ворд трудно поместить информацию, её неудобно в нём обрабатывать, а после обработки её трудно привести в пригодный для дальнейшего использования вид. =)

Теперь подробнее о каждой из этих проблем.

С первой всё просто: у ворда закрытый бинарный формат, с до сих пор, кажется, не опубликованными спецификациями; авторы всех читающих и/или пишущих его библиотек изучали его методом обратной разработки. Более того, нет даже гарантии, что вордовский же файл правильно воспримет другая (а хотя бы и та же) версия ворда на другой машине: думаю, каждый, кто регулярно им пользовался, сталкивался с этим. OO XML должен, по идее, избавить от части этих проблем; но, во-первых, и в нём хватает путаницы и неоднозначностей, во-вторых, пока его мало где можно встретить, в-третьих, офис2007 имеет настолько убогий интерфейс, что это сводит на нет преимущества нового формата.

Передача в ворд данных из специализированного приложения часто требует "настоящего" программирования там, где более разумные средства подготовки текстов вообще не требуют усилий или позволяют обойтись выражением sed, трёхстрочным скриптом на Перле, XSL-файлом на те же три строчки или ещё чем-то подобным. Другие текстовые форматы, как правило, в ворд переводятся тоже плохо и, что немаловажно, необратимо.

Вторая проблема: ворд это WYSIWYG-приложение, почти без возможности непосредственного контроля разметки и без чёткого разделения логической и визуальной структуры. Хуже того, интерфейс ворда навязывает пользователю их смешение, с неизменно катастрофическими последствиями. Ну, об этом хорошо сказано в статье, ссылку на которую я привожу в исходном посте. Кроме того (на самом деле, в результате сочетания убогости формата и выбранной парадигмы интерфейса) ворд совершенно не предназначен для а)совместной работы, б)контроля версий. Wiki или (DocBook|Latex)+Subversion для этого настолько удобнее, что даже как-то странно сравнивать. (На всякий случай: я знаю, что такое SharePoint, у нас в конторе, к сожалению, пытаются его использовать; это выдающееся уродство даже на фоне других изделий Microsoft; могу подробнее написать, почему.)

Третья причина не использовать ворд отчасти пересекается с первой: результаты его работы малопригодны для дальнейшей обработки в силу а)кривости формата (впрочем, об этом уже сказано); б)малоразвитых средств контроля над логической структурой документа, в результате чего, например, из вордовского документа нельзя получить человекочитаемый HTML- или LaTeX-файл (впрочем, сказано и об этом); в)непредсказуемости устройства выходного файла — в зависимости от действий пользователя во время редактирования этот файл может содержать самую странную информацию.

В фирме, в которой я работаю, я (как и ещё несколько людей с опытом работы в разумно управляемых проектах) по мере сил пытаюсь вместо ворда внедрить вики для внутренней документации, Doxygen для программистской и DocBook для пользовательской. У тех сотрудников, которых удаётся убедить откзаться от ворда, количество работы уменьшается в разы (и возрастает её качество).

Да, как правило, уважаемые коллеги при этом плохо знают ворд и неадекватно его используют. Но это, мне кажется, как раз пример того, чего стоит "дружественный" интерфейс: нужные им возможности ворда закопаны гораздо глубже, чем соответствующая функциональность вики или DocBook.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: