Ruby: prime sensazioni

Written by Michele Della Torre on 24 maggio 2008 – 14:13

Come ho scritto qualche tempo fa, ho iniziato a giocare un po’ con Ruby, cercando di realizzare un piccolo gioco.
Il primo approccio non è stato dei più felici. Read more »

Posted under Ruby | 1 Comment »

Suite di test in Ruby

Written by Michele Della Torre on 14 aprile 2008 – 21:12

Una della basi per poter effettuare il refactoring in modo sicuro e tranquillo è l’avere a disposizione un insieme di test sufficientemente grande da lanciare molto spesso per verificare che il lavoro svolto non abbia introdotto errori.
Utilizzando Java ed Eclipse è molto semplice lanciare tutti i test di un progetto, basta cliccare con il pulsante destro sul progetto e selezionare “run as… JUnit test”, ma con Netbeans e Ruby non è così immediato: è infatti necessario creare una suite di test, cioè un insieme di test cases che quando lanciato esegue tutti i test contenuti.

Read more »

Posted under Ruby | No Comments »

Ruby Tower Defense – strumenti

Written by Michele Della Torre on 5 aprile 2008 – 21:24

In “Extreme Programming Adventures in C#” ho apprezzato soprattutto lo spirito di Ron Jeffries che voleva scrivere un editor XML in C# senza avere una conoscenza approfondita del linguaggio.
Io mi sono messo in testa di imparare Ruby, giusto per avere un punto di vista differente da quello di Java senza cambiare completamente paradigma di programmazione; seguendo le orme di Jeffries proverò a scrivere un piccolo gioco della serie “Tower defense”, che tanto apprezzo, in Ruby.

Premetto subito che il mio scopo non è fare il gioco, ma imparare un po’ il linguaggio, quindi sono conoscio che il gioco potrebbe non vedere la mai la luce, ma in fondo non è problema grave dal mio punto di vista: se per qualcuno di voi lo è può sempre darmi una mano :)

Ruby è un linguaggio orientato agli oggetti completamente dinamico, a prima vista sembra ottima l’idea di poter, ad esempio, aggiungere un metodo ad una classe a runtime, ma se a questo aggiungiamo il fatto che Ruby è interpretato si capisce subito che non si ha un compilatore che ci fa notare alcuni errori. I test quindi hanno un valore ancora più elevato perchè devono essere loro a farci notare i problemi che normalmente sono rilevabili staticamente, perciò userò un approccio TDD (sai che novità, ormai lo uso per tutto!).
Come ambiente di sviluppo non mi sento di usare un normale editor di testo: qualcuno sostiene che facendo tutto a mano si impara di più, ma sicuramente si perde molto più tempo; avendo già scritto qualche programmino di esempio senza un IDE credo di avere almeno un’idea dei fondamentali e quindi mi sono orientato su Netbeans 6.0.1 che possiede il supporto per Ruby.
Mi appoggerò alla libreria Rubygame, che è un framework per lo sviluppo di giochi in, nemmeno a dirlo, Ruby.

Ora, facciamo due conti: conosco giusto le basi di Ruby, ho letto due tutorial su Rubygame e normalmente non uso Netbeans… non sembra di certo il miglior modo di partire, ma in fondo sono fiducioso: come ho già detto il mio obiettivo è imparare il linguaggio, quindi non sarà una tragedia che il gioco non sarà mai terminato e comunque credo di avere delle buone basi per tirare fuori qualcosa.

Appena ho scritto un po’ di codice significativo lo posto.

Posted under Ruby | No Comments »