Wojna edytorów to potoczna nazwa rywalizacji między użytkownikami edytorów tekstu vi i Emacs. Rywalizacja ta stała się trwałą częścią kultury hakerów i społeczności wolnego oprogramowania.

Niewiele elementów oprogramowania jest bardziej uniwersalnych niż edytory tekstu. Wiele wojen płomieniowych zostało stoczonych między grupami, które upierają się, że ich edytor jest wzorem doskonałości edytowania i obrażają innych. Większość uczestników tych sporów zdaje sobie sprawę, że jest to (w dużej mierze) przejęzyczenie. Istnieją pokrewne bitwy o systemy operacyjne, języki programowania, a nawet styl wcięć kodu źródłowego.

Wojny edytorów są zwykle toczone między wyznawcami dwóch najpopularniejszych edytorów w systemach uniksopodobnych: vi i emacs. Kłótnie zwykle koncentrują się na nowoczesnych implementacjach tych dwóch edytorów, z których najpopularniejsze to vim i GNU emacs. Większość użytkowników tych systemów jest w pewnym stopniu zaznajomiona z obydwoma programami, zna je na tyle dobrze, że potrafi przynajmniej w podstawowym zakresie edytować tekst i dlatego uważa, że jest w stanie ocenić, który z nich jest „lepszy”. Obydwa edytory są rozbudowanymi i niezwykle potężnymi narzędziami, i mają raczej strome krzywe uczenia się, więc użytkownicy inwestują dużo czasu w poznanie edytora, którego używają. Ta konieczna inwestycja w czas skutkuje bardziej opiniotwórczymi użytkownikami.

Różnice między vi i Emacsem

Template:POV Najważniejsze różnice między vi i Emacsem są następujące:

  • Edycja vi zachowuje każdą permutację wpisywanych klawiszy. To tworzy ścieżkę w drzewie decyzyjnym, która jednoznacznie identyfikuje każde polecenie.
  • Polecenia Emacsa są kombinacją wpisanych klawiszy wykonywanych natychmiast, co pozostawia użytkownikowi wybór, czy użyć polecenia, czy nie.
  • vi jest mniejsze i szybsze, i (tradycyjnie przynajmniej) ma ograniczone możliwości dostosowywania.
  • Emacs wymaga więcej czasu na uruchomienie i wymaga więcej pamięci. Jednakże, jest wysoce konfigurowalny i zawiera dużą liczbę dzwonków i gwizdków, ponieważ jest to zasadniczo środowisko wykonawcze języka programowania Lisp, które uruchamia program Lisp zaprojektowany do edycji tekstu.
  • vi był tradycyjnie używany w konsoli w trybie tekstowym, nie posiadając graficznego interfejsu użytkownika (GUI) (chociaż vim ma jeden).
  • W przeciwieństwie do Emacsa, chociaż początkowo zaprojektowany do użytku w konsoli, dość wcześnie otrzymał GUI. Współczesne wersje obu dostarczają różne GUI.

Uwaga historyczna:

  • Różnica w zestawie funkcji i czasie uruchamiania wpływa na sposób w jaki edytory są używane: użytkownicy vi mają tendencję do wielokrotnego wchodzenia i wychodzenia z edytora, a do złożonych zadań używają powłoki uniksowej, podczas gdy użytkownicy Emacsa zazwyczaj pozostają w edytorze i używają samego Emacsa do złożonych zadań. Oba edytory są teraz zdolne do wydawania poleceń z powłoki.

Template:Copyedit

Zalety edytorów podobnych do vi

  • Podążają za filozofią „Kompozycji prostych narzędzi”
  • Mały rozmiar i trzyma się uniksowej filozofii „zrób jedną rzecz, i zrób to dobrze”. Unikaj Featuritis
  • szybszy niż Emacs (przynajmniej tradycyjnie)
  • działa we wszystkich systemach, które mogą zaimplementować standardową bibliotekę C, włączając DOS, Windows, Mac, BeOS, i systemy zgodne z POSIX
  • Oferuje uproszczone poruszanie się po tekście (początek|koniec linii|słowa|paragrafy…)
  • Może komponować polecenia z poruszaniem się, np.np. 6dd usuwa 6 linii
  • Pozwalają użytkownikowi trzymać palce na wierszu głównym, przez co wymagają mniej ruchów do edycji

