Org mode: le cose che approfondirò
Thursday, November 11th, 2010Eccoci all’ultima puntata della serie dedicata a Org!
Nel post precedente accennavo alle cose che mi piacerebbe approfondire. Ecco qualche dettaglio.
Esportare i documenti di Org
In diverse occasioni ho cominciato ad usare l’esportazione. Ho provato i formati principali (testo, HTML e PDF) con buoni risultati. So che sembra una cosa da poco, ma se penso a quanto tempo ho dedicato in passato per trovare una soluzione decente dovrei fare i salti di gioia.
Non che abbia qualcosa contro programmi come Word, Pages od OpenOffice, cerco però di tenere il numero di strumenti al minimo possibile e, se possibile, avere un formato comune o almeno facilmente manipolabile1.
La cosa funziona bene a sufficienza da farmi accarezzare l’idea di buttare WordPress e passare a un sistema basato su file. Un giorno, forse…
Org per la programmazione
Se usiamo Emacs2 per il codice sorgente, Org è utilissimo già solo per il fatto di poter collegare direttamente i todo con il punto preciso del codice3, che è esattamente il modo in cui lo uso adesso. Ma vorrei esplorare altre possibilità.
Prima di tutto è possibile inserire direttamente del codice in un documento di Org e – cosa molto comoda – possiamo editare il frammento di codice in un buffer dedicato, in modo trasparente e con tutte la facilitazioni specifiche per il linguaggio usato in quel frammento.
Questo blocco di codice può essere trattato in diversi modi: può essere trattato come esempio letterale; può essere esportato il risultato della sua valutazione; possono essere esportate entrambe le cose o, infine, nessuna delle due.
A questo punto, siamo praticamente dalle parti del literate programming, che rimane sempre una questione che mi affascina assai.
Prima di Org, la cosa più vicina all’ideale che ho incontrato è Scribble ma lavora solo con Racket4 e, per quanto mi possa piacere, non è realistico pensare che si usi solo un linguaggio in un progetto web: bisogna poter gestire anche JavaScript, SQL e HTML, a meno di generarli tutti.
Org approccia la questione in modo necessariamente meno sofisticato, trattando i frammenti di codice al pari di tutti gli altri sistemi per il literate programming, ovvero, come semplice testo. Questo significa che non sappiamo se il sorgente che sarà assemblato è sintatticamente valido fino a quando non verrà compilato o eseguito.
I vantaggi, però, sono grandi e sono sempre quelli che mi hanno fatto passare a questo ambiente: integrazione, flessibilità ed efficienza. Per ora mi sono limitato a giocarci un po’, con frammenti di codice qua e là ma alla prima occasione lo testerò più seriamente.
Se siete arrivati a legger fin qui, allora apprezzete Org: che io sappia, non esiste miglior esempio di ciò che si può fare con Emacs.
Nelle puntate precedenti
- Org: cos’è cambiato dopo tre mesi di utilizzo
- L’agenda di Org
- I todo con Org
- Come uso Org
- Cosa manca a Org?
- OmniFocus e Org, pro e contro
- Addio a OmniFocus
- Per lo stesso motivo mi viene la tentazione di abbandonare Mail, che è un programma che uso in modo abbastanza basico. Non ho bisogno di features particolari e credo anzi che avrei solo da guadagnare migrando ad Emacs. ↩
- E cosa, altrimenti? ↩
- credo che anche Eclipse abbia strumenti simili, anche se funzionano con una logica invertita, raccogliendo le cose da fare in base a commenti nel codice. ↩
- Una versione di Scheme ↩