Какие препятствия стоят перед процессом разработки при использовании языков разметки простого текста, в отличие от, например, Microsoft Word? [закрыто]

33

В настоящее время я стажер в правительственном подрядчике, и у меня появляется (неприятно неизбежное) ощущение, что Word является стандартом де-факто в процессе разработки программного обеспечения.

Его двоичный формат очень затрудняет совместную работу с документами так, как я привык работать на основе кода. Использование простой текстовой разметки (с такими языками, как LaTeX, Markdown, ReStructured Text и т. Д. ) Позволяет создавать документы , удобные для сравнения, которые хорошо сочетаются с обычным рабочим процессом разработчика. Что касается комментариев, в которых язык их не поддерживает (например, Markdown), существует много существующих решений, которые позволяют совместно использовать комментарии на основе кода (например, GitHub, Bitbucket), которые можно легко применить к другим текстовым файлам, содержащим разметку.

Я понимаю, что необходимость сотрудничать с технологически неграмотным менеджментом требует какого-то графического интерфейса ко всему, но такие интерфейсы существуют для большинства этих форматов. Например, LaTeX имеет своего рода «форк», называемый LyX, который помещает графический интерфейс в простой текстовый, LaTeX-подобный синтаксис. Этот файл, хотя и является в основном графическим при редактировании, по- прежнему удобен для использования в разных форматах. (У него даже есть комментарии в стиле Word.) Многие из этих решений могут быть использованы вместо Word, и подавляющее большинство из них бесплатны или имеют открытый исходный код.

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

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

  • Использование простой текстовой документации с самого начала
  • Миграция в текстовую документацию с течением времени
Шон Оллред
источник
2
по независимым причинам было бы целесообразно перейти на более новые версии слова (Office 2007 / 12.0 и выше), чьи форматы документов основаны на xml. Современные версии openoffice и особенно libreoffice могут быть даже лучшим выбором - фильтры импорта / экспорта позволяют бесшовную интеграцию с рабочим процессом на основе MS Word. Более того, работа с языками разметки при настройке страниц требует более высокого уровня абстракции и более раннего структурирования идей, в то же время нелегко поддерживая предварительное написание. и, конечно, пользовательский интерфейс MS Office является обычным - обучение не требуется.
коллапсар
2
Я не уверен, что согласен с вашей посылкой - я уверен, что есть много мест, на которых один или другой язык разметки, из-за преимуществ, которые вы описываете.
vaughandroid
1
Как указал коллапсар, документацию по словам на основе XML очень легко программировать (openxml sdk, ... (я могу посоветовать ClosedXML и Novasoft.DocX ​​для c #). Если исходить из академической среды, TEX может показаться отличным, но если нет - один использует его, он так же хорош, как мертвый. Кривая обучения слишком высока! Ваша мать и бабушка, вероятно, знают, что такое слово. Спросите их о TEX, я был бы удивлен!
Mvision
1
И поскольку пользовательский интерфейс интуитивно понятен, это справедливо для большей части рабочего процесса на уровне клише, но не подходит для чего-то более сложного. См. Superuser.com/questions/620454, а также обратите внимание, что способ обновить оглавление - вставить новый в середину и дождаться появления всплывающего окна. Способ постоянно игнорировать правописание для фрагмента текста - установить язык <-null. Это интуитивно понятно? Но это не главное. Простой текст полностью раскрывает структуру и содержание документа; нет беспорядка, нет суеты.
Шон Оллред
1
@rath Абсолютно. Если кто-то надеется привлечь некоторые молодые умы к темной стороне, комментарии / ответы по ссылке должны помочь вам начать. (Особенно презентация Джубобса - он загрузил архив, и это очень хорошо.)
Шон Оллред

Ответы:

43

Многие участники процесса разработки программного обеспечения не являются разработчиками и нуждаются в способности взаимодействовать с документацией. Должен ли QA / Marketing использовать слово, а разработчики использовать что-то еще полностью? Это было бы непоследовательным, это добавило бы еще один инструмент в цепочку обслуживания, и ИТ-отдел компании может не иметь представления о том, что делать с файлами, когда они прекрасно знают, как управлять / поддерживать хранилище текстовых документов.

Помимо всего прочего, многие не разработчики провели годы в университете, используя Microsoft Word, чтобы превратить свою работу, часто проводя практические занятия по тому, как использовать слово. Они знают это намного лучше, чем альтернативы. Я не могу понять разницу, когда я работаю в Open Office против Word, но когда моя золовка использовала его, чтобы сэкономить деньги, через неделю она заставила своего мужа купить ее Word и провозгласила: «Поскольку я получил слово, которое я люблю мой новый ноутбук! Подумайте об образе мышления, который объединяет подобные вещи, небольшое изменение в том, к чему они привыкли, не является «легким» для них.

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

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

Джимми Хоффа
источник
7
Я частично не согласен с вашим вторым параграфом: большинство людей, с которыми я работаю, понятия не имеют о том, как использовать Word и прочее. И вообще чувствую себя некомфортно из-за чего-то, что не похоже на то, что они знают (кому-нибудь ленты? ;-)). Это означает, что на них можно навязать что угодно. Остальное суммирует это довольно хорошо, к сожалению.
nietonfir
@nietonfir Ух ты, по моему опыту, слово - это каждый любимый инструмент для PM и QA (только для чтения)
Джимми Хоффа
4
@JimmyHoffa Это так, но большинство не знает, как правильно использовать Word (например, индекс, субтитры к картинкам, заголовки первой страницы, нумерации, заголовки и т. Д.).
nietonfir
2
@JimmyHoffa: Да, но какую подготовку они получили для этого? И сколько функций Word они действительно используют? ИМХО большинство из этих пользователей могут легко переключиться на комп.
Восстановить Монику - М. Шредер
О, привет, @ MartinSchröder :-) Что касается WordPad, хотя большинство авторов контента могут не знать, как использовать MS Word для его полного «потенциала», некоторые из них понимают . По моему опыту, это небольшой набор опытных пользователей, которые настраивают документ (снова и снова) для пользователей, которые фактически добавляют большую часть контента. Когда кто-то хочет добавить рисунок, добавляется комментарий. (Сохранение документа как документа , таким образом, становится по крайней мере неполный рабочий день.)
Шон Оллред
4