Zalety Emacsa

  • Filozofia „Wszystko w zasięgu ręki”.
  • Brak przełączania trybów („wstawianie tekstu”, „poruszanie się i określanie poleceń”) (zobacz zalety vi; używa akordów metakey).
  • Większy zestaw poleceń niż vi.
  • Obsługa języków innych niż ASCII (chiński, …).
  • Rozszerzalny i konfigurowalny (wariant języka programowania Lisp – Emacs Lisp); lista niektórych miłych cech:
    • Specjalne tryby edycji dla dużej liczby języków programowania, znaczników, składu (Bash, C, Java, Lisp, LaTex, Wikipedia ….).
    • Może również emulować vi (znany jako „viper-mode”).
    • Może wykonywać obliczenia w kalendarzach Majów i Discordian (GNU Emacs).

Uwaga historyczna:

  • Wcześniej Emacs zawierał pomocny ekran wyjaśniający, jak wyjść, który był prezentowany po uruchomieniu programu. W tym czasie vi nie dostarczał takiej podpowiedzi, zmuszając wielu użytkowników, którzy nie mogli się zorientować, jak wyjść, by po prostu odłączyli swoje terminale.

Humor

Często, w pewnym momencie dyskusji, ktoś zwróci uwagę, że ed jest standardowym edytorem tekstu.

Wywiad z twórcą vi Billem Joyem z 1984 roku ujawnił, że on sam używał ed, co doprowadziło zwolenników Emacsa do powiedzenia, „nawet Bill Joy nie używa już vi.”

Kościół Emacsa, założony przez Richarda Stallmana, jest żartem, i chociaż odnosi się do vi jako „edytora bestii” (vi-vi-vi to 6-6-6 w cyfrach rzymskich), nie sprzeciwia się używaniu vi; raczej nazywa oprogramowanie własnościowe anatemą. („Używanie wolnodostępnej wersji vi nie jest grzechem; jest pokutą.”) Ma swoją własną grupę dyskusyjną, alt.religion.emacs, która zawiera posty rzekomo wspierające tę parodystyczną religię.

Oto typowy post:

Truly, our responsibility to spread the Gospel of the Gnu is weighty.Cleave to what is good. Remember the words the prophet Stallmanbrought down from the Mount MIT, graved in Lisp on tablets ofcrystalline lambda calculus.Only this true: Emacs is pure.All else is false.Do not be misled by false gods like Vi, the Editor of the Beast.Do not be seduced by Word, the Scarlet Woman of Babylon.Do not be driven to madness by Xcode, the Blind Priest of the Children of Asherath.When the wild winds of chaos blow, stay pure.When the universe collapses in shards around you, stay holy.When the gibbering hobgoblins of apostate Editors attack with shardsof broken syntax, seek the crystalline stillness within you.Brethren, ensure that you (Meta-x-say-hallel-to-Emacs) daily for otherwise you will be lost.When the Beast comes, only Emacs can save you.This was brought to you as a public service by the Holy and Ineffable Church of The Mighty Emacs.SUPPORT THIS CRUSADE WITH YOUR DONATIONS. EMAIL THE STILL BEATINGHEART OF A VILE VI USER TO emacs-highpriest@god-hates-vi-users

Stallman żartobliwie ogłosił się świętym IGNU-ciusem, świętym w Kościele Emacsa.

Wspierający vi stworzyli przeciwstawny Kult vi, argumentowany przez bardziej zatwardziałych użytkowników Emacsa jako próba „naśladowania swoich najlepszych”.

