Lo scienziato britannico Adrian Bowyer ha presentato in questi giorni una stampante 3D che è in grado di stampare... se stessa. Aggiungendo l'elettronica e montando i pezzi, si ottiene una stampante identica all'originale. È un nuovo passo su un percorso che il ricercatore iniziò nel 2005: leggete qui per saperne di più
Sin da quando ero ragazzo e studiavo gli albori dell'informatica ho maturato rispetto e subìto il fascino di due straordinarie figure, due inglesi che nella prima metà dell'Ottocento concepirono l'idea di calcolatore programmabile e tentarono di realizzarne uno. Oggi questi precursori, che ai giorni loro vennero irrisi, sono stati pienamente vendicati. Pubblico qui la loro storia.
Esattamente trent'anni fa sbarcava in Italia Goldrake. Appropriatamente, io ripubblico qui un mio articolo vecchiotto ma ancora interessante sui robot scritto quattro anni fa per un quotidiano svizzero. (Gli articoli nuovi sono protetti da password, scoprite qui come ottenerne una.
DOVE MI TROVI
È in edicola da lunedì 21 luglio Macworld di agosto 2008, Ci troverete un mio lungo articolo su Mac OS X 10.6 "Snow leopard". Lo scarno comunicato stampa di Apple in proposito, un mese fa, è stato ristampato sino alla nausea su tutti i siti web del mondo. I commenti visti in giro sono stati improntati, a mio modesto parere, a una certa superficialità. Io mi sono preso qualche settimana di tempo, ho letto un po' di documentazione per sviluppatori e ho preparato un approfondimento
Ci sarà naturalmente anche il mio consueto articolo in ultima pagina: Dizionario per l'estate, decisamente più ridanciano del solito.
Se vuoi iscriverti alla mailing list di Luca Accomazzi inserisci qui la tua mail:
Vuoi saperne di più?
AppleScript è un linguaggio di programmazione (chi sa già programmare trova i suoi dati tecnici nel riquadro AppleScript per esperti). Assomiglia parecchio ad HyperTalk, il linguaggio che caratterizza HyperCard 2. Per esempio, si può scrivere:
display dialog Qual è la tua rivista preferita? buttons {Le Scienze, Playboy, MacWorld} with icon 1
Eseguendo quella istruzione, appare una finestra di dialogo come quella che si vede qui sotto. È ovvio, quindi, che con AppleScript si possono scrivere semplici applicazioni con una certa facilità.

Una semplice finestra di dialogo creata con AppleScript
Una applicazione che supporta AppleScript può farlo con quattro diversi livelli di aderenza allo standard: come minimo deve accettare qualsiasi ordine proveniente da AppleScript con la stessa facilità con la quale accetta ordini provenienti dallutente. Una applicazione programmabile tramite AppleScript viene chiamata in inglese scriptable, e il programma è detto script (vedere Scriptable).
Per scrivere uno script ex novo è necessario possedere qualche capacità come programmatore, e imparare ad usare le parole chiave e le caratteristiche del linguaggio. Ma questo non è indispensabile per ogni tipo di lavoro con AppleScript.
Alcune applicazioni, infatti, permettono la creazione automatica di uno script. Lutente deve semplicemente eseguire una serie di azioni; lapplicazione e AppleScript collaborano nel registrare queste azioni, e il risultato è uno script perfettamente valido che contiene tutte le istruzioni necessarie a replicare le azioni. Le applicazioni che supportano questa registrazione sono dette in inglese recordable (vedere Recordable).
Sempre per aiutare il neofita a creare gli script, altre applicazioni supportano il meccanismo detto paste reference. In questo caso si tratta di aiutare a creare il riferimento a un oggetto. Il programmatore di script che non sa come si chiami quel pulsante del quale vuole modificare la posizione, può selezionarlo e copiarlo. poi si sposta nelleditore di script e scegile da menu la voce paste reference: AppleScript e lapplicazione collaborano e nelleditore appare il riferimento corretto: per esempio il terzo pulsante della quinta scheda dello stack Agenda.
Altre applicazioni, infine, permettono di invocare gli script direttamente al loro interno. Lutente crea un pulsante, o unicona, che quando premuta provoca lesecuzione di uno script. In questo caso lapplicazione si dice attachable (vedere Attachable). Per esempio, si potrebbe scrivere uno script che estrae alcune cifre da una base di dati FileMaker Pro, le importa in Excel, crea un grafico con esse, e copia il grafico in un programma di trattamento testi. Lintero script potrebbe venire salvato in un bottone allinterno della maschera di FileMaker.

