Ruby scripting e curiosità linguistiche
Mercoledì, Giugno 4th, 2008
Di recente ho avuto l’esigenza lavorativa e il piacere di imparare un nuovo linguaggio di programmazione ad alto livello, Ruby, che può essere definito come un linguaggio di scripting ad oggetti. Quello che mi ha più colpito di questo linguaggio è la naturalità con la quale si possono scrivere le varie “richieste” e la flessibilità nel definire da zero qualsiasi metodo si voglia; inoltre per me che provengo da Fortran e C è stato un gran salto di qualità poter usufruire della comodità di classi e metodi già definiti, soprattutto per quanto riguarda l’elaborazione di stringhe.
Detto questo, negli ultimi giorni sto leggendo un interessantissimo e molto ben scritto volume sulla storia della crittografia tra le due guerre mondiali; nell’ambito della cifratura a sostituzione di lettera mi è venuto in mente di creare un piccolo programmino che analizzasse la distribuzione di frequenza delle varie lettere nella lingua italiana, e, sfruttando i numerosi testi di letteratura antica, comprendere come nel corso dei secoli queste frequenze si modificassero.
I risultati sono stati davvero interessanti e potete leggerli, con tanto di grafici colorati, cliccando qui. Se siete interessati anche al codice Ruby utilizzato potete scaricarlo cliccando nel link sottostante; avrete bisogno di Ruby installato sul vostro computer e del testo da analizzare (rinominato in testo.txt) posto nella stessa cartella dove metterete lo script. Non esitate a contattarmi se avete qualche particolare curiosità! Lieto come sempre di avervi portato qualcosa di nuovo…
Cerca caratteri.rb - Clicca per scaricare lo script
Ho da poco scoperto e subito fatto mio un programma per Mac per gestire la propria biblioteca, raccolta di cd e di dvd. Ovviamente questo programma è avanzatissimo, addirittura legge il codice a barre del libro tramite webcam e scarica da internet le informazioni complete di copertina, autore, genere, ecc.
Da meno di un mese, come molti appassionati sanno, lo scrittore fantasy 
