Oggi mi era saltato il ticchio di buttare giu` un'applicazioncina RoR per gestire le scalette dei passati/presenti/futuri numeri della rivista... essendo sotto Windows (che mi serve per tutta la roba di grafica che non gira su Linux) ho aperto il simpatico NetBeans con supporto RoR e ho iniziato a pastrocchiare.
Creo il progetto, scelgo il DB SQLite, creo un paio di modelli, lancio la migration per creare le tabelle nel db.
Primo problema, pare che SQLite non funzioni come backend con l'implementazione JRuby integrata con NetBeans.
Sticazzi. Poco male, ci sono mille altre scelte.
Creo un altro progetto da zero, tanto non avevo fatto praticamente un tubo nell'altro, e scelgo come opzione JavaDB (aka Derby), il DB integrato di Apache Foundation.
Dai tutorial in rete scopro che devo infilare il jar di Derby nella /lib/ di JRuby per farlo collegare e installare l'opportuna GEM per il supporto. Faccio tutto e già che ci sono aggiorno anche le altre GEM (tra cui lo stesso Rails).
Fatto questo non funziona più un cazzo: l'implementazione JRuby distribuita con NetBeans 6.0.1 non supporta Rails 2.x, quindi mi scarico JRuby 1.1RC2 e faccio puntare NetBeans alla nuova installazione, ci copio dentro il .jar di Derby e incrocio le dita.
Lancio la migration e... non va un cazzo. Qualche troiaio lancia una MethodNotFound Exception e non riesco a capire cosa cambiare per sistemarlo.
Abolisco JavaDB e creo un altro progetto con Mysql, però non voglio installare Mysql sulla macchina windows e allora parte la genialata: mi installo VMWare server, creo una macchina virtuale, installo Debian (così ci faccio pure il repository svn, sticazzi).
Installo Mysql e svn e perdo mezzora a configurare un repository svn che non funziona.
Provo a creare l'applicazione RoR da Debian e fare il checkout da Netbeans: non va, perché la Debian stable installa rails 1.1.6 di dodici anni fa che ovviamente fa sbroccare NetBeans che ora ha installato la 2.x
Penso: vabbè uso solo mysql sulla box virtuale.
Creo un altro progetto in NetBeans dicendogli di usare MySQL come db: mi dice di installare l'apposita gem. Vado ad installare l'apposita gem, ma non ce la fa con il criptico messaggio "cannot build native mysql extension".
A questo punto ho deciso che oggi non era decisamente giornata e ho sfanculato tutto.
Quel che mi domando è: come fanno quelli che sviluppano per lavoro a non impazzire quotidianamente?
Comments
Usano la vecchia ricetta
Usano la vecchia ricetta della nonna: linux, vim e $XTERM .
E` il solito drawback della roba fatta da nerd per nerd, che mal si incastra nel magico mondo delle IDE con l'IntelliSense. Ovvio, da geek, non posso dire che cio` sia uno svantaggio.. perche`..
Anche il piu` grosso dei progetti, se originato da un'analisi mirata e ben pensata, realizzato attraverso del codice rigidamente separato in componenti, ben commentato e sistematicamente testato da cui vengono prodotti sia documentazione navigabile che coverage test.. non ha bisogno di tanti ammennicoli grafici di cui il programmatore VB non puo` fare a meno.
Ovvio.. la premessa e` che si sta parlando di Ruby, ma questo discorso, IMHO, vale anche per Python, Io e compagni. Non per Java, of course!
--
~vjt
il vero sballo e` dire SUX
come fanno
In questi casi, si fanculizza il problema dopo averci perso qualche ora per riprovarci il giorno successivo e si passa a qualcosa di piu' tranquillo.
Una volta ho perso un mese per far funzionare su java e linux una stampante fiscale:P