<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/1.5.1-alpha" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
	<title>PDI^2</title>
	<link>http://riffraff.blogsome.com</link>
	<description>Propulsione d'Improbabilità Infinita</description>
	<pubDate>Mon, 18 Mar 2013 07:01:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.1-alpha</generator>
	<language>en</language>

		<item>
		<title>Perché Java è meglio di Ruby</title>
		<link>http://riffraff.blogsome.com/2007/06/22/perche-java-e-meglio-di-ruby/</link>
		<comments>http://riffraff.blogsome.com/2007/06/22/perche-java-e-meglio-di-ruby/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 16:56:08 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>ruby</category>
	<category>java</category>
	<category>fun</category>
		<guid>http://riffraff.blogsome.com/2007/06/22/perche-java-e-meglio-di-ruby/</guid>
		<description><![CDATA[	Si, siamo una comunità di disturbati, e ne siamo fieri.

]]></description>
			<content:encoded><![CDATA[	<p>Si, <a href="http://monkeyfirst.blogspot.com/2007/06/botta-de-programmazione.html">siamo una comunità di disturbati</a>, e ne siamo fieri.
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/06/22/perche-java-e-meglio-di-ruby/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Ruby &#038; rails vs J2EE, di nuovo</title>
		<link>http://riffraff.blogsome.com/2007/06/13/ruby-rails-vs-j2ee-di-nuovo/</link>
		<comments>http://riffraff.blogsome.com/2007/06/13/ruby-rails-vs-j2ee-di-nuovo/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 14:44:16 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>ruby</category>
	<category>java</category>
	<category>blogosfera</category>
		<guid>http://riffraff.blogsome.com/2007/06/13/ruby-rails-vs-j2ee-di-nuovo/</guid>
		<description><![CDATA[	Su TRM c&#8217;è un articoletto che ha l&#8217;intento di spiegare rails al programmatore J2EE, e da lì c&#8217;è un articoletto di risposta di uno sviluppatore J2EE, appunto. 
	Le mie dure lire: usate quello che è più adatto al progetto corrente, che conoscete meglio  e che preferite. &Egrave; il modo giusto per vivere felici  [...]]]></description>
			<content:encoded><![CDATA[	<p>Su TRM c&#8217;è un articoletto che ha l&#8217;intento di <a href="http://www.therubymine.com/articles/2007/06/07/ruby-on-rails-per-il-programmatore-j2ee">spiegare rails al programmatore J2EE</a>, e da lì c&#8217;è un <a href="http://www.tgofbs.it/?p=81">articoletto di risposta</a> di uno sviluppatore J2EE, appunto. </p>
	<p>Le mie dure lire: usate quello che è più adatto al progetto corrente, che conoscete meglio  e che preferite. &Egrave; il modo giusto per vivere felici <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
	<p>Ad ogni modo, nel post e nei commenti ci sono dei punti validi: la m17n in ruby è ancora debole (ma per il web cambia poco, visto che utf8 è gestito), il deploy non è ancora un&#8217;operazione banale, ruby non ha i thread nativi ed è un interprete lento, non esiste accesso a tutta la pletora di MOM che c&#8217;è in java e altro. Ricordo che io, fondamentalmente odio rails <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
	<p>Però, siccome l&#8217;autore dice di cercare l&#8217;oggettività, per quanto ovviamente possibile, mi permetto di rettificare alcune cose sbagliate ( credo siano dovute alla mancanza di conoscenza dell&#8217;ambiente, non a un FUD intenzionale <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </p>
	<p>Su ruby:</p>
	<ul>
	<li>ruby non ha le variabili dì&#8217;istanza pubbliche di default, anzi non è proprio possibile avere variabili pubbliche, si accede <em>solo</em> attraverso metodi.<br />
Le variabili d&#8217;istanza pubbliche sono una rottura dell&#8217;incapsulazione  (eccezione: property alla python/C#/TP) e infatti in Smalltak, che la OO l&#8217;ha inventata, non esistono. </li>
	<li>non so cosa significhi che la struttura delle classi è neogotica, perché non so qual&#8217;è l&#8217;equivalente degli archi a sesto acuto in ambito programmatorio, ma la gerarchia delle classi mi sembra abbastanza ragionevole. Non c&#8217;è neanche l&#8217;ereditarietà multipla che dovrebbe far storcere il naso ai javisti (io, essendo anche pythonista non ci vedo niente di male <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </li>
	<li>sinceramente non mi pare sia possibile assegnare una variabile da sinistra a destra in ruby, a meno che non ci sia un operatore &#8220;<tt>-&gt;</tt>&#8221; che non ho mai trovato negli ultimi 6 anni</li>
	<li>le variabili d&#8217;istanza vengono istanziate al volo, vero, ma puoi comunque farlo solo tramite i metodi (o la reflection) quindi non c&#8217;è problema</li>
	<li><em>&#8220;La tipizzazione degli oggetti base è da barzelletta non esiste&#8221;</em>. De gustibus, a me i tipi dinamici piacciono. D&#8217;altronde neanche java è type safe, e HAppS è ancora un po&#8217; ostico per me.</li>
	<li>gli errori sono più comprensibili in ruby imho. Almeno l&#8217;equivalente di NullPointerException ti dice che metodo è stato richiamato, perché <tt>nil</tt> è un oggetto</li>
	<li> mai fallita l&#8217;installazione di una gemma, ma capisco possa accadere. Però il confronto con maven mi pare inappropriato, non è un package manager.</li>
	</ul>
	<p>Su Rails:</p>
	<ul>
	<li> il sistema di template (che imo pone pochi problemi) si cambia in una riga. <tt>script/plugin install liquid | haml | erubis | ya2yaml | amrita | markaby </tt> o quel che volete</li>
	<li> credo che il plurale di persona (as in dramatis persona) sarebbe personae, ma si sa che gli inglese col latino fanno porcate <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Aldilà di questo, è possibile definire le proprie inflection se si vuole un db sgrammaticato (o uno legacy)</li>
	<li> non ho capito che significa che la gestione degli url viene fatta in punti diversi, io la faccio solo in routes.rb</li>
	<li> non so perché non si possa usare un qualsiasi approccio allo sviluppo. In teoria si può sviluppare un&#8217;applicazione RoR anche senza modelli e controller ma grazie  al cielo lo fanno in pochi  <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </li>
	<li>si può usare uno schema legacy, si può fare. Ci sono pure plugin per farlo. Certo, manca JCA.</li>
	<li> manca il supporto all&#8217;internazionalizzazione <em>builtin</em>, ma esistono plugin come globalize apposta. Rimane sempre meglio averla builtin, come in django (<a href="http://www.riffraff.info/2007/5/31/rails-vs-django-a-non-biased-yet-useless-comparison">lo dicevo di là</a>) e comunque il supporto a unicode è scadente, come dicevo prima, ma c&#8217;è sempre UTF-8.</li>
	<li> non ho capito il problema con gli scaffolding. Quelli servono a evitare di scrivere un po&#8217; di codice, mica sono un&#8217;interfaccia di amministrazione (django++ ma per rails ci sono, ancora, dei plugin)</li>
	</ul>
	<p>Sui punti generali non posso commentare..  non uso capistrano, ViM è il mio IDE e Rails forse non scala ma non per colpa di FastCGI (che è concettualmente molto diverso da CGI). Yahoo, Google, Digg, reddit, Flickr, livejournal etc scalano infinitamente senza servlet.  <small>&lt;flamebait&gt;e poi vorrei vederla questa mega applicazione in java che scala come slashdot, che è fatto con mod_perl &lt;/flamebait&gt;</small></p>
	<p>Ancora, right tool for the job, KISS, long life &#038; prosperity, io domani parto per l&#8217;heineken jammin festival dove non mi preoccuperò di queste cose <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/06/13/ruby-rails-vs-j2ee-di-nuovo/feed/</wfw:commentRss>
	</item>
		<item>
		<title>JDK open source</title>
		<link>http://riffraff.blogsome.com/2007/05/09/jdk-open-source/</link>
		<comments>http://riffraff.blogsome.com/2007/05/09/jdk-open-source/#comments</comments>
		<pubDate>Wed, 09 May 2007 18:07:00 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>java</category>
		<guid>http://riffraff.blogsome.com/2007/05/09/jdk-open-source/</guid>
		<description><![CDATA[	e con questa, abbiamo finito la roba proprietaria di Sun, credo 

]]></description>
			<content:encoded><![CDATA[	<p>e con <a href="http://www.goto10.it/jdk-con-licenza-gpl/">questa</a>, abbiamo finito la roba proprietaria di Sun, credo <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/05/09/jdk-open-source/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Harmony Project, guarda chi si rivede!</title>
		<link>http://riffraff.blogsome.com/2007/04/11/harmony-project-guarda-chi-si-rivede/</link>
		<comments>http://riffraff.blogsome.com/2007/04/11/harmony-project-guarda-chi-si-rivede/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 07:50:00 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>java</category>
		<guid>http://riffraff.blogsome.com/2007/04/11/harmony-project-guarda-chi-si-rivede/</guid>
		<description><![CDATA[	Qualcuno se lo ricorda il progetto Harmony? Si trattava di quell&#8217;idea fantastica  di implementare una versione open source della JVM (oooh), ma diversa dalle altre ottomila esistenti (oooh) e con una libreria diversa dal supportatissimo GNU Classpath (oooh).  
	Voglio dire, GNU Classpath ha più sviluppatori, più test, più codice già scritto, è condiviso [...]]]></description>
			<content:encoded><![CDATA[	<p>Qualcuno se lo ricorda il <a href="http://harmony.apache.org/">progetto Harmony</a>? Si trattava di quell&#8217;idea fantastica  di implementare una versione open source della JVM (oooh), ma diversa dalle altre ottomila esistenti (oooh) e con una libreria diversa dal supportatissimo GNU Classpath (oooh).  </p>
	<p>Voglio dire, GNU Classpath ha più sviluppatori, più test, più codice già scritto, è condiviso da una mezza dozzina di implementazioni diverse.<br />
Ma ehy, non è stato inventato sotto l&#8217;ombrello di Apache/Jakarta! </p>
	<p>Insomma, io ho sempre ritenuto che harmony non servisse a una mazza, ma che potesse essere un buon ponte nel momento in cui a Sun venisse in mente di rendere java open source.  Ma aspettate un momento: Java <em>è già</em> open source! </p>
	<p>Mh.. vabè.. come dire, meglio avere alternative.  sempre. </p>
	<p>Nel frattempo, harmony è vecchio di due anni, e ha ricevuto donazioni di codice da Intel, IBM e altri. Nonostante ciò, e nonostante il fatto che effettivamente gli manchino ancora cose come un gestore di JAR,<br />
il debugger, rmi* etc qualcosa funziona. </p>
	<p>Ci funziona Eclipse! Voglio dire, non ci funziona Geronimo, ne&#8217; Azureus, ne&#8217;  le applet, ma potete usare Eclipse per sviluppare con Tomcat direttamente, facendo un balzo nel futuro di meno 5 anni.</p>
	<p>Giustamente, quantomeno il progetto ha guardato alla portabilità, e quindi supporta una sfilza di sistemi operativi e architetture, ovvero: linux su intel e amd. </p>
	<p>Ma continuiamo a sperare, e facciamo notare che hanno richiesto a Sun un JCK, ovvero il pacco di test che se passa dimostra che la vostra è un&#8217;implementazione di Java e non un linguaggio quasi-javesco.<br />
E hanno scritto una <a href="http://www.apache.org/jcp/sunopenletter.html">lettera aperta </a>a Sun per chiedere che il JCK sia rilasciato senza balzelli nella licenza, e questa è una buona cosa che potrebbe far bene a tutti. </p>
	<p>Chissà che Harmony non serva a qualcosa.
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/04/11/harmony-project-guarda-chi-si-rivede/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Post Archivio n. 12</title>
		<link>http://riffraff.blogsome.com/2007/02/24/post-archivio-n-12/</link>
		<comments>http://riffraff.blogsome.com/2007/02/24/post-archivio-n-12/#comments</comments>
		<pubDate>Sat, 24 Feb 2007 10:50:18 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>ruby</category>
	<category>java</category>
	<category>personale</category>
	<category>blogosfera</category>
	<category>italia</category>
	<category>lettura</category>
		<guid>http://riffraff.blogsome.com/2007/02/24/post-archivio-n-12/</guid>
		<description><![CDATA[	Ricomincio ad avere troppe cose da fare e dire, e troppo poco tempo per farlo. Ma cerco di tornare fedele alla mia regola di rispetto per il  lettore: meglio pochi post densi che molti leggeri, quantomeno non vi intaso l&#8217;aggregatore. 
	Per cui, le cose su cui riflettere oggi:
	
Domani, domenica 25, c&#8217;è il carnevalone liberato! [...]]]></description>
			<content:encoded><![CDATA[	<p>Ricomincio ad avere troppe cose da fare e dire, e troppo poco tempo per farlo. Ma cerco di tornare fedele alla mia regola di rispetto per il  lettore: meglio pochi post densi che molti leggeri, quantomeno non vi intaso l&#8217;aggregatore. </p>
	<p>Per cui, le cose su cui riflettere oggi:</p>
	<ul>
<li>Domani, domenica 25, c&#8217;è il <a href="http://www.carnevalone.it">carnevalone liberato</a>! Non vi sto a spiegare cosa cavolo sia e perché dovreste venirci, perché già l&#8217;ho fatto <a href="http://riffraff.blogsome.com/2006/03/07/carnevalone-liberato/">un anno fa</a>, seppure in stato alterato <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </li>
	<li>Alcuni programmatori sono <a href="http://ratta.blogsource.com/post.mhtml?post_id=431128">più fortunati degli altri</a>, perché trovano sempre nuove cose con cui divertirsi <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </li>
	<li>Ho infranto il muro dei cento lettori, grazie gente, non so che ci fate da queste parti ma fa piacere vedervi. Già vi leggo tutti, o almeno quelli di cui ho un link, se avete dubbi lasciatemi un commento così mi ricordo di voi. Chiamatelo delurking day se vi va. </li>
	<li>E parlando di commenti, abbiamo sfondato la soglia dei 500, grazie per aver chiacchierato con me. E ho pensato di fare una cosa carina, per ringraziarvi: <a href="http://riffraff.blogsome.com/caro-lettore/">questa paginetta</a> conterrà link a tutta la gente che ha commentato questo blog finora (lasciandomi un url). Potrei fare delle analisi scientifiche tipo &#8220;quella/quel bastardo che fine ha fatto?&#8221;, ma fondamentalmente non me ne frega niente. La pagina non vi passerà molto PR, comunque, scusatemi <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
	<li>E a proposito di lettori, <a href="http://www.superfluo.org">Nicola </a>mi ha mandato una mail per correggere la mia ortografia. Nico&#8217;, l&#8217;ho apprezzata e potevi anche sputtanarmi in pubblico, ma non posso risponderti via email perché il tuo provider ha blacklistato Yahoo! (??)
</li>
	<li>Invece, a proposito di letture, mi son comprato il castello di eymerich. In genere evangelisti mi piace, e questo promette bene.</li>
	<li>E a proposito di <em>nonletture</em>, ho adottato il protocollo <em>zero inbox</em>:<br />
Spam -> cancella<br />
Non utile -> cancella<br />
Non interessante -> cancella<br />
Importante -> leggi e archivia<br />
Richiede risposta -> segnala appropriatamente<br />
sembra un sistema scemo, ma giuro che crea un grande senso di organizzazione e controllo. In realtà c&#8217;è un&#8217;ulteriore categoria che avevo iniziato ad utilizzare: <em>da rivedere</em>, per cose potenzialmente interessanti.<br />
 Ma la verità è che la cartella in questione finiva per esplodere e tutto andava nel cestino, per cui ho deciso di eliminarla in toto. Se una cosa è effettivamente interessante c&#8217;è tempo di leggerla al volo. </li>
	<li><a href="http://chneukirchen.org/blog/archive/2007/02/introducing-rack.html">Rack </a> vorrebbe essere per ruby quel che <a href="http://www.python.org/dev/peps/pep-0333/">WSGI </a>è per python, ovvero un layer unificato per tutti i webframework che funzioni da astrazione rispetto a quel che c&#8217;è sotto, cgi/fcgi/scgi/mongrel/webrick etc. Gli auguro un grande grande successo. </li>
	<li>E nel frattempo ho anche scoperto <a href="http://ramaze.rubyforge.org">ramaze</a>, che mi pare una soprta di fork/clone ripulito di Nitro. Siccome l&#8217;unico problema di quest&#8217;ultimo è sempre stata la schizofrenia degli sviluppatori, potrebbe essere una cosa fantastica. </li>
	</ul>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/02/24/post-archivio-n-12/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Groovy 1.0, D 1.0, Perl 6,  Java 7 e Ruby 1.8</title>
		<link>http://riffraff.blogsome.com/2007/01/04/groovy-10-d-10-perl-6-java-7-e-ruby-18/</link>
		<comments>http://riffraff.blogsome.com/2007/01/04/groovy-10-d-10-perl-6-java-7-e-ruby-18/#comments</comments>
		<pubDate>Thu, 04 Jan 2007 08:56:32 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>java</category>
	<category>perl6</category>
	<category>pugs</category>
		<guid>http://riffraff.blogsome.com/2007/01/04/groovy-10-d-10-perl-6-java-7-e-ruby-18/</guid>
		<description><![CDATA[	Pare che questa sia stata una settimana intensa sul fronte dei linguaggi di programmazione, ed è una cosa buona. 
	In particolare è una cosa buona per me, visto che oggi ho tempo di scrivere questo post mentre domani me ne torno nella terra degli unni, il che significherà un probabile /away di un mese dal [...]]]></description>
			<content:encoded><![CDATA[	<p>Pare che questa sia stata una settimana intensa sul fronte dei linguaggi di programmazione, ed è una cosa buona. </p>
	<p>In particolare è una cosa buona per me, visto che oggi ho tempo di scrivere questo post mentre domani me ne torno nella terra degli unni, il che significherà un probabile <tt>/away</tt> di un mese dal mondo tecnologico. Siccome voglio chiudere in bellezza vi lascio qualcosa di corposo da leggere.</p>
	<p><strong>Pugs &#038; teoria dei numeri</strong><br />
Ma dicevo, settimana intensa sul fronte programmatorio. Anzitutto l&#8217;Autore è diventato committer di <a href="http://svn.pugscode.org/">pugs</a>, dimostrando che effettivamente il commit bit viene dato via con estrema facilità.<br />
In particolare il suo ultimo contributo è stato il problema numero 32, implementare l&#8217;algoritmo di euclide per il minimo comune multiplo:<br />
<code></p>
	<pre>
# Perl6 impone l'ottimizzazione delle tail call, per cui
# non abbiamo bisogno di scrivere la routine in forma iterativa.
# Ale' !
	
multi sub gcd(Int $a, Int $b){
    return $a if $b == 0;
    return gcd($b,$a % $b);
}
	
is gcd(36,63), 9, \"We should be able to find the gcd of 36 and 63\";
is gcd(63,36), 9, \".. and viceversa\";
is gcd(0,5)  , 5, '.. and that gcd(0,$x) is $x';
is gcd(0,0)  , 0, '.. even when $x is 0';
</pre>
	<p></code><br />
Notate la finezza per cui gcd è definito come un multimetodo, perché in teoria è possibile definire la funzione in qualsiasi <a href="http://it.wikipedia.org/wiki/Anello_commutativo">anello commutativo</a>, non solo per gli interi. </p>
	<p>Ovviamente io so che esiste una cosa chiamata <em>anello commutativo</em>, ma non mi ricordo cosa sia veramente e questa nota è un semplice plagio da wikipedia. </p>
	<p>Il che tra l&#8217;altro mi da l&#8217;occasione di far notare che <em>la definizione di numero primo su en.wikipedia è sbagliata</em>.<br />
Uno (1) non è un numero primo, per definizione un numero primo è un numero positivo divisibile solo per se stesso e per 1 ma diverso da uno (o -1).<br />
Questo perché, se usiamo questa definizione poi ci viene fuori il fantastico teorema fondamentale dell&#8217;aritmetica che è:</p>
	<blockquote><p>
Ogni numero naturale diverso da 1 o è un numero primo o si può esprimere come prodotto di numeri primi. Tale rappresentazione è unica a meno dell&#8217;ordine in cui compaiono i fattori.
</p></blockquote>
	<p>Il motivo di questo delirio era ovviamente <a href="http://en.wikipedia.org/wiki/Prime_number">la soluzione del problema 31</a>.</p>
	<p>Tornando a Perl6, forse l&#8217;Autore potrà raccontare ai suoi nipotini che se una subroutine dichiarata come <tt>Bool</tt> converte automaticamente un valore di ritorno <tt>undef</tt> in <tt>False</tt> è merito suo. Larry sembrava ponderoso sull&#8217;argomento, ma ci sono speranze. </p>
	<p><strong>Groovy 1.0</strong><br />
E a proposito di linguaggi con dichiarazioni di tipo opzionali, <a href="http://groovy.codehaus.org/">Groovy</a> ha finalmente raggiunto la versione 1.0.<br />
Per parte mia, ritengo che Groovy sia un linguaggino carino, mi piace un sacco che abbiano la variabile implicita <tt>&#8220;it&#8221;</tt> nei blocchi, ad esempio, che permette di scrivere</p>
	<pre>
[1,2,3].each { print it}
</pre>
	<p>Ma in fondo è solo un poco interessante dialetto di ruby per la JVM.<br />
Il Lettore arguto potrebbe obiettare che ruby è solo un poco interessante dialetto del lisp o di smalltalk per unix, ma ho fiducia che i Lettori arguti non siano dei rompipalle. </p>
	<p><strong>D 1.0</strong><br />
Più interessante è invece il linguaggio D, che<a href="http://developers.slashdot.org/developers/07/01/01/2041256.shtml"> raggiunge la 1.0 </a>, e mi han fatto notare che adesso c&#8217;è anche un pacchetto debian di <acronym title="Gnu D compiler">gdc</acronym>.  </p>
	<p>L&#8217;Autore invita a notare che gdc è un anagramma di gcd, e questo ovviamente non è un caso.</p>
	<p>IMHO D è un&#8217;ottimo esempio di linguaggio di sistema moderno. Design By Contract, libreria ricca (regexp, socket, thread), strutture dati come array dinamici ed hash integrate, OOP fatta in modo sensato, supporto unicode etc..</p>
	<p>Ma perché D prenda piede ha bisogno di un progettone open source che lo traini (server ftp/http/whatever, nuova implementazione di X11, linguaggio usato per nuke&#8217;em forever&#8230;) , e questo non verrà fuori a brevissimo tempo, temo.<br />
Python e Ruby ci hanno messo una decina d&#8217;anni a sfondare.<br />
E nel frattempo la concorrenza non se ne sta ferma, con il nuovo C++ in arrivo, il nuovo C# e i futuri Java, quindi imo il futuro di D non è particolarmente brillante.<br />
Ma speriamo che mi sbagli. </p>
	<p><strong>Java 7</strong><br />
Guardiamoci in faccia, la comunità Java si è data una svegliata, hanno corretto, o provato a correggere, il linguaggio dove aveva delle falle troppo grosse (generic, autoboxing etc), hanno esteso la libreria dove ce n&#8217;era bisogno (<tt>java.util.concurrent</tt> etc), hanno cercato di abbracciare le richieste della comunità (JVM open source, invokedynamic).<br />
E in java 7 ci saranno anche le closure, cosa <a href="http://riffraff.blogsome.com/2006/08/19/java-7-dolphin-avra-le-closure/">che già sapeva </a>, ma quello che non sapevo è il modo con cui esse si integreranno con le api precedenti. </p>
	<p>In pratica, la closure viene utilizzata per costruire un&#8217;oggetto anonimo che viene poi infilato dentro l&#8217;interfaccia che già esisteva per i metodi. Ok, non si è capito, intendo dire che ad esempio una funzione <tt>startComputation(Runnable r)</tt> può essere richiamata con una closure come argomento, che verrà poi convertita automaticamente nel metodo <tt>run</tt> di un oggetto <tt>Runnable</tt> creato al volo.<br />
Ovviamente, affinché il compilatore sia in grado di gestire correttamente la cosa è necessario che riesca a capire in che metodo mettere il blocco, quindi perché la cosa funzioni l&#8217;interfaccia deve fornire un solo metodo, come fa <tt>Runnable</tt> con <tt>run</tt>. </p>
	<p>Per il resto è bello vedere come queste closure siano <em>identiche</em> ai blocchi in ruby, ad esempio non vengono segnalate nell&#8217;eccezioni come funzioni aggiuntive, il <tt>return</tt> da una closure esce dal blocco esterno ad essa invece che dalla closure, se si mettono come argomenti speciali si può usare una sintassi più carina etc..<br />
Vabè, ma è inutile che ve ne parli io, andatevi a leggere l&#8217;<a href="http://www.artima.com/lejava/articles/neal_gafter_closures.html">intervista a neal gafter</a></p>
	<p><strong>Conclusione</strong><br />
Siamo al 4 gennaio, e già c&#8217;è un sacco di roba a cui pensare.<br />
In più <a href="http://www.neropercaso.it">lawrence</a> ha scelto erlang  come <acronym title="language of the year">LoTY</acronym>, il che suggerisce che si potrebbe seguirlo.<br />
E poi mi sono impegnato a rendermi utile con sette gruppi di persone differenti.<br />
Ed avrei due o tre progettini da portare avanti.<br />
E devo prendere una cavolo di laurea (&#8221;oh no, di nuovo!&#8221; [cit]) .</p>
	<p>Ma se ne parla da febbraio,  da febbraio.
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2007/01/04/groovy-10-d-10-perl-6-java-7-e-ruby-18/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Java 7 (dolphin) avrà le closure</title>
		<link>http://riffraff.blogsome.com/2006/08/19/java-7-dolphin-avra-le-closure/</link>
		<comments>http://riffraff.blogsome.com/2006/08/19/java-7-dolphin-avra-le-closure/#comments</comments>
		<pubDate>Sat, 19 Aug 2006 07:26:21 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>java</category>
	<category>personale</category>
		<guid>http://riffraff.blogsome.com/2006/08/19/java-7-dolphin-avra-le-closure/</guid>
		<description><![CDATA[	Ovvero Sun finalmente ha fatto una cosa sensata 
Ci saranno funzioni anonime con scope lessicale in Java 7, e speriamo anche un bel po&#8217; di posti nuovi dove poterle usare. Questa è un po&#8217; di documentazione a riguardo e questo è l&#8217;annuncio di gilad bracha.
Il nuovo python con i blocchi, C#3 e Java7 con i [...]]]></description>
			<content:encoded><![CDATA[	<p>Ovvero Sun finalmente ha fatto una cosa sensata <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Ci saranno funzioni anonime con scope lessicale in Java 7, e speriamo anche un bel po&#8217; di posti nuovi dove poterle usare. <a href="http://blogs.sun.com/roller/resources/ahe/closures.pdf">Questa</a> è un po&#8217; di documentazione a riguardo e questo è l&#8217;<a href=http://blogs.sun.com/roller/page/gbracha?entry=achieving_closure">annuncio di gilad bracha</a>.<br />
Il nuovo python con i blocchi, C#3 e Java7 con i blocchi, perl e ruby li avevano da una vita&#8230; misà che cominciano ad essere pochi i linguaggi rimasti senza. Come ha detto qulcuno, se il tuo linguaggio non ha i blocchi vedi se puoi farti ridare i soldi  <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2006/08/19/java-7-dolphin-avra-le-closure/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Mustang beta 2</title>
		<link>http://riffraff.blogsome.com/2006/06/19/mustang-beta-2/</link>
		<comments>http://riffraff.blogsome.com/2006/06/19/mustang-beta-2/#comments</comments>
		<pubDate>Mon, 19 Jun 2006 23:18:47 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>java</category>
	<category>personale</category>
	<category>fun</category>
		<guid>http://riffraff.blogsome.com/2006/06/19/mustang-beta-2/</guid>
		<description><![CDATA[	Ovvero, java.succ.
	Link solo perché questo fa troppo ridere:
	
# Scripting
You can now mix in JavaScript technology with your Java technology source code, useful for prototyping. Also useful when you have teams with a variety of skill sets. More advanced developers can plug in their own scripting engines and mix their favorite scripting language in with Java [...]]]></description>
			<content:encoded><![CDATA[	<p>Ovvero, <a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/beta2.html">java.succ</a>.</p>
	<p>Link solo perché questo fa troppo ridere:</p>
	<blockquote><p>
# Scripting<br />
You can now mix in JavaScript technology with your Java technology source code, useful for prototyping. Also useful when you have teams with a variety of skill sets. More advanced developers can plug in their own scripting engines and mix their favorite scripting language in with Java code as they see fit.</p>
	<p>Perhaps You ThougHt yOu couldN&#8217;t program with a scripting language and Java togetheR. Which will yoU Be trYing ?
</p></blockquote>
	<p>PS<br />
non ho tempo di campare!
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2006/06/19/mustang-beta-2/feed/</wfw:commentRss>
	</item>
		<item>
		<title>MobilePedia Wikipedia in j2me</title>
		<link>http://riffraff.blogsome.com/2006/06/04/mobilepedia-wikipedia-in-j2me/</link>
		<comments>http://riffraff.blogsome.com/2006/06/04/mobilepedia-wikipedia-in-j2me/#comments</comments>
		<pubDate>Sun, 04 Jun 2006 19:43:03 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>java</category>
	<category>software</category>
		<guid>http://riffraff.blogsome.com/2006/06/04/mobilepedia-wikipedia-in-j2me/</guid>
		<description><![CDATA[	Chissà che succede in questi giorni, pare che chiunque conosco stia rilasciando roba utile al mondo 
In particolare congratulazioni a Luca e Federico, che hanno appena tirato fuori un&#8217;utile applicazione per consultare wikipedia via cellulare, con licenza GPL. 
	Io non ho la possibilità di provarla per colpa della mia inferiorità tecnologica, ma sembra carina  [...]]]></description>
			<content:encoded><![CDATA[	<p>Chissà che succede in questi giorni, pare che chiunque conosco stia rilasciando roba utile al mondo <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
In particolare congratulazioni a Luca e Federico, che hanno appena tirato fuori un&#8217;utile <a href="http://mobilepedia.javastaff.com/">applicazione per consultare wikipedia via cellulare</a>, con licenza GPL. </p>
	<p>Io non ho la possibilità di provarla per colpa della mia inferiorità tecnologica, ma sembra carina <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2006/06/04/mobilepedia-wikipedia-in-j2me/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Ruby @ JUGPadova &#038; il mondo</title>
		<link>http://riffraff.blogsome.com/2006/05/23/ruby-jugpadova-il-mondo/</link>
		<comments>http://riffraff.blogsome.com/2006/05/23/ruby-jugpadova-il-mondo/#comments</comments>
		<pubDate>Tue, 23 May 2006 09:04:10 +0000</pubDate>
		<dc:creator>gabriele</dc:creator>
		
	<category>ruby</category>
	<category>java</category>
	<category>personale</category>
	<category>blogosfera</category>
	<category>fun</category>
	<category>rubyonrails</category>
		<guid>http://riffraff.blogsome.com/2006/05/23/ruby-jugpadova-il-mondo/</guid>
		<description><![CDATA[	Insomma l&#8217;hanno fatto. Il meting del java user group padovano su ruby &#038; rails intendo.
E pare sia andato alla grande,  viva l&#8217; interimpollinazione informatica.
Il mio sogno di organizzare una conferenza a linguaggi unificati sembra ogni giorno meno assurdo, peccato che fino a dicembre/gennaio non se ne parla..
	Ma quello che volevo dire in questo post [...]]]></description>
			<content:encoded><![CDATA[	<p>Insomma l&#8217;hanno fatto. Il <a href="ruby-it.org/pages/Ruby%40JUGPadova/">meting del java user group padovano su ruby &#038; rails</a> intendo.<br />
E pare sia andato alla grande,  viva l&#8217; interimpollinazione informatica.<br />
Il mio sogno di organizzare una conferenza a linguaggi unificati sembra ogni giorno meno assurdo, peccato che fino a dicembre/gennaio non se ne parla..</p>
	<p>Ma quello che volevo dire in questo post è che seguo <a href="http://www.monja.it">pensieri sparsi</a> perché l&#8217;autrice usa <a href="http://www.scrive.it">scrive.it</a> ed i suoi commenti sui film erano in linea con i miei e della mia dolce metà.<br />
E poi è un blog simpatico  <img src='http://riffraff.blogsome.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
	<p>(Notiamo che scrive.it è fatto con rails. )</p>
	<p>Poi oggi, guardando il suddetto blog ho trovato nel <a href="http://www.flickr.com/photos/monja/149926461/">fotostream di monja</a> le foto dell ruby@jugp. </p>
	<p>Il mondo è decisamente troppo piccolo. </p>
	<p>Che dite, è il caso di dire che è una <em>figata</em> ?
</p>
]]></content:encoded>
			<wfw:commentRss>http://riffraff.blogsome.com/2006/05/23/ruby-jugpadova-il-mondo/feed/</wfw:commentRss>
	</item>
	</channel>
</rss>
