Pubblicato da: fabiotrezzi | domenica, 24 agosto 2008

Emacs

Qualche giorno fa abbiamo parlato di Vim, un editor osannato come il meglio per chi sviluppa, esso è una versione aggiornata del venerabile editor vi scritto niente meno che da Bill Joy nel 1976. Per chi non lo sapesse però gli sviluppatori sono sempre stati divisi da una “guerra di religione” tra due opposti schieramenti. Da una parte i sostenitori di VI (e Vim) e dall’altra i fan dell’altrettanto venerabile Emacs scritto da un altro guru, Richard Stallman, nel 1984 (nella sua versione Gnu anche se è in realtà più vecchio). Quando ho scritto guerra di religione non esageravo, Emacs infatti ha una sua chiesa vera e propria, la Church of Emacs, fondata come scherzo da Stalman stesso, la potete trovare su usenet al gruppo alt.religion.emacs

Personalmente ho sempre preferito Emacs, e per un po’ l’ho anche adottato come strumento di sviluppo principale (prima di scoprire TextMate), non diventando però mai un vero esperto di questo sistema. Non ho potuto quindi esimermi da questo post quando ho visto quello su Vim :-)

Emacs ha introdotto molti concetti che ora si trovano in altri programmi ma senza dubbio il più importante e fortunato è stato quello di essere un programma “programmabile”. L’editor infatti ha al suo interno un interprete del linguaggio Lisp e l’editor stesso non è altro che un insieme di librerie Lisp che ne forniscono il più delle funzionalità. Ad un non addetto questo può sembrare oscuro ma in sintesi significa che Stallman pensò di relizzare solo le funzionalità indispensabili in C e di crearsi un ambiente di sviluppo con lo stretto indispensabile. Dopo di che sviluppò in Lisp tutte le funzionalità e le carattersitiche del suo editor. Questo ha permesso a lui e a tutti quelli che sono venuti dopo di apportare modifiche al programma molto rapidamente essendo il codice lisp scritto su file di testo in chiaro interpretati all’occorrenza da Emacs. Questa idea è stata poi adottata (meno radicalmente) in tantissimi prodotti, Autocad si programma anch’esso in Lisp, tutte le applicazioni Apple sono programmabili in ActionScript, Microsoft Office ha Visual Basic For Applications etc etc. La possibilità di estendere l’editor usando il linguaggio Lisp (molto più produttivo del classico C) ha fatto si che in Emacs fossero introdotte numerosissime funzionalità. Basti pensare che nella distribuzione standard di Emacs esso fa anche da client di posta, ha alcuni giochi al suo interno e può essere usato come client per i newsgroup usenet! Talmente tante funzionalità che qualcuno ha definito scherzosamente Emacs un sistema operativo.

Un altro concetto fondamentale in Emacs è stata la gestione delle finestre. In un epoca in cui non c’era il Mouse e Microsoft neanche esisteva Emacs permetteva già di gestire la finestra del terminale dividendola in più aree e di lavorare su più file contemporaneamente.

Per usare Emacs sotto os x avete quattro possibilità:

  • Usare Emacs sul terminale che trovate già installato sotto os x
  • Usare Carbon Emacs che funiona come un applicazione visuale
  • Usare Aquamacs un porting di Emacs studiato per integrare meglio il super editor con il sistema di Apple
  • Compilarvi i sorgenti di Emacs che potete scaricare da gnu.org

Personalmente io ho sempre usato la seconda soluzione dato che Aquamacs era troppo immaturo, ma in tempi recenti lo sviluppo di questo pacchetto ha subito una forte accelerazione e personalemnte l’ho trovato molto più stabile ed utilizzabile, sebbene va detto che non l’ho testato a fondo.

Se volete imparare ad usare questo editor posso segnalarvi alcune risorse:

Troverete un editor potentissimo con molte funzionalità che funzionano diversamente da come siete abituati. La conoscenza di Lisp sebbene permetta di piegarlo maggiormente ai nostri desideri non è assolutamente richiesta per usare questo strumento.

una piccola nota a margine è che Emacs ha costituito anche stato il primo business basato sull’Open Source (e non poteva essere diversamente essedo Stallman il padre dell’Open Source). Già negli anni 80 infatti vendeva le cassette con su il codice dell’editor per corrispondenza. Alcuni citano questo esempio come testimonianza del fatto che l’Open Source è sostenibile come business dimenticando che erano decisamete altri tempi.

Decisamente mi sono fatto prendere la mano in questo post :-)


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Categorie

%d blogger hanno fatto clic su Mi Piace per questo: