Editor war è il nome comune della rivalità tra gli utenti degli editor di testo vi ed Emacs. La rivalità è diventata una parte duratura della cultura hacker e della comunità del software libero.
Poche parti del software sono più universali degli editor di testo. Molte guerre di fiamma sono state combattute tra gruppi che insistono che il loro editor di scelta è il modello di perfezione dell’editing, e insultano gli altri. La maggior parte dei partecipanti a queste discussioni riconosce che è (in gran parte) ironico. Ci sono battaglie correlate sui sistemi operativi, sui linguaggi di programmazione, e persino sullo stile di rientro del codice sorgente.
Le guerre per gli editor sono solitamente combattute tra i devoti dei due editor più popolari sui sistemi Unix-like: vi ed emacs. Le discussioni di solito si concentrano sulle moderne implementazioni di questi due editor, i più popolari dei quali sono vim e GNU emacs. La maggior parte degli utenti di questi sistemi hanno una certa familiarità con entrambi i programmi, conoscendoli abbastanza bene da fare almeno un po’ di editing di testo di base, e quindi si sentono ben posizionati per dare un giudizio su quale sia “migliore”. Entrambi gli editor sono strumenti estesi ed estremamente potenti, e hanno curve di apprendimento piuttosto ripide, così gli utenti investono molto tempo per conoscere l’editor che usano. Questo necessario investimento di tempo si traduce in utenti con più opinioni.
Differenze tra vi ed Emacs
Template:POV Le differenze più importanti tra vi ed Emacs sono:
- L’editing di vi conserva ogni permutazione dei tasti digitati. Questo crea un percorso nell’albero decisionale che identifica senza ambiguità qualsiasi comando.
- I comandi di Emacs sono una combinazione di tasti digitati eseguiti immediatamente, il che lascia all’utente la scelta di usare o meno un comando.
- vi è più piccolo e veloce, e (almeno tradizionalmente) ha limitate capacità di personalizzazione.
- Emacs richiede più tempo per avviarsi e più memoria. Tuttavia, è altamente personalizzabile e include un gran numero di campanelli e fischietti, poiché è essenzialmente un ambiente di esecuzione del linguaggio di programmazione Lisp che esegue un programma Lisp progettato per l’editing del testo.
- vi era tradizionalmente usato all’interno di una console in modalità testo, non avendo un’interfaccia grafica (GUI) (anche se vim ne ha una).
- Mentre Emacs, sebbene inizialmente progettato per essere usato su una console, ha sviluppato una GUI abbastanza presto. Le versioni moderne di entrambi forniscono varie GUI.
Rilevazione storica:
- La differenza nel set di funzioni e nel tempo di avvio tende a influenzare il modo in cui gli editor sono usati: gli utenti di vi tendono a entrare e uscire dall’editor ripetutamente, e usano la shell Unix per compiti complessi, mentre gli utenti di Emacs di solito rimangono all’interno dell’editor e usano Emacs stesso per compiti complessi. Entrambi gli editor sono ora in grado di emettere comandi dalla shell.
Template:Copyedit
Benefici degli editor vi-like
- Seguono la filosofia della “Composizione di strumenti semplici”
- Sono di piccole dimensioni e si attengono alla filosofia Unix “fai una cosa, e falla bene”. Evita la featuralità
- Più veloce di Emacs (almeno tradizionalmente)
- Funziona in tutti i sistemi che possono implementare la libreria C standard, inclusi DOS, Windows, Mac, BeOS, e sistemi conformi a POSIX
- Offre un movimento semplificato sul testo (inizio|fine delle linee|parola|paragrafo …)
- Può comporre comandi con movimento, es.es. 6dd cancella 6 righe
- Permette all’utente di mantenere le dita sulla riga iniziale, richiedendo così meno movimento per modificare
Benefici di Emacs
- Filosofia del “tutto a portata di mano”
- Nessun cambio di modalità (“inserimento del testo”, “muoversi e specificare i comandi”) (vedi benefici di vi; usa accordi metakey).
- Maggior numero di comandi rispetto a vi.
- Supporto di lingue non ASCII (cinese, …).
- Extensibile e personalizzabile (variante del linguaggio di programmazione Lisp – Emacs Lisp); lista di alcune belle caratteristiche:
- Modalità di editing speciali per un gran numero di linguaggi di programmazione, markup, composizione (Bash, C, Java, Lisp, LaTex, Wikipedia ….).
- Può anche emulare vi (noto come “viper-mode”).
- Può eseguire calcoli nei calendari Maya e Discordian (GNU Emacs).
Rilevazione storica:
- Presto, Emacs includeva un’utile schermata che spiegava come uscire, presentata all’avvio del programma. All’epoca, vi non forniva un tale suggerimento, costringendo molti utenti che non riuscivano a capire come uscire a disconnettere semplicemente i loro terminali.
Umorismo
Frequentemente, ad un certo punto della discussione, qualcuno farà notare che ed è l’editor di testo standard.
Un’intervista del 1984 con il creatore di vi, Bill Joy, rivelò che lui stesso usava ed, il che portò i sostenitori di Emacs a dire: “persino Bill Joy non usa più vi.”
La Chiesa di Emacs, formata da Richard Stallman, è una battuta, e mentre si riferisce a vi come “l’editor della bestia” (vi-vi-vi essendo 6-6-6 in numeri romani), non si oppone all’uso di vi; piuttosto, chiama il software proprietario un anatema. (“Usare una versione free-software di vi non è un peccato; è una penitenza.”) Ha il suo newsgroup, alt.religion.emacs, che ha post che pretendono di sostenere questa religione parodistica.
Ecco un tipico 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 ha scherzosamente dichiarato di essere San IGNU-cius, un santo nella Chiesa di Emacs.
I sostenitori di vi hanno creato un opposto Culto di vi, sostenuto dagli utenti di Emacs più duri come un tentativo di “scimmiottare i loro migliori”.
Per quanto riguarda la natura modale di vi, alcuni utenti di Emacs scherzano sul fatto che vi ha due modalità – “bip ripetutamente” e “rompi tutto”. Gli utenti di vi si divertono a scherzare sul fatto che le sequenze di tasti di Emacs inducono la sindrome del tunnel carpale, o a citare una delle tante espansioni satiriche dell’acronimo EMACS, come “Escape Meta Alt Control Shift” (una battuta sulla dipendenza di Emacs dai tasti di modifica).Altri hanno ipotizzato che questo acronimo in realtà significhi “Eight Megabytes And Constantly Swapping” (in un tempo in cui questa era una grande quantità di memoria) o “EMACS Makes Any Computer Slow” (un acronimo ricorsivo come quelli usati da Stallman), in riferimento alle elevate richieste di risorse di sistema di Emacs. L’umorista più moderno usa “Eventually Mallocs All Core Storage” come arguzia a prova di futuro. Coloro che hanno una particolare lamentela con il gusto GNU di EMACS (forse un fan di XEmacs) possono proporre “Generally Not Used, Except by Middle-Aged Computer Scientists” come espansione appropriata.
Come una battuta sul featurismo strisciante di Emacs, i sostenitori di vi descriveranno Emacs come “un grande sistema operativo, a cui manca solo un editor decente”.
C’è dell’umorismo aggiuntivo che prende in giro vi in http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html, così come Lisp (associato a Emacs) nel fumetto xkcd qui, qui e qui.
Word War vi è un divertente sparatutto simile a Defender basato sulla guerra degli editor.
Stato attuale della guerra degli editor
In passato, fiorirono molti piccoli editor modellati su o derivati da Emacs. Questo era dovuto all’importanza di conservare la memoria con la quantità relativamente minuscola disponibile all’epoca. Al giorno d’oggi, con un’abbondanza di memoria, molti vi-alike, Vim in particolare, sono cresciuti in dimensioni e complessità del codice. Queste varianti di vi di oggi, come le vecchie varianti leggere di Emacs, tendono ad avere molti dei benefici e degli svantaggi percepiti del lato opposto. Vale a dire, le versioni recenti di Vim possono avere più estensioni e girare più lentamente delle versioni passate di Emacs. Inoltre, con le grandi quantità di RAM nei computer moderni, sia vi che Emacs sono relativamente leggeri rispetto ai grandi IDE come Eclipse, che tendono ad attirare la derisione sia degli utenti di vi che di Emacs.
O’Reilly, una società che vende tutorial di Vim ed Emacs dice che quello di Vim vende il doppio di quello di Emacs. In un evento di paint ball, circa il doppio delle persone si sono iscritte a Vim rispetto a Emacs. Questo è stato preso da alcuni per suggerire che circa il doppio degli individui preferisce Vim a Emacs. Tuttavia, si nota che molti programmatori avanzati usano Emacs e le sue varie ramificazioni, incluso Linus Torvalds che usa MicroEMACS.
In una sessione Q&A con nove importanti programmatori, quando fu chiesto quali fossero i loro strumenti preferiti, sei di loro menzionarono Emacs.
Oltre ai workalike di vi ed emacs, pico e il suo clone di software libero nano e altri editor hanno spesso i loro sostenitori di terze parti nella guerra degli editor, anche se non nella misura di vi ed emacs.
Template:ReflistTemplate:Refbegin
- The Art of Unix Programming: Template:Cite book
Template:Refend
- Risorse della Chiesa di Emacs
- Regole, Peccati, Virtù, Dei e altro della Chiesa di Emacs
- Sant’Ignazio – come ritratto da Richard Stallman
- Vi Lovers Home Page
- $EDITOR sucks-rules-o-meter misura quali attivisti dell’editor sono più visibili sul Web
- Ed è l’editor di testo standard
- Una trascrizione di Richard che presenta St. IGNUcias e la Chiesa di Emacs
de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争
pl:Wojny edytorowe