Jakie przeszkody stoją w obliczu procesu opracowywania przy użyciu zwykłych języków znaczników w przeciwieństwie do np. Microsoft Word? [Zamknięte]

33

Obecnie jestem stażystą u kontrahenta rządowego i mam (obrzydliwie nieuniknione) wrażenie, że Word jest de facto standardem w procesie tworzenia oprogramowania.

Jego format binarny bardzo utrudnia współpracę nad dokumentami w sposób, w jaki jestem przyzwyczajony do współpracy na bazie kodu. Użycie znaczników zwykłego tekstu (w takich językach, jak LaTeX, Markdown, ReStructured Text itp. ) Pozwala na utworzenie dokumentu przyjaznego dla różnic, który działa dobrze przy normalnym przepływie pracy programisty. Jeśli chodzi o komentarze, w których język ich nie obsługuje (np. Markdown), istnieje wiele istniejących rozwiązań, które umożliwiają wspólne komentowanie baz kodu (np. GitHub, Bitbucket), które można łatwo zastosować do innych plików tekstowych zawierających znaczniki.

Rozumiem, że potrzeba współpracy z niepiśmiennym technologicznie zarządzaniem wymaga pewnego rodzaju interfejsu graficznego do wszystkiego, ale takie interfejsy istnieją dla większości tych formatów. Na przykład LaTeX ma swego rodzaju „rozwidlenie” o nazwie LyX, które nadaje graficzny interfejs frontonowi tekstowemu składni podobnej do LaTeX-a. Ten plik, choć przede wszystkim graficzny w edycji, jest nadal przyjazny dla diff. (Ma nawet komentarze w stylu Worda). Wiele z tych rozwiązań można jeszcze zastosować zamiast Worda, a zdecydowana większość jest darmowa lub open source.

Używamy jednak programu Word nawet do naszej wewnętrznej dokumentacji, której nikt inny nie widzi. Pracujemy z tekstem przez znaczną część naszej kariery - dlaczego dokumentacja jest tak wyjątkowa? Oprócz banalnego „Nie wiedzieliśmy nic lepszego, a teraz utknęliśmy tutaj”, muszą istnieć powody przemawiające za taką decyzją. Jakie wyzwania stoją przed procesem tworzenia oprogramowania w zakresie korzystania z dokumentacji tekstowej zamiast innych, bardziej potocznych (i zdecydowanie mniej wydajnych) sposobów pisania dokumentów?

Ponieważ powody będą się różnić, być może należy osobno udzielić odpowiedzi na te dwa ściśle powiązane scenariusze.

  • Korzystanie z dokumentacji tekstowej od samego początku
  • Z czasem migracja do dokumentacji w postaci zwykłego tekstu
