checkm

sabato 17 marzo 2007

ACME e Wily.

Oggi su #vim parlavo con il mio amico 'foobar' del fatto che non ci sia un editor innovativo da diversi anni. Infatti solo Emacs e il suo antenato TECO son stati gli ultimi editor innovativi. Il resto degli editor (anche quello che sto scrivendo io, se non mi decido a fare qualcosa di alternativo) di oggi sono tutti uguali in fatto di funzioni. Questo dipende forse dai tookit come GTK o QT che offrono molte possibilità e quindi permettono di costruire programmi uguali ad altri 'centomila' con poco sforzo. Oggi 'foobar' mi ha fatto notare in modo particolare questo 'evento'.

Per il sistema operativo Plan9 (potente ma poco utilizzato/conosciuto) è stato sviluppato un editor chiamato ACME che utilizza tutto un altro sistema per l'editing. In parole povere permette di modificare qualsiasi cosa dentro di esso e ha anche un semplicissimo sistema di finestre al suo interno che permette di gestire al meglio lo spazio per l'editing. La 'novità' notevole di questo editor è che tutto si basa sulla gestione del testo con il mouse. Per fare un esempio: stiamo modificando un programma scritto in C e dobbiamo fare il make senza voler togliere la vista dal programma, scriviamo sul buffer 'make' e dopo averlo selezionato premiamo il tasto centrale del mouse e come per magia il comando verrà eseguito. In questo modo si possono creare anche delle toolbar con le nostre azioni preferite che potranno essere anche interne all'editor (per esempio 'New', 'Open' o 'Exit' ecc.).
Purtroppo non lo so sfruttare nemmeno io nel miglior modo possibile perchè comunque rimane un po scomodo da utilizzare senza 'coccole moderne' come la sintassi evidenziata, l'indentazione automatica ecc.
Trovo che questo modo di ragionare mi potrà tornare utile nel progetto che sto sviluppando. Pensavo anche di prendere spunto da alcuni trucchetti di Emacs, ad esempio il comportamento dei tab. Se su Emacs ci troviamo al centro di una linea di testo e premiamo il tasto di tabulazione al contrario di un comune editor non verrà creato un tab nel punto in cui si trova il cursore ma verrà identata tutta la riga seguendo il modo in cui son state allineate le altre.

Io ho installato Wily, un clone meno potente di ACME però per piattaforma GNU/Linux:

Wily, clone ACME per linux

Da questo screenshot si può capire meglio il funzionamento di ACME.


Ringrazio 'foobar' che ha fatto nascere l'interessante discussione che si è estesa fino a parlare di Erlang (linguaggio potentissimo sviluppato dalla Ericsson capace di gestire grandissimi carichi, ad esempio quelli delle centrali telefoniche) e Plan9.

Saluti, ScaccoMatto.

ps: Erlang e Haskell sono i primi in lista per i miei futuri (molti futuri) linguaggi da studiare. :-)

1 commento:

Anonimo ha detto...

Ci vorrebbe un editor che implementi le funzionalita` di Emacs e Ultra Edit 32 in modo semplice senza complicanze. In piu` dovrebbe avere il copia/incolla di porzioni multiple di testo e la possibilita' di validare le pagine html i css e tutto il resto in locale tramite l'implementazione delle DTD del W3C. Inoltre dovrebbe avere un supporto completo per le espressioni regolari UNIX e Posix (e perche` no anche un supporto alternativo agli automi a stati finiti), supporto per tutti gli encoding sia in input che in output, editor esadecimale integrato, e altre cose che ora non mi vengono in mente.
Buona fortuna :-)