FileMaker Pro è attachable -- ovvero, possiamo collegare un programma AppleScript a un suo oggetto
1. Su un Macintosh dotato di AppleScript viene lanciata lapplicazione Script Editor: uno strumento per creare i programmi AppleScript
2. Un utente esperto scrive uno script. Per esempio, un programma che trova tutte le occorrenze della parola AppleScript in un testo e le mette in grassetto.
3. Lo script può venire salvato come un documento dello Script Editor...
4. ...o come una nuova applicazione (in gergo AppleScript, applet). Le applet sono veramente minuscole, anche quando risolvono compiti complessi: quella del nostro esempio occupa solo 2 KB di spazio sul disco.
5. Lo script, quando eseguito, interagisce con lapplicazione di trattemento testi. I risultati sono gli stessi che si avrebbero se un utente avesse selezionato e messo in grassetto, una ad una, tutte le occorrenze della parola AppleScript.

Una applicazione si dice scriptable quando accetta ordini da AppleScript. Qui vediamo un programma di trattamento testi a cui viene ordinato di mettere in grassetto tutte le occorrenze della parola AppleScript.
Se líapplicazione con la quale vogliamo lavorare Ë ìrecordableî, cioË registrabile, creare uno script Ë ancora pi˜ semplice. In questo caso...
1. Si lancia lapplicazione Script Editor
2. Si preme il pulsante record delleditore
3. Si lanciano lapplicazione, o le applicazioni, con le quale si vuole lavorare. Si eseguono normalmente le operazioni che si desidera trasformare in uno script. Nel frattempo, AppleScript fa lampeggiare il simbolo di un registratore sopra la mela del Menu Apple, per ricordarci che sta seguendo le nostre azioni.
4. Una volta terminata la sessione di lavoro, si torna nello Script Editor e si preme il pulsante Stop.
5. Uno script completo appare automaticamente nella finestra dello Script Editor. Anchesso può venire salvato come applicazione o come documento di Script Editor; inoltre, può venire modificato o ritoccato a mano da un esperto di linguaggio AppleScript.

Una applicazione ìrecordableî, come il Finder, scriverý per noi un programma AppleScript semlicemente registrando le nostre azioni
Un piccolo spazio riservato agli esperti di informatica, per spiegare qualche dettaglio tecnico.
AppleScript è un linguaggio di sistema, con il quale è possibile inviare istruzioni e richieste ai componenti del sistema operativo e alle applicazioni compatibili. Il suo analogo più prossimo allinfuori del mondo Apple è il linguaggio Rexx, che si incontra spesso nei programmi per Commodore Amiga.
Il linguaggio è semi-interpretato, e le parole chiave sono localizzabili. Quindi è possibile creare versioni nazionalizzate del linguaggio in cui, per esempio, anziché scrivere set style of selection to bold si scrive imposta a grassetto lo stile della selezione (si, lordine dei termini può venire localizzato). Attualmente Apple ha reso disponibile i dialetti inglese (su cui è basato questo corso), e giapponese. Sono in via di sviluppo il francese e il tedesco. Apple Italia non ha voluto rilasciare commenti quando abbiamo chiesto se e quando sarà rilasciato il dialetto italiano.
AppleScript è un linguaggio orientato alloggetto, basato sui concetti di classe, ereditarietà e polimorfismo. I campi degli oggetti possono essere manipolati dallesterno, oppure venire resi privati o a sola lettura. Lereditarietà discende da un singolo genitore, e non da genitori multipli come è possibile nel C++.
Gli oggetti possono fungere da agenti, e agire come task in background. Gli agenti
AppleScript ha variabili polimorfiche: il tipo della variabile può venire cambiato a runtime. Ha quindi qualche parentela con linguaggi tipo Lisp o APL, dato che i linguaggi tradizionali come C o Pascal impongono definizioni statiche di tipo.
I tipi incorporati del linguaggio sono gli interi, i reali, le date, le ore, le stringhe (non limitate a 255 caratteri), i record, le liste (gestite in modo trasparente allutente, quindi senza usare esplicitamente i puntatori) e i tipi definiti dallutente.
Le variabili possono essere persistenti, e mantenere il valore assegnato tra una esecuzione e la successiva.
Il linguaggio è estensibile: una applicazione può mettere a disposizione oggetti, costrutti e istruzioni che estendono la sintassi del linguaggio. Inoltre, è possibile scrivere in un linguaggio di programmazione tradizionale il codice per gestire nuovi comandi, in modo analogo a quanto fa HyperCard con XCMD e XFCN.

Questo articolo fa parte di uno dei miei percorsi. Se vuoi saperne di più su questo argomento, visita il resto del percorso cliccando qui.
Continua