Sean Allred
źródło
2
z niezależnych powodów rozsądna może być migracja do nowszych wersji programu Word (Office 2007 / 12.0 i nowszych), których formaty dokumentów są oparte na XML. aktualne wersje openoffice, a zwłaszcza libreoffice, mogą być jeszcze lepszym wyborem - filtry importu / eksportu umożliwiają bezproblemową integrację z przepływem pracy opartym na słowach ms. co więcej, praca z językami znaczników przy tworzeniu stron wymaga wyższego poziomu abstrakcji i lepszej strukturyzacji pomysłów, a jednocześnie nie jest łatwa w pisaniu eksploracyjnym. i oczywiście interfejs MS Office jest zwyczajowy - nie wymaga szkolenia.
Collapsar
2
Nie jestem pewien, czy zgadzam się z twoją przesłanką - jestem pewien, że istnieje wiele miejsc, w których jeden lub inny język znaczników, ze względu na opisywane korzyści.
vaughandroid
1
Jak zauważył collapsar, dokumentacja słów w formacie XML jest bardzo łatwa do zaprogramowania (openxml sdk, ... (mogę doradzić ClosedXML i Novasoft.DocX ​​dla c #). Pochodząc ze środowisk akademickich TEX może wydawać się świetny, ale jeśli nie, używa się go, jest martwy. Krzywa uczenia się jest zdecydowanie za wysoka! Twoja matka i babcia prawdopodobnie wiedzą, co to jest słowo. Zapytaj ich o TEX, byłbym zaskoczony!
Mvision
1
I o ile interfejs użytkownika jest intuicyjny, jest to prawdą w przypadku dużej części normalnego przepływu pracy, ale rozkłada się na wszystko, co jest bardziej złożone. Zobacz superuser.com/questions/620454, a także zauważ, że sposobem aktualizacji spisu treści jest wstawienie nowego w środku i poczekanie na wyskakujące okienko. Sposobem na trwałe ignorowanie pisowni dla fragmentu tekstu jest ustawienie języka <-null. Czy coś z tego jest intuicyjne? Ale to poza tym. Zwykły tekst całkowicie ujawnia strukturę i zawartość dokumentu; bez bałaganu, bez zamieszania.
Sean Allred
1
@rath Absolutnie. Jeśli ktoś ma nadzieję doprowadzić niektórych młodych umysłów do ciemnej strony, komentarze / odpowiedzi na link powinny pomóc Ci zacząć. (Zwłaszcza prezentacja Jubobsa --- przesłał jej archiwum i jest bardzo dobre.)
Sean Allred

Odpowiedzi:

43

Wielu uczestników procesu opracowywania oprogramowania nie jest programistami i potrzebuje możliwości interakcji z dokumentacją niezależnie. Czy QA / Marketing powinien używać słowa, a programiści powinni używać czegoś zupełnie innego? Byłoby to niespójne, dodałoby kolejne narzędzie do łańcucha konserwacji, a dział informatyczny firmy może nie mieć pojęcia, co zrobić z plikami, gdy doskonale wiedzą, jak zarządzać magazynem dokumentów Word.

Przede wszystkim wielu nie-programistów spędzało lata na uniwersytecie, używając Microsoft Word do zmiany swojej pracy, często odbywając rzeczywiste szkolenia z zakresu używania słowa. Znają to znacznie lepiej niż alternatywy. Z trudem potrafię odróżnić różnicę, kiedy pracuję w Open Office vs. Word, ale kiedy moja szwagierka wykorzystała je, by zaoszczędzić pieniądze, tydzień później kazała swojemu mężowi kupić Słowo i ogłosiła: „Odkąd mam słowo, kocham mój nowy laptop! ”. Pomyśl o sposobie myślenia, który łączy takie rzeczy, niewielka zmiana tego, do czego są przyzwyczajeni, nie jest dla nich „niewielka”.

Nowoczesne słowo umożliwia także różnicę wersji, adnotacje ze śledzeniem wersji oraz scalanie zmian. Może to nie być tak proste, jak scalanie kodu, ale widziałem, jak wielu kierowników projektów robi to z łatwością, więc z pewnością deweloperzy też mogą to zrobić.

Poza tym zespoły deweloperów dość często zajmują się tworzeniem dokumentacji na stronach wiki, ponieważ wraca do reprezentacji tekstowej, pozostając na tyle prostym, że osoby, które nie są programistami, mogą edytować.

Jimmy Hoffa
źródło
7
Częściowo nie zgadzam się z twoim drugim akapitem: większość ludzi, z którymi pracuję, nie ma pojęcia o tym, jak używać Słowa i innych rzeczy. I ogólnie czuję się nieswojo z czymkolwiek, co nie przypomina czegoś, co wiedzą (wstążki ktoś? ;-)). Oznacza to, że można na nich cokolwiek wymusić. Reszta podsumowuje to niestety całkiem dobrze.
nietonfir
@nietonfir wow, z mojego doświadczenia wynika, że ​​słowo jest ulubionym narzędziem każdego PM i QA (czytaj: tylko)
Jimmy Hoffa
4
@JimmyHoffa Jest, ale większość nie wie, jak prawidłowo używać programu Word (np. Indeks, napisy do obrazów, nagłówki na pierwszej stronie, numeracja, nagłówki,…).
nietonfir
2
@JimmyHoffa: Tak, ale ile szkolenia to zrobili? A z ilu funkcji Worda naprawdę korzystają? IMHO większość z tych użytkowników może łatwo przejść na WordPad.
Przywróć Monikę - M. Schröder
O, cześć, @ MartinSchröder :-) Co do WordPada, podczas gdy większość autorów treści może nie wiedzieć, jak w pełni wykorzystać MS Word, ale niektórzy z nich to robią . Z mojego doświadczenia wynika, że ​​jest to niewielki zestaw zaawansowanych użytkowników, którzy ustawiają dokument (w kółko) dla użytkowników, którzy faktycznie dodają większość treści. Gdy ktoś chce dodać figurę, dodawany jest komentarz. (Utrzymanie dokumentu jako dokumentu staje się co najmniej pracą w niepełnym wymiarze godzin).
Sean Allred
4

Osobiście uważam, że to kwestia edukacji.