Лично я думаю, что это проблема образования.

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

Такие инструменты, как Scrivener, позволяют вам немного приблизиться к реальности документа без необходимости бороться с ним, как с Word. Отчасти из-за реализации WYSIWYG на самом деле не очень хорошо работает.

В моей собственной организации, чем больше людей переходят на использование MarkDown для удовлетворения большинства потребностей в документах, тем больше людей становятся счастливее и продуктивнее.

aboy021
источник
Вы действительно предполагаете, что легче "отладить" LaTeX, чем MS Word?
user253751
@immibis LaTeX3 знает, что это проблема (даже LaTeX2e, но он не смог понять суть). В идеале, кодирование не выполняется на уровне документа (предоставлено автору). Вся «отладка» выполняется на уровне кода, где работают люди, знакомые с языком. Поверьте мне, expl3сообщения об ошибках гораздо более полезны :)
Шон Оллред
@immibis «Отладить» LaTeX на самом деле проще, чем MSWord. В MSWord есть причуды форматирования, которые никто не может исправить, не изменив саму программу MSWord. В этих случаях вы можете потратить все время на изучение LaTeX -> TeX -> C -> Assembler, сколь бы глубоким вам не пришлось заниматься. Я знаю пользователей за пределами области разработки программного обеспечения, которые хорошо разбираются в LaTeX и таких вещах, как pstricks. Они выбирают LaTex вместо Word каждый раз. Они усу. не выполняйте сложную отладку, просто попросите кого-нибудь о помощи, что для них случается не так часто, как с MSWord.
wolfmanx
0

У вас действительно есть 2 вопроса:

Первое: почему группы, не занимающиеся разработкой, не используют LaTeX или другие Markdown в процессе разработки программного обеспечения?

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

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

Второй вопрос: почему моя команда продолжает использовать текстовые документы, когда есть лучшие варианты, и они более чем способны их изучить?

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

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

stoj
источник
1
это даже не пытается ответить на заданный вопрос: «Почему языки разметки простого текста (такие как LaTeX или Markdown) не более популярны в процессе разработки программного обеспечения?»
комнат
+0, но согласился - это было бы более уместно в качестве комментария.
Шон Оллред
1
После первого редактирования вопрос стал намного лучше. @gnat, другой взгляд в порядке.
Шон Оллред