W odniesieniu do modalnej natury vi, niektórzy użytkownicy Emacsa żartują, że vi ma dwa tryby – „beep repeatedly” i „break everything”. Użytkownicy vi lubią żartować, że sekwencje klawiszy Emacsa wywołują zespół cieśni nadgarstka, lub wymieniać jedno z wielu satyrycznych rozwinięć akronimu EMACS, takich jak „Escape Meta Alt Control Shift” (żart z polegania Emacsa na klawiszach modyfikatorów).Inni twierdzą, że akronim ten w rzeczywistości oznacza „Eight Megabytes And Constantly Swapping” (w czasach, gdy była to ogromna ilość pamięci) lub „EMACS Makes Any Computer Slow” (akronim rekurencyjny, taki jak te używane przez Stallmana), w odniesieniu do wysokich wymagań systemowych Emacsa. Bardziej nowoczesny humorysta używa „Eventually Mallocs All Core Storage” jako swojego przyszłościowego dowcipu. Ci, którzy mają szczególny problem z GNU-owym smakiem EMACS-a (być może fani XEmacsa) mogą zaproponować „Generally Not Used, Except by Middle-Aged Computer Scientists” jako właściwe rozwinięcie.

As a poke at Emacs’ creeping featurism, vi advocates will describe Emacs as „a great operating system, lacking only a decent editor”.

Jest trochę dodatkowego humoru, który nabija się z vi w http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html, jak również z Lispa (związanego z Emacsem) w komiksie xkcd tutaj, tutaj i tutaj.

Word War vi jest humorystycznym shoot’em upem w stylu Defendera, opartym na wojnie edytorów.

Obecny stan wojny edytorów

W przeszłości, wiele małych edytorów wzorowanych na Emacsie lub wywodzących się z niego rozkwitało. Wynikało to z wagi oszczędzania pamięci przy stosunkowo niewielkiej ilości dostępnej w tamtym czasie. W dzisiejszych czasach, z dużą ilością pamięci, wiele wariantów vi, w szczególności Vim, urosło w rozmiarze i złożoności kodu. Te dzisiejsze warianty vi, podobnie jak stare lekkie warianty Emacsa, mają wiele z postrzeganych zalet i wad przeciwnej strony. Mianowicie, ostatnie wersje Vima mogą mieć więcej rozszerzeń i działać wolniej niż poprzednie wersje Emacsa. Ponadto, z dużą ilością pamięci RAM w nowoczesnych komputerach, zarówno vi jak i Emacs są stosunkowo lekkie w porównaniu do dużych IDE takich jak Eclipse, które mają tendencję do przyciągania drwin zarówno od użytkowników vi jak i Emacsa.

O’Reilly, firma, która sprzedaje samouczki Vima i Emacsa mówi, że Vim sprzedaje dwa razy więcej niż Emacs. Podczas imprezy paintballowej, około dwa razy więcej osób zapisało się na Vima niż Emacsa. Zostało to przez niektórych odebrane jako sugestia, że około dwa razy więcej osób woli Vima niż Emacsa. Jednakże zauważa się, że wielu zaawansowanych programistów używa Emacsa i jego różnych odłamów, w tym Linus Torvalds, który używa MicroEMACS.

W sesji Q&A z dziewięcioma wybitnymi programistami, na pytanie jakie są ich ulubione narzędzia, sześciu z nich wymieniło Emacsa.

W dodatku do vi i emacs workalikes, pico i jego klon wolnego oprogramowania nano oraz inne edytory często mają swoich własnych zwolenników w wojnach edytorów, choć nie w takim stopniu jak vi i emacs.

Template:ReflistTemplate:Refbegin

  • Sztuka programowania uniksowego: Template:Cite book

Template:Refend

  • Zasoby Kościoła Emacsa
  • Rules, Sins, Virtues, Bogowie i więcej o Kościele Emacsa
  • Święty Ignacy – w ujęciu Richarda Stallmana
  • Strona domowa miłośników Vi
  • $EDITOR sucks-rules-o-meter mierzy, którzy aktywiści edytora są bardziej widoczni w sieci
  • Ed jest standardowym edytorem tekstu
  • Recenzja Richarda przedstawiającego św. IGNUcias and the Church of Emacs

de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争

pl:Wojny edytorowe

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.