Większość ludzi została oszukana, by pomyśleć, że użycie narzędzia takiego jak MS Word ułatwia tworzenie wysokiej jakości dokumentów, ale z tego, co widziałem, w rzeczywistości utrudnia. W końcu musisz bez końca debugować formatowanie i walczyć ze swoimi narzędziami, aby uzyskać pożądany rezultat.

Narzędzia takie jak Scrivener pozwalają zbliżyć się do rzeczywistości dokumentu bez konieczności walki z nim tak, jak w przypadku programu Word. Częściowo z powodu realizacji WYSIWYG w rzeczywistości nie działa zbyt dobrze.

W mojej organizacji, im więcej osób używam MarkDown do większości potrzeb związanych z dokumentami, tym więcej ludzi jest szczęśliwszych i bardziej produktywnych.

aboy021
źródło
Czy naprawdę sugerujesz, że łatwiej jest „debugować” LaTeXa niż MS Word?
user253751,
@immibis LaTeX3 wie, że jest to problem (nawet LaTeX2e, ale nie udało mu się dotrzeć do sedna sprawy). Idealnie byłoby, gdyby kodowanie nie odbywało się na poziomie dokumentu (udostępnione autorowi). Wszystkie „debugowanie” odbywa się na poziomie kodu, w którym działają osoby znające język. Zaufaj mi, expl3komunikaty o błędach są znacznie bardziej pomocne :)
Sean Allred
@immibis W rzeczywistości łatwiej jest „debugować” LaTeXa niż MSWord. Istnieją dziwactwa dotyczące formatowania w MSWord, których nikt nie może naprawić bez modyfikacji samego programu MSWord. W takich przypadkach możesz poświęcić cały czas na naukę LaTeX -> TeX -> C -> Asembler, jakkolwiek głęboka jest potrzeba. Znam użytkowników spoza obszaru tworzenia oprogramowania, którzy mają dobrą praktyczną wiedzę na temat LaTeX i rzeczy takich jak pstricks. Za każdym razem wybierają LaTex zamiast Word. Oni zazwyczaj. nie robią dużo skomplikowanego debugowania, po prostu proszą kogoś o pomoc, co dla nich zdarza się rzadziej niż w MSWord.
wolfmanx
0

Naprawdę masz 2 pytania:

Po pierwsze: dlaczego grupy inne niż deweloperów nie używają LaTeXa lub innego Markdown w procesie tworzenia oprogramowania?

Problem z migracją do LaTeX polega na postrzeganej krzywej uczenia się, szczególnie w przypadku użytkowników nietechnicznych. Użytkownicy znają już inne formaty i nie chcą się uczyć innej metody robienia tego samego, co robią. Wiedzą niewiele, jeśli w ogóle, na temat różnicowania 2 dokumentów, więc przejście na format tekstowy jest niewielkie. Wyjaśnienie osobie, że masz rozwiązanie problemu, o którym nie wiedzieli, że jest, to dość trudna sprzedaż.

Nie można również nie docenić wartości pędu do przodu. Aby przejść do nowego formatu, naprawdę musisz przekonać inne osoby w łańcuchu, warto zainwestować w naukę czegoś nowego. Nawet jeśli nie spodziewasz się, że coś zmodyfikują. Migracja do nowego formatu wymaga czasu i dużego wysiłku, jeśli istniejący format działa (nawet jeśli źle).

Drugie pytanie: dlaczego mój zespół nadal korzysta z dokumentów słownych, gdy istnieją lepsze opcje i są w stanie się ich nauczyć?

Jest to coś, o czym powinieneś porozmawiać z ludźmi w swoim zespole. Mogą istnieć ważne powody, dla których decydują się na zachowanie dokumentów słownych, lub może tak być, ponieważ zawsze tak było.

Każda zmiana wiąże się z kosztami i przeniesienie setek lub tysięcy dokumentów do nowego formatu może być kosztowne i czasochłonne. Jeśli zamierzasz zmienić swoje środowisko, spodziewaj się, że powinieneś to zrobić

stoj
źródło
1
to nawet nie próbuje odpowiedzieć na pytanie: „Dlaczego języki znaczników zwykłego tekstu (takie jak LaTeX lub Markdown) nie są bardziej popularne w procesie tworzenia oprogramowania?”
komara
+0, ale zgodził się - byłoby to bardziej odpowiednie jako komentarz.
Sean Allred,
1
Po pierwszej edycji pytania stało się znacznie lepsze. @gnat, kolejne spojrzenie jest w porządku.
Sean Allred,