<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7516269</id><updated>2011-09-19T11:38:29.118-07:00</updated><title type='text'>Everything sux</title><subtitle type='html'>ranting is your birtright</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7516269.post-112548566578142248</id><published>2005-08-31T03:20:00.001-07:00</published><updated>2005-08-31T06:21:04.506-07:00</updated><title type='text'>[Java] Conosci Davvero Java?</title><content type='html'>Java è un linguaggio complicato.&lt;br /&gt;Avendo un sacco di colleghi in disaccordo con questa tesi, mi sono preparato una piccola lista di domande per dimostrare che nemmeno loro si immaginano quanto sia complicato ;)&lt;br /&gt;&lt;br /&gt;Se vi ritenete esperti Java dovreste sapere le risposte, se non le sapete,  sono tra i commenti&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Riscaldamento: cosa stampa questo codice?&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Main {&lt;br /&gt;int myInt;&lt;br /&gt;double myDouble;&lt;br /&gt;boolean myBoolean;&lt;br /&gt;&lt;br /&gt;public static void main( String []args){&lt;br /&gt;Main obj=new Main();&lt;br /&gt;System.out.print(obj.myInt);&lt;br /&gt;System.out.print("  " + obj.myDouble);&lt;br /&gt;System.out.println(&lt;br /&gt;                "  " + obj.myBoolean);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dato il codice&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Calendar cal = Calendar.getInstance();&lt;br /&gt;cal.set(1999, 12, 31);&lt;br /&gt;System.out.print(cal.get(Calendar.YEAR) + " ");&lt;br /&gt;System.out.print(cal.get(Calendar.MONTH) + " ");&lt;br /&gt;System.out.println(cal.get(Calendar.DAY_OF_MONTH));&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;cosa credete che venga stampato a schermo?&lt;/li&gt;&lt;br /&gt;&lt;li&gt; In questo codice c'è un evidente errore, siete in grado di individuarlo?&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void copy(File src, File dst) throws IOException {&lt;br /&gt;FileChannel in = null, out = null;&lt;br /&gt;try { &lt;br /&gt;  in = new FileInputStream(src).getChannel();&lt;br /&gt;  out = new FileOutputStream(dst).getChannel();&lt;br /&gt;  long size = in.size();&lt;br /&gt;  MappedByteBuffer buf = in.map(FileChannel.MapMode.READ_ONLY, 0, size);&lt;br /&gt;  out.write(buf);&lt;br /&gt;} finally {&lt;br /&gt;  if (in != null) in.close();&lt;br /&gt;  if (out != null) out.close();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Quanto vale &lt;pre&gt; 1 &lt;&lt; 32&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Eseguendo questo codice:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt; System.out.println(10/magic(-2147483648));&lt;br /&gt;}&lt;br /&gt;static int magic(int x){&lt;br /&gt; if (x !=0)&lt;br /&gt;     return x+x;&lt;br /&gt; return 1;&lt;br /&gt;}   &lt;/pre&gt;&lt;br /&gt;cosa viene stampato a schermo?&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;I &lt;i&gt;modifier&lt;/i&gt; sono quelle cose tipo &lt;tt&gt;public&lt;/tt&gt; o &lt;tt&gt;static&lt;/tt&gt;. Facile, direte voi. La domanda è: quanti modifier ci sono in java?&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Se per qualche assurda ragione avete azzeccato la risposta precedente, sareste in grado di riee quali e spiegare a cosa servono?&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Avendo cura di includere &lt;tt&gt;java.lang.reflect.*&lt;/tt&gt;, Cosa stampa questo spezzone:&lt;br /&gt;&lt;pre&gt;System.out.print( Modifier.toString( Member.class.getModifiers() ) );&lt;/pre&gt;?&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Qual'è l'errore in questa innocua classe?&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Main {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static final double twoPI&lt;br /&gt;                       = 2 * myPI;&lt;br /&gt;public static final double myPI&lt;br /&gt;                        = Math.PI;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Potrebbero sembrare banali, ma io mi sbaglio spesso..  Quali tra queste sono assegnazioni valide ?&lt;/li&gt; &lt;/ol&gt; &lt;ul&gt;&lt;li&gt; double  b = 1.0;&lt;/li&gt;&lt;li&gt;float      c = .1f;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;float      a =  0.1;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;float      d = 1.f ;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;float      e = 3.2f ;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;double  f =  1. ;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;float      g = 0x23595959L ;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;float      h = 0x595959F ;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;double  i = 0X0;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;int         l = 2147483648;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;double  m = 2036373547;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;float      n = 2147483648;&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;double  m = 2147483648&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;  &lt;/ul&gt; &lt;ol&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-112548566578142248?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/112548566578142248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=112548566578142248' title='35 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112548566578142248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112548566578142248'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/08/java-conosci-davvero-java_31.html' title='[Java] Conosci Davvero Java?'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>35</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-112378587824438605</id><published>2005-08-11T11:44:00.000-07:00</published><updated>2005-08-11T11:44:38.286-07:00</updated><title type='text'>PHP Security, the oxymoron</title><content type='html'>Well, this time  &lt;a href="http://terrychay.com/blog/article/php-security-the-oxymoron.shtml"&gt;The Woodwork » Blog Archive » someone tells you &lt;/a&gt; that php is not insecure by default. &lt;br /&gt;I have a different idea, that basically boils down to:&lt;br /&gt;&lt;em&gt;it has a long history of security problems, and there is a social problem WRT to this concern in the PHP community.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;But, hey, I'll let you think about that. &lt;br /&gt;The only thing I'll point out is: leaving out the (self labeled) "Enterprise" languages, how often did you heard about a security problem in the other en vogue languages (yeah, the one with P and the other with R) ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-112378587824438605?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://terrychay.com/blog/article/php-security-the-oxymoron.shtml' title='PHP Security, the oxymoron'/><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/112378587824438605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=112378587824438605' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112378587824438605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112378587824438605'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/08/php-security-oxymoron.html' title='PHP Security, the oxymoron'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-112210589856439109</id><published>2005-07-23T01:04:00.000-07:00</published><updated>2005-07-23T01:04:58.570-07:00</updated><title type='text'>Weblogs Forum - When Generics Fail</title><content type='html'>Bruce Eckel sta conducendo da un bel po' di tempo una battaglia per dimostrare quanto siano brutti e cattivi i generics in Java5. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.artima.com/forums/flat.jsp?forum=106&amp;amp;thread=119863"&gt;In questa puntata&lt;/a&gt;, vorrebbe provarci ma un simpatico tizio di passaggio ci mostra come in realtà sia lui ad essere btutto e cattivo. Ilare, nevvero? &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-112210589856439109?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.artima.com/forums/flat.jsp?forum=106&amp;thread=119863' title='Weblogs Forum - When Generics Fail'/><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/112210589856439109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=112210589856439109' title='46 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112210589856439109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112210589856439109'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/07/weblogs-forum-when-generics-fail.html' title='Weblogs Forum - When Generics Fail'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>46</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-112158726189912388</id><published>2005-07-17T00:32:00.000-07:00</published><updated>2005-07-17T01:01:29.873-07:00</updated><title type='text'>[Varie] Buone Letture</title><content type='html'>Da una &lt;a href="http://www.ziobudda.net/news/add_comment.php?id_notizia=23320&amp;id_commento=33421"&gt;discussione sulle piattaforme web &lt;/a&gt;[1] su ziobudda, arriva una richiesta di suggerimenti su cose da leggere.&lt;br /&gt;&lt;br /&gt;Sinceramente non so in che ambito, ma questo non mi eviterà di fare lo stesso una lista, cercando di mantenerla minima:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I fondamentali, teoria della programmazione:&lt;br /&gt;&lt;/span&gt;sono quelli che ti permettono di capire perché un linguaggio è meglio di un altro (&lt;span style="font-style: italic;"&gt;per qualche definizione di "meglio"&lt;/span&gt;), e che ti insegnano a scrivere programmi usando tutta una gamma di approcci, permettendoti poi di scegliere  il migliore &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;   &lt;li&gt;structure and interpretation of computer programs (disponibile online)&lt;/li&gt;   &lt;li&gt;concepts, techniques and models of computer programming (si trova un vecchio draft con google, anche se conviene comprarlo)&lt;/li&gt;   &lt;li&gt;essential of programming languages (si trova anche questo, mi pare)&lt;br /&gt; &lt;/li&gt; &lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Gli importanti, design:&lt;br /&gt;&lt;/span&gt;cioè quelli che ti fanno capire come strutturare un applicazione. E non solo, ti fanno capire come farlo in modo che la chiarezza arrivi fino all'utente.&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Object Oriented Software Construction (mattone di 1300 pagine ma ottimo)&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;Design Patterns (quello di gamma et al, meglio dei vari cloni)&lt;/li&gt;   &lt;li&gt;On Lisp (serve conoscenza di base del CommonLISP, disponibile online)&lt;br /&gt; &lt;/li&gt; &lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I comportamentisti:&lt;br /&gt;&lt;/span&gt;ovvero quelli che più che insegnare tecniche di programmazione tendono a darti un'idea di come&lt;br /&gt;affrontare i vari compiti dello sviluppatore in maniera efficace&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;The Pragmatic Programmer (da leggere e rileggere)&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;Domain Driven Design (un po' troppo OO, ma buono)&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;Thinking in Forth (inaspettatamente, un libro dell'88 molto interessante)&lt;br /&gt; &lt;/li&gt; &lt;/ol&gt; &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Lo so, mancano quelli "di basso livello" (i.e. su C, Kernel, glibc etc): non conosco ottimi testi a riguardo, purtroppo. Di correlato però c'è "Code Reading", che usa l'albero dei port di NetBSD per insegnare una tecnica che troppo spesso è trascurata: imparare a fare una cosa vedendo come fanno quelli bravi.&lt;br /&gt;&lt;br /&gt;Per quel che riguarda lo sviluppo web nello specifico: purtroppo non conosco una fonte decente che tratti gli argomenti vari in maniera coerente.&lt;br /&gt;Praticamente nessun testo su PHP che ho visto era classificabile come "buona lettura", al massimo come "discreto tutorial". Non escludo ce ne siano, specie ora che PHP5 ha clonato Java, ma o non li conosco.&lt;br /&gt;I modelli MVC per il web sono spiegati bene o male ovunque, Bitter EJB e Bitter Java sono buoni testi per chi usa J2EE.&lt;br /&gt;La documentazione sui framework WebObject-like (CGIKit, Tapestry, JSFe qunt'altro) in generale è buona direttamente alla fonte. Anche la serie "In Action" di Manning press in genere ha buoni titoli a riguardo.&lt;br /&gt;&lt;br /&gt;Infine, gli ambienti continuation-based/modali. Sinceramente non conosco nemmeno un libro sull'argomento, anche se si trova qualche paper a riguardo. In compenso mi vengono in mente dei testi interessanti sulle continuazioni, magari farò una lista anche di quelli.&lt;br /&gt;&lt;br /&gt;[1] oh, si un giorno mi lamenterò di quanto siano pessime anche quelle che sembrano tanto in voga&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-112158726189912388?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/112158726189912388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=112158726189912388' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112158726189912388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112158726189912388'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/07/varie-buone-letture.html' title='[Varie] Buone Letture'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-112152134848119749</id><published>2005-07-16T06:42:00.000-07:00</published><updated>2005-07-16T07:04:21.276-07:00</updated><title type='text'>[C#] A Ritroso</title><content type='html'>&lt;a href="http://www.microsoft-watch.com/article2/0,2180,1837433,00.asp"&gt;Anders ci parla del passato,&lt;/a&gt; in modo che sembri futuro.&lt;br /&gt;Il papà di C# e Delphi non è uno scemo, suonerà pro-microsoft (e quindi azzardatamente avverso al ContropensieroUnico) ma C#2.0 non è un brutto linguaggio, e nemmeno il pascal ad oggetti lo era.&lt;br /&gt;&lt;br /&gt;Eppure anche lui in fondo è un drone di redmond, e quindi finisce a sostenere che le magnifiche sorti et progressive dipendono quasi linearmente dai suoi prodotti.&lt;br /&gt;Ad esempio, a proposito del fatto che C# nel futuro dovrà contenere qualche cosa che gli permetta di integrare linearmente SQL:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;[...]when you're learning to program in C#, you're actually not just learning to program in C#. You're also learning SQL. And you're also learning all the APIs [...]. And you're learning a whole style of writing a distributed application[...]But it doesn't necessarily have to be that way. The two worlds are actually surprisingly un-integrated.On the tools side, we're making tremendous progress on getting deeper integration between these two worlds. But I think on the language side, we also could make an enormous amount of progress.&lt;/blockquote&gt;Riuscite ad individuare i quattro errori? Pensateci bene, nei prossimi post la risposta&lt;br /&gt;C'è poi questo magnifico spezzone:&lt;br /&gt;&lt;blockquote&gt;Once you create another language, In the name of solving one problem, you buy yourself nine other problems. I think we can very naturally extend the languages that we have so that you can do it.&lt;/blockquote&gt;Ok, questa è un'altra chicca. Che c'entra il titolo del post con il post stesso? Semplice,  Anders sta cercando di farci capire in che modi meravigliosi e mirabolanti C# potrebbe aprirci le porte dell'avvenire, ma lo fa nello stesso identico modo in cui si è fatto per decenni, affrontando di nuovo problemi già risolti. Approfondimenti a breve.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-112152134848119749?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft-watch.com/article2/0,2180,1837433,00.asp' title='[C#] A Ritroso'/><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/112152134848119749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=112152134848119749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112152134848119749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112152134848119749'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/07/c-ritroso.html' title='[C#] A Ritroso'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-112090735684726361</id><published>2005-07-09T04:09:00.000-07:00</published><updated>2005-07-09T04:09:16.950-07:00</updated><title type='text'>[SemWeb]  Yahoo! My Web 2.0 </title><content type='html'>&lt;a href="http://www.livejournal.com/users/premshree/82307.html"&gt;Premshree&lt;/a&gt; shows a cool hack you can do with &lt;a href="http://myweb2.search.yahoo.com/"&gt;MyWeb2.0(beta)&lt;/a&gt;.&lt;br /&gt;Which basically is a &lt;em&gt;"let's tag all togheter"&lt;/em&gt; kind of website like many other now. &lt;br /&gt;&lt;br /&gt;The idea is that you can use the search engine, and while you do this you can tag stuff. &lt;br /&gt;You can even choose to chare your tagging with the world or with some friends or keep it for you. &lt;br /&gt;&lt;br /&gt;Now, repeat with me: I am not a yahoo employee, I will not classify the world for them.&lt;br /&gt;Ah damn, I'm addicted. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-112090735684726361?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.livejournal.com/users/premshree/82307.html' title='[SemWeb]  Yahoo! My Web 2.0 '/><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/112090735684726361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=112090735684726361' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112090735684726361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112090735684726361'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/07/semweb-yahoo-my-web-20.html' title='[SemWeb]  Yahoo! My Web 2.0 '/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-112067827345477280</id><published>2005-07-06T12:31:00.000-07:00</published><updated>2005-07-06T12:34:04.866-07:00</updated><title type='text'>[OS] Haiku almost live</title><content type='html'>&lt;a href="http://www.schmidp.com/blog/index.php?/archives/92-Tracker-is-running-on-Haiku..html"&gt;Tracker is running on Haiku. - philipp schmid's blog&lt;/a&gt;.&lt;br /&gt;If you ignore what Haiku is, well, it is an &lt;a href="http://www.haiku-os.org/"&gt;open source clone of BeOS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I loved BeOS. It had a great modern design. SMall kernel, great GUI, threaded from the ground up, it used to boot in seconds, and had great ideas all over the environment.&lt;br /&gt;And it is utterly dead, since the company that used to develop it was bought by Palm, Inc.&lt;br /&gt;Now, several groups of people are trying to revive it, this particualr bunch of coders is trying to clone it, maintaining binary compat, and writing completely from scratch.&lt;br /&gt;The great news is that they are now able to run tracker, which is to BeOS what explorer.exe is to windows&lt;br /&gt;&lt;br /&gt;The Awful news is that there is no space for 4 OSs in the x86ish desktop world.&lt;br /&gt;And Apple is coming to Intel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-112067827345477280?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.schmidp.com/blog/index.php?/archives/92-Tracker-is-running-on-Haiku..html' title='[OS] Haiku almost live'/><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/112067827345477280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=112067827345477280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112067827345477280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/112067827345477280'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/07/os-haiku-almost-live.html' title='[OS] Haiku almost live'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-111817580760873640</id><published>2005-06-07T13:23:00.000-07:00</published><updated>2005-06-07T13:24:03.516-07:00</updated><title type='text'>amarezza</title><content type='html'>qualcuno mi ha tirato &lt;a href="http://www.wup.it/article.php?sid=7497"&gt;in una discussione su php &lt;/a&gt;a causa della mia lista. Oh triste giorno, e io che l'avevo fatta a posta per evitarle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-111817580760873640?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/111817580760873640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=111817580760873640' title='33 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111817580760873640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111817580760873640'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/06/amarezza.html' title='amarezza'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>33</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-111654259258420745</id><published>2005-05-19T15:35:00.000-07:00</published><updated>2005-05-19T15:43:12.586-07:00</updated><title type='text'>Patents: Biggest. Fun. Evar.</title><content type='html'>This is so dumb.&lt;br /&gt;It seem that some corporation (I'm told it is MSFT, but I may be wrong) patented &lt;a href="http://www.freshpatents.com/Mapping-architecture-for-arbitrary-data-models-dt20050303ptan20050050068.php"&gt;"Data Mapping"&lt;/a&gt;.  For those who don't want to get a great laugh, this patented involves almost anything.&lt;br /&gt;&lt;br /&gt;You want to use xml to represent books? ok.&lt;br /&gt;SQL to represent graphs? ok.&lt;br /&gt;LDAP for Employees? check.&lt;br /&gt;YAML to represent Alien Invasion Plans? It's in.&lt;br /&gt;Actually I think it also covers ASCII representations of anything.&lt;br /&gt;&lt;br /&gt;Oh, wait look at this:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Another important attribute of the mapping architecture is that of      being updateable. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;INCREDIBLE! Damn, &lt;span style="font-style: italic;"&gt;this&lt;/span&gt; is ther geat part, I could have &lt;span style="font-weight: bold;"&gt;never&lt;/span&gt; thought of making something &lt;span style="font-style: italic;"&gt;updateable&lt;/span&gt; !&lt;br /&gt;&lt;br /&gt;Damn, the sucky thing is that there is really people taking patents seriously.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-111654259258420745?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/111654259258420745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=111654259258420745' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111654259258420745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111654259258420745'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/05/patents-biggest-fun-evar.html' title='Patents: Biggest. Fun. Evar.'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-111615056783913864</id><published>2005-05-15T02:41:00.000-07:00</published><updated>2005-05-15T02:49:27.843-07:00</updated><title type='text'>GMail</title><content type='html'>You know what's bad about usenet and mailing lists?&lt;br /&gt;The users.  Obviously this is also the good.&lt;br /&gt;&lt;br /&gt;The worst thing about the users on usenet and ML is top posting.&lt;br /&gt;&lt;br /&gt;A: well I do&lt;br /&gt;Q: really?&lt;br /&gt;A: I mean, hard to understand&lt;br /&gt;Q: in which way ?&lt;br /&gt;A: people find it is bad&lt;br /&gt;Q: why do you say so?&lt;br /&gt;A: no, you should not&lt;br /&gt;Q: Should I use top posting?&lt;br /&gt;&lt;br /&gt;OTOH, some people writing tools, i.e. the World Domination Inc, AKA Google, decided that gmail and google-groups2 should default to top posting. If microsoft had done this people would start up burning Seattle, but, hey, google is our friend is'nt it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-111615056783913864?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/111615056783913864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=111615056783913864' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111615056783913864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111615056783913864'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/05/gmail.html' title='GMail'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-111123106889436377</id><published>2005-03-19T03:12:00.000-08:00</published><updated>2005-03-19T03:17:48.896-08:00</updated><title type='text'>Better way</title><content type='html'>(from&lt;a href="http://tech.rufy.com/entry/19"&gt; here&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Java people like writing out System.out.println("Hello World!"); Some like it because they want to see and constantly be reminded of everything that is going on in their programming environment. Some like it for the same reason that people learn Klingon. Some like it because they don’t know there is any other way.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;And obviously, people out of the java camp like to ignore that there is another way in java too:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import static System.out&lt;br /&gt;println("hello world");&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You think that the programming camp can get an advantage from &lt;span style="font-style: italic;"&gt;intercultural &lt;/span&gt;developers?&lt;br /&gt;Come one, this kind of people do not really exist. Life sux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-111123106889436377?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://tech.rufy.com/entry/19' title='Better way'/><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/111123106889436377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=111123106889436377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111123106889436377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111123106889436377'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/03/better-way.html' title='Better way'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-111049206053599284</id><published>2005-03-10T14:01:00.000-08:00</published><updated>2005-03-10T14:04:12.476-08:00</updated><title type='text'>[WEB] the world is a demo app</title><content type='html'>I mean, if you search "wasp" on google you'll get 2/10 results in the first page wich are web applications you may deserve to be paid for as a programmer.&lt;br /&gt;OTOH, one of the two is definitely a classical one, with no real interesting things.&lt;br /&gt;The other one is IMDB, quite a big and complex thing.&lt;br /&gt;&lt;br /&gt;So, I just realized that those idiot things people usually try to sell you, like auto(generating|plugging|writing|component-binding) frameworks that are good at building a demo application (but you always considered in the view of "this will sux for real app") are actually useful 90% of the time.&lt;br /&gt;Google is such a great teacher.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-111049206053599284?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/111049206053599284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=111049206053599284' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111049206053599284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/111049206053599284'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/03/web-world-is-demo-app.html' title='[WEB] the world is a demo app'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-110975575360435971</id><published>2005-03-02T01:29:00.000-08:00</published><updated>2005-03-17T06:44:08.793-08:00</updated><title type='text'>[XML] My top 12 reasons to avoid XML</title><content type='html'>well, &lt;a href="http://jroller.com/page/nathan/20050301#12_reasons_to_use_flat"&gt;this&lt;/a&gt; was funny.&lt;br /&gt;It is an ironic list of reasons to why you should use flat files over xml.&lt;br /&gt;I'm not an xml hater. I mean nothing wrong in it as an mh.. format for.. well..&lt;br /&gt;Ok, here's my list:&lt;br /&gt;&lt;span style="color: rgb(64, 79, 100);font-family:Verdana;font-size:8;"  &gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;xml is human readable and SOAP is not a counter example.&lt;/li&gt;   &lt;li&gt;xml is a simple standard, is not like you have to know lot's of acronyms&lt;/li&gt;   &lt;li&gt;for decades we needed a hierarchical representation of data! what do you mean with "s-expressions" ? what "lisp" ?&lt;/li&gt;   &lt;li&gt;xml is a compact expression for simple name/value pairs&lt;br /&gt;&lt;/li&gt;  &lt;li&gt;xml is simple plain text, once you have a simple library to handle unicode, and a simple library to handle xml. It's not like you need some library to handle a binary format!&lt;/li&gt;   &lt;li&gt;xml is simple plain text, it is not like W3C is planning a &lt;a href="http://www.w3.org/XML/Binary/"&gt;binary representation of it&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;xml is a wonderful fit for configuration files, something we needed for decades! we could not use configuration files for sooo long!&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;xml is a wonderful format for a programming language, as Ant have shown us.&lt;br /&gt;&lt;/li&gt;    &lt;li&gt;xml is also a wonderful way to write a functional programming language that handles hierarchical structures, like xsl. Ah, stop this "lisp" and "s-expression" thing, please&lt;/li&gt;   &lt;li&gt;xml is a great way to duplicate configuration data that you could access via reflection outside of your application. This way you can think about them twice and do to them right.&lt;/li&gt;   &lt;li&gt;xml perfectly matches modern enterprise agile concepts such as hierarchical structures.&lt;/li&gt;   &lt;li&gt;xml is perfectly interoperable, it is not a case that old config files where so useless beetween different operating systems and languages. You can't really have&lt;a href="http://www.python.org/doc/2.4/lib/module-ConfigParser.html"&gt; a parser for them!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;xml is a wonderful base to build &lt;a href="http://easysoap.sourceforge.net/interop/"&gt;perfectly&lt;/a&gt; &lt;a href="http://simonfell.manilasites.com/stories/storyReader$51"&gt;interoperable&lt;/a&gt; &lt;a href="http://soap.fmui.de/interop/interop1999.html"&gt;protocols&lt;/a&gt;,  that &lt;a href="http://www.pocketsoap.com/weblog/soapInterop/base.html"&gt;will&lt;/a&gt;   &lt;a href="http://ksoap.objectweb.org/software/documentation/round-2-base/index.html"&gt;work&lt;/a&gt; like a charm &lt;a href="http://www.onlamp.com/pub/a/php/2003/10/30/amazon_rest.html"&gt;with each other&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;    &lt;li&gt;xml is so widely used and&lt;a href="http://xmlsucks.org/"&gt; loved&lt;/a&gt;!&lt;br /&gt;&lt;/li&gt;   &lt;/ul&gt;&lt;br /&gt;PS&lt;br /&gt;tiny list of xml related acronyms and famous names:&lt;br /&gt;&lt;span class="secondary"&gt;&lt;span style="text-decoration: underline;"&gt;XSL,XML, XSLT, XSL-FO, DTD, Schema, SAX, DOM, RelaxNG, XLink, SAX2, XPath, XQuery, RDF, RSS, ATOM, XForms, XPointer, not to mention JAXP, JAXB, DOM4J, JDOM, XHTML, PULL, XOM, XUL, XAML, BinaryXML, XSchema, SOAP, WSDL, XInclude , SMIL, SAAJ, ebXML, or JAXR&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-110975575360435971?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jroller.com/page/nathan/20050301#12_reasons_to_use_flat' title='[XML] My top 12 reasons to avoid XML'/><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/110975575360435971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=110975575360435971' title='36 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/110975575360435971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/110975575360435971'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2005/03/xml-my-top-12-reasons-to-avoid-xml.html' title='[XML] My top 12 reasons to avoid XML'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109509650947110338</id><published>2004-09-13T10:07:00.000-07:00</published><updated>2004-09-13T10:28:29.476-07:00</updated><title type='text'>[C#] Why not</title><content type='html'>In risposta a &lt;a href="http://blogs.ugidotnet.org/PenPal/archive/2004/09/13/2323.aspx"&gt;questo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;   &lt;li&gt; pessimo motivo, come dice perlis "&lt;span style="font-style: italic;"&gt;se imparare un nuovo linguaggio non cambia il tuo modo di pensare a che serve&lt;/span&gt;"?&lt;/li&gt;   &lt;li&gt;C# viene venduto da un bel po' come un java migliore. Giacché manca una confronto con, tanto per dire, VisualWorks, direi che è inutile gareggiare con un coniglio senza zampe anteriori. Ma è stupendo sapere che i .nettisti si sentono soggetti a scarsa considerazione da parte dei Javanesi. Potrebbero forse comprendere, un giorno, come si sente il resto del mondo della programmazione.&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;Le motivazioni dei generic con type erasure sono in primis il mantenimento della compatibilità. La JVM non deve cambiare, il che significa mantenere la compatibilità con una quantità di installazioni (e di società che producono sw per la jvm o la manipolazione di bytecode) enorme. La MS non ha questo problema, il perché viene lasciato come esercizio per il lettore. In secundis (il motivo vero) il JCP non ha fatto altro che standardizzare un meccanismo già rodato da &lt;span style="font-style: italic; font-weight: bold;"&gt;anni &lt;/span&gt;in Generic Java (e Pizza). &lt;br /&gt; &lt;/li&gt;   &lt;li&gt;Tre bis, in verità. Non si capisce cosa si intenda a questo punto. Prima si parla di conformismo a proposito di una feature che è unica in java, e per la quale lo stesso autore di C# sta cercando un'evoluzione migliore. Poi sembra ci sia una curva verso un generico &lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;span style="font-style: italic;"&gt;voglio fare quello che mi pare&lt;/span&gt;&lt;span style="font-style: italic;"&gt;, tanto non sono sciocco&lt;/span&gt;" che suona vagamente come l'inno dei propositori di ruby o python.&lt;br /&gt;&lt;/li&gt;   &lt;li style="font-style: italic;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;"ma vale veramente la pena costringere il mio cliente a spendere il 10-20% in più sull'hardware per poter far girare una applicazione talmente generica da poter funzionare ugualmente su Windows che su Linux o Mac?" &lt;/span&gt;&lt;/li&gt; Dipende, vale davvero la pena di scrivere un'applicazione lato server che girerà solo su una minima parte dei server la fuori?  Vale davvero la pena di scrivere un'applicazione managed rispetto ad una nativa? Il simpatico ragionamento porta alla ovvia conclusione che si dovrebbe poter usare un linguaggio di alto livello, che non abbia problemi di portabilità, che compili efficentemente quanto il C.. Forse, Andrea,  vuoi Ocaml e CMUCL ?&lt;br /&gt;&lt;/ol&gt; &lt;ol&gt;   &lt;/ol&gt;&lt;br /&gt;Pace e bene.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109509650947110338?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109509650947110338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109509650947110338' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109509650947110338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109509650947110338'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/09/c-why-not.html' title='[C#] Why not'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109465816721338404</id><published>2004-09-08T08:27:00.000-07:00</published><updated>2004-09-09T00:05:07.646-07:00</updated><title type='text'>[ST+LISP] Problems with lisp and STrc</title><content type='html'>Stimulated from &lt;a href="http://www.amber.org/%7Epetrilli/archive/2004/09/04/subtracting_to_greatness.html"&gt;this&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Python is growing. It added stuff. It will remove some, one day, I hope.&lt;br /&gt;&lt;br /&gt;Even perl continued adding stuff for decades. Now with perl6 they will have almost everything ever thought in computer science, but IIUC basically it boils down to few concepts: objects and hygienic macros. They added and removed.&lt;br /&gt;&lt;br /&gt;Ruby, which is a newer language, has been almost the same for ten years (It was lispish and smalltalkish from the beginning, but I think first-class class variables were added).&lt;br /&gt;In version 2.0 it will change somehow, anyway. It will had some better method wrapping, maybe namespaces, and simplify other things.&lt;br /&gt;&lt;br /&gt;But lisp and ST remained (mostly) the same. in the last 20 years.&lt;br /&gt;And guess what? They did not succeed.&lt;br /&gt;They just survived till now, with a small clique of people that love 'em.&lt;br /&gt;C++ succeded, being that crappy mess that it is, COBOL did, and Java did.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sure, I like ST+Lisp, I know CMUCL is faster than gcc, I know that VW is &lt;span style="font-style: italic;"&gt;soooo &lt;/span&gt;much better than Eclipse, I know that "pure oo", "aop", "mmd" were ideas predated decades ago in ST &amp; Lisp.&lt;br /&gt;&lt;br /&gt;Yet they did not succeed.&lt;br /&gt;&lt;br /&gt;This must force someone to reflect on why.&lt;br /&gt;It relates to being so &lt;em&gt;strange&lt;/em&gt;.&lt;br /&gt;It relates to being so isolated from the rest of the world.&lt;br /&gt;It relates to being too advanced for the  '7o.&lt;br /&gt;&lt;br /&gt;And in the end it relates to their very essence: Lisp and ST are so freaking mind twisting that people do not want to use them.&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;wait I want!&lt;/span&gt;"&lt;br /&gt;Sure you do, but not many people.&lt;br /&gt;And they are this way because they need to be this way. This is how they predated AOP and so on.&lt;br /&gt;&lt;br /&gt;But people want simplicity. I mean, if ST used a standard &lt;span style="font-family:courier new;"&gt;if: &lt;/span&gt;it would have been much more easy to understand. If there were no funny punctuation everywhere, too. If CommonLisp did not have stuff like &lt;span style="font-family:courier new;"&gt;rplacd&lt;/span&gt; or &lt;span style="font-family:courier new;"&gt;nconc. &lt;/span&gt;If variables used a more standard declaration.&lt;br /&gt;&lt;br /&gt;Actually people want &lt;span style="font-weight: bold;"&gt;normality&lt;/span&gt;. They want to write&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; a and (b or c)&lt;/span&gt;&lt;br /&gt;not&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; (and a (or b c))&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;And obviously they don't want to write:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; Object subclass: #Foo&lt;/span&gt;&lt;br /&gt;cause&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; class Foo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;is so much more obvious.&lt;br /&gt;&lt;br /&gt;What's wrong with little less purity? Nothing.&lt;br /&gt;You &lt;span style="font-weight: bold;"&gt;can&lt;/span&gt; change things, if you're not strongly thight to a committee approved standard.&lt;br /&gt;And you can anyway, see i ST, namespaces , the Morph interface in Squeak or Pollock in VW.&lt;br /&gt;&lt;br /&gt;There are no bonus points for being the same language for 100 years. You name python decorators. They did not added a feature to the language. They took a common idiom and put it in a nice form, &lt;em&gt;because people want this&lt;/em&gt;.&lt;br /&gt;ST and Lisp answered lots of questions, just not what people were asking.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PS&lt;br /&gt; ST+Lisp &lt;strong&gt;are&lt;/strong&gt; still evolving imo. StrongTalk, Self, Slate, F-Script are there for ST. Not to mention  the Traits paper, &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Squeak's peculiarities, VW ones etc.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Goo, every Scheme's RFI, Arc and so on are meant to evolve Lisp&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The fact that the standards for SmallTalk-80 and CommonLisp do not evolve is unrelated&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109465816721338404?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109465816721338404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109465816721338404' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109465816721338404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109465816721338404'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/09/stlisp-problems-with-lisp-and-strc.html' title='[ST+LISP] Problems with lisp and STrc'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109429426419269090</id><published>2004-09-04T03:36:00.000-07:00</published><updated>2004-09-04T03:37:44.193-07:00</updated><title type='text'>[python] future problems with genexp</title><content type='html'> Yuk, you'd think that generator expressions do not break nothing.&lt;br /&gt;Actually &lt;a href="http://zephyrfalcon.org/weblog2/arch_e10_00630.html#e633"&gt;it seem they do&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109429426419269090?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109429426419269090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109429426419269090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109429426419269090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109429426419269090'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/09/python-future-problems-with-genexp.html' title='[python] future problems with genexp'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109414393700406763</id><published>2004-09-02T09:11:00.000-07:00</published><updated>2004-09-02T09:53:13.536-07:00</updated><title type='text'>I Wish I Was in Y3K</title><content type='html'>Actually I just wish I had python 3k.&lt;br /&gt;As of current python 2.4 there are a lot of partially overlapping features that really should be cleaned up. Old style classes vs new style, list comprehension vs gen exp, &lt;span style="font-family:courier new;"&gt;dict.items&lt;/span&gt; vs &lt;span style="font-family:courier new;"&gt;dict.iteritems &lt;/span&gt;and so on.&lt;br /&gt;&lt;br /&gt;And damn, there are things that are so utter stupid:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;`foo`&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;is the syntax that almost any scripting language on earth uses too launch external commands. Ugly, I know.&lt;br /&gt;Python has that too. And it means : &lt;span style="font-family:courier new;"&gt;repr(foo)&lt;/span&gt;&lt;br /&gt;Why the hell?&lt;br /&gt;&lt;br /&gt;Not to mention print as a keyword. Man, that is so nonsensish, but I could accept it if we did not have&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;print &gt;&gt;somefile&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This&lt;/span&gt;, is the absurd thing. Anyway I don't even really feel &lt;span style="font-family:courier new;"&gt;assert &lt;/span&gt;is a good thing as a keyword, but I can quite accept it..&lt;br /&gt;&lt;br /&gt;But, hey, did I talked about &lt;span style="font-family:courier new;"&gt;for..else&lt;/span&gt; ?&lt;br /&gt;Yeah, I mean it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;for i in foo:&lt;br /&gt;hoge&lt;br /&gt;else:&lt;br /&gt;fuga&lt;br /&gt;&lt;/pre&gt;What of a control statement is this? When damn the &lt;span style="font-family:courier new;"&gt;else &lt;/span&gt;is executed?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well, this is quite obscure.&lt;br /&gt;Luckily we can use the great&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;while  (cond):&lt;br /&gt;foo&lt;br /&gt;else:&lt;br /&gt;bar&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Finally, not that I think this is much better but somewhat makes more sense:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;try:&lt;br /&gt;foo&lt;br /&gt;except:&lt;br /&gt;boo&lt;br /&gt;else:&lt;br /&gt;moo&lt;br /&gt;finally:&lt;br /&gt;goo&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Try to guess when the&lt;span style="font-family:courier new;"&gt; else&lt;/span&gt; is executed.  Please do not  read the manual.&lt;br /&gt;&lt;br /&gt;I guess Guido was drunk when thinking this. I mean there is no &lt;span style="font-family:courier new;"&gt;case/switch&lt;/span&gt; statement and there is &lt;span style="font-style: italic;"&gt;this&lt;/span&gt;?&lt;br /&gt;&lt;br /&gt;BTW I understand that you can't break all the code out there.&lt;br /&gt;I just wish  python was better thought out. Why introducing list comp and generators in the same release?&lt;br /&gt;It is quite obvious that evryone wants gen comprehension!&lt;br /&gt;&lt;br /&gt;Also, I really think that a simple &lt;span style="font-family:courier new;"&gt;lazy &lt;/span&gt;keyword could have been a better thing to put in instead of gen exp. Much more general, and useful. Several "&lt;span style="font-style: italic;"&gt;strict"&lt;/span&gt; languages had something like this for a while, and it has proven useful and good.  Maybe in year 3k..&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109414393700406763?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109414393700406763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109414393700406763' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109414393700406763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109414393700406763'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/09/i-wish-i-was-in-y3k.html' title='I Wish I Was in Y3K'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109343198245209336</id><published>2004-08-25T04:05:00.000-07:00</published><updated>2004-08-25T04:06:22.453-07:00</updated><title type='text'>Java non è figo</title><content type='html'>Affermare che Java non sia figoso significa dire che la gente preferisce sparlarne piuttosto che usarlo. &lt;br /&gt;&lt;br /&gt;Ciò ha sicuramente ragioni sociali ('è molto diffuso') che ovviamente non ne giustificano i difetti ('pure internet explorer').&lt;br /&gt;La non figosità di java sta nel suo essere pensato per essere un semplice passo in avanti dal C verso LISP(citando g. steele) per l'utente mediocre. &lt;br /&gt; Non si intenda che tutti gli sviluppatori java siano mediocri o che lo sia il linguaggio in se, ma solamente che il linguaggio possiede una serie di meccanismi (sintassi più che prolissa, assenza di funzionalità, libreria standard strutturata in un certo modo) pensati per limitare il modo di pensare dell'utente. Concettualmente non si è poi molto lontani dal monomorfismo del Pascal.&lt;br /&gt;&lt;br /&gt;Questo è quello che rende java non figoso.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Inoltre il codice java potrebbe facilmente essere più leggibile. L'autoboxing potrebbe essere fatto meglio, si potrebbe omettere qualche dichiarazione di tipo o permettere l'overload degli operatori e molte altre cose che lo renderebbero più leggibile.&lt;br /&gt;&lt;br /&gt;E per aggirare le mancanze del linguaggio (ad esempio il MMD) si deve scrivere molto codice che non aggiunge nulla alla funzionalità del programma, ma serve solo a renderlo più oscuro.&lt;br /&gt;&lt;br /&gt;Se proprio si ama la jvm con annesse librerie, strumenti etc etc etc Io consiglio Nice (nice.sf.net). &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109343198245209336?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109343198245209336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109343198245209336' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109343198245209336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109343198245209336'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/java-non-figo.html' title='Java non è figo'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109317555857065370</id><published>2004-08-22T04:33:00.000-07:00</published><updated>2004-08-22T04:52:38.570-07:00</updated><title type='text'>Perl6, Intercal, and how everything is one thing</title><content type='html'>&lt;a href="http://www.sidhe.org/%7Edan/blog"&gt;Dan Sugalsky&lt;/a&gt;   is a man you can trust to find strange stuff.&lt;br /&gt;&lt;br /&gt;Given that he is the architect (&lt;span style="font-style: italic;"&gt;or designer or leader or Project OverLord or whatever is the word more en vogue in the computer industry today&lt;/span&gt;) of the Perl6 VM, you can bet that strange stuff will appear in it sooner or later. &lt;br /&gt;&lt;br /&gt;I mean, having a brainf**k interpreter was nice, everybody loves brainf**k.&lt;br /&gt;But this thing is cooler: Given that perl6 will have multimethod dispatch, parrot will have MMD too. And they can do MMD on the return value of a function too. And this mean they can easily do Intercal. &lt;a href="http://www.sidhe.org/%7Edan/blog/archives/000378.html"&gt;Ph34r P4rR07 l337Z0Rz&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109317555857065370?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109317555857065370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109317555857065370' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109317555857065370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109317555857065370'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/perl6-intercal-and-how-everything-is.html' title='Perl6, Intercal, and how everything is one thing'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109249406704719003</id><published>2004-08-14T07:08:00.000-07:00</published><updated>2004-08-14T07:38:28.773-07:00</updated><title type='text'>PHP problemi infiniti</title><content type='html'>Per qualche curiosa motivazione personaggi vari sostengono php.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sebbene php abbia rappresentato un'innovazione nell'ambito dello sviluppo web, a suo tempo, il motivo valido per usarlo adesso è... beh.. arduo da rintracciare.&lt;br /&gt;&lt;br /&gt;Giacché più e più volte il flame "&lt;span style="font-style: italic;"&gt;php sux/php rulez&lt;/span&gt;" si ripresenta, raccolgo qua dei pensieri a riguardo, affinché siano usati dai detrattori del linguaggio come promemoria, ed ai fautori come stimolo. Nelle speranze dell'Autore, tale lista potrà tagliare nettamente la lunghezza di numerosi flame, ove questi non aggiungano nulla alle discussione passate. Parlo di php5, invero.&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;php non ha namespace. Qualunque linguaggio che debba essere usato per un compito complesso dovrebbe fornire un metodo per segregare funzionalità diverse in spazi diversi da quello globale. PHP, simpaticamente, non lo fa.&lt;/li&gt;   &lt;li&gt;php ha un sistema ad oggetti ridicolo, in quanto:&lt;/li&gt;   &lt;li&gt;non esiste la possibilità di manipolare le metaclassi&lt;/li&gt;   &lt;li&gt;non esiste la possibilità gestire l'inizializzazione e l'allocazione di un oggetto distintamente, e numerose hot head di php non sanno neanche cosa significhi.&lt;/li&gt;   &lt;li&gt;non esiste una convenzione ne' forzata tramite sintassi ne' a livello sociale nel dare nomi a librerie, variabili, classi.&lt;/li&gt;   &lt;li&gt;     Non c'è supporto per la metaprogrammazione a nessun livello.   &lt;/li&gt;   &lt;li&gt;     Non ci sono funzioni di ordine superiore, currying, e &lt;b style="color: black; background-color: rgb(255, 153, 153);"&gt;lambda&lt;/b&gt;. Manipolare una funzione in php significa &lt;span style="font-weight: bold; font-style: italic;"&gt;fare l'eval ogni volta&lt;/span&gt;   &lt;/li&gt;   &lt;li&gt;non c'è supporto per le coroutine&lt;/li&gt;&lt;li&gt;non c'è supporto per directed coroutine (i generatori di python)&lt;/li&gt;   &lt;li&gt;non c'è call-with-current-continuation&lt;/li&gt;   &lt;li&gt;non ci sono eccezioni resumabili&lt;/li&gt;   &lt;li&gt;è impossibile estendere php in php (cfr tcl o lisp o in qualche misura ruby/python/smalltalk)&lt;/li&gt;   &lt;li&gt;SimpleXML è stato scritto da una manica di ubriachi. Ad esempio non è possibile gestire tag con nomi non nell'intervallo a-z.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;non c'è supporto per multilingualization, ovvero la possibilità di manipolare encoding vari in modo univoco. Addirittura non si possono usare encoding a più di otto bit.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;non esistono ne' mixin ne' trait ne' ereditarietà multipla, quindi mostruosa duplicazione del codice.&lt;/li&gt;   &lt;li&gt;hanno inventato un sistema di controllo dei tipi che avviene &lt;span style="font-weight: bold;"&gt;per ogni chiamata a funzione&lt;/span&gt;, ogni volta, controllando il tipo dei parametri. Vi lascio intuire che performance.&lt;/li&gt;   &lt;li&gt;lo zend engine è notoriamente un colabrodo a livello di sicurezza.&lt;/li&gt;   &lt;li&gt;php è un interprete lento, cercate sui benchmark del Grande Shootout o di scutigena.&lt;/li&gt;   &lt;li&gt;non c'è ottimizzazione delle tail call&lt;/li&gt;   &lt;li&gt;le classi non sono modificabili a run time&lt;/li&gt;   &lt;li&gt;le classi non si sa se siano oggetti, gli autori di php a riguardo non rispondono&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;php non è completamente ad oggetti. Se pensate che non essere full OO sia un vantaggio in termini di semplicità, vi prego di postare un esempio, e ve lo mostrerò più semplice.&lt;/li&gt;   &lt;li&gt;non c'è DBC e dato #12 non si può infilarcelo&lt;/li&gt;   &lt;li&gt;per qualche strano motivo gli array sono degli hash&lt;/li&gt;   &lt;li&gt;il sistema di controllo d'accesso è antiquato&lt;/li&gt;   &lt;li&gt;non c'è un sistema di sicurezza degli script builtin (vedi #17)&lt;/li&gt;&lt;li&gt;il sistema di type check è ridicolo per la sua imprecisione. Lo avessero lasciato completamente dinamico sarebbe meglio.&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;Se ritenete che Queste motivazioni siano errate o incomplete vi prego di commentare.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109249406704719003?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109249406704719003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109249406704719003' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109249406704719003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109249406704719003'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/php-problemi-infiniti.html' title='PHP problemi infiniti'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109248176352791931</id><published>2004-08-14T03:57:00.000-07:00</published><updated>2004-08-14T06:17:07.053-07:00</updated><title type='text'> Java,C,C++ sux, types do not</title><content type='html'>Ok,  &lt;a href="http://www.smalltalk.org/articles/article_20040813b.html"&gt;Peter William Lount&lt;/a&gt; and&lt;a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3269844667"&gt; james robertson&lt;/a&gt; are playing the 'oh type sux' game again.&lt;br /&gt;Let me state I have great respect for both, before I go on bashing them ;)&lt;br /&gt;And thid message does not imply I don't like smalltalk. I happen to prefer ruby and Slate in the dynamic/agile/buzzworld-of-the-day language world, but smalltalk rock.  Now, onto the rant:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the end, I think I understood what they mean. they mean&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;I used c++ and java and was disappointed, thus static typing sux&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;This is quite agreeable, I won't ever try to say it's wrong.&lt;br /&gt;But it misses the point. I'd like to answer to P.W.L on his kind_of blog but comments are not allowed there. Please do switch to the cincom blog service ;P&lt;br /&gt;&lt;br /&gt;Now, the message:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;I know that nil can get some  messages, I just wrote wrong, so I'll skip this.&lt;/li&gt;   &lt;li&gt;the fact that you use multi type variables adds nothing to the discussion, you can have multitype variables in any &lt;span style="font-style: italic; font-weight: bold;"&gt;non stupid&lt;/span&gt; static language. You can have them in perl6 too.&lt;br /&gt;This is quite easy:  &lt;span style="font-family:courier new;"&gt;type mytype= sometype or nil&lt;/span&gt;type (see Haskell, or perl6's junctions). See, even if you don't have type creation of such an high level, you have nullable types in Nice or C# too.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;I ignore the C and Java rant. I agree with you.&lt;/li&gt;&lt;li&gt;The environment is the language with ST so you get instant error-correct. The java guy use to say that IDEA does typing for them. I don't like this way of thinking.&lt;br /&gt;  &lt;/li&gt;    &lt;li&gt;The next para is about things you can do with proper dynamic systems. I just make you notice that some static-strong or static-soft languages (i.e. Haskell and CL) do have types expressed in the language itself. This mean you can get "&lt;span style="font-style: italic;"&gt;extensible runtime type safety validations with full semantic expressiveness of the language" &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;at compile time&lt;/span&gt;&lt;span style="font-style: italic;"&gt;.  &lt;/span&gt;Yes, the 'runtime at compile time' is a joke, don't bother to correct me.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; #doesNotUnderstand: is a nice mechanic but if you look for a moment out of smalltalk (and ruby, with his #method_missing ) you may discover that almost any language allows you to write a proxy object with a one liner. IIRC even that cranky java thing has DynamicProxy to do this.&lt;/li&gt;&lt;li&gt;"&lt;span style="font-style: italic;"&gt;Smalltalk is a language that is highly extensible. It allows you to build your own custom language capabilities within it's range of expandability - which is much wider and thus more powerful than typed variable languages&lt;/span&gt;" I'm still afraid you are trying to say "&lt;span style="font-style: italic;"&gt;then java's one&lt;/span&gt;".  You can declare types in CL or Dylan, yet they're quite extensible, ain't em?&lt;br /&gt;  &lt;/li&gt;   &lt;/ol&gt;Mr. robertson is quite clear:&lt;br /&gt;&lt;div class="comment" id="3269844667" style="font-style: italic;"&gt; verbat,&lt;br /&gt; The problem is that the &lt;b&gt;cost&lt;/b&gt; of static typing (in terms of expressiveness and flexibility - is&lt;br /&gt; higher than the benefit. Having used the common static languages (Java, C, C ) and&lt;br /&gt; Smalltalk,  I can tell you that the cost isn't worth it.&lt;br /&gt;&lt;/div&gt;  &lt;br /&gt;Perfect, agreed. Java,C and C++ are not expressive.&lt;br /&gt;Does this mean 'static typing is bad? Not at all. Did you consider what I was saying? I said:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;If I was going to give you a compiler that compiles all your smalltalk code *except* those that generates MNU (yet allowing it if doesNotUnderstand: is implemented)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I translate: "if we had a type system as expressive as ST's one but plus static error detection &lt;span style="font-style: italic;"&gt;(and this does not only relates to type checking, it involves array bound checking, property assertion a-la DBC or pseudotype assertion a-la Haskell, checking for primality, oddity or the likes) &lt;/span&gt;would you use it?"&lt;br /&gt;&lt;br /&gt;I would do this, and I think you would too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="3269844667" style="font-style: italic;"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109248176352791931?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109248176352791931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109248176352791931' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109248176352791931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109248176352791931'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/javacc-sux-types-do-not.html' title=' Java,C,C++ sux, types do not'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109223138014542836</id><published>2004-08-11T06:11:00.000-07:00</published><updated>2004-08-11T06:40:39.333-07:00</updated><title type='text'>As usual: type system debate</title><content type='html'>It's impressive how many thing people have to say about typing.&lt;br /&gt;There must be a reason for this, something that relates  to a fundamental need of the human being.&lt;br /&gt;&lt;br /&gt;Anyway,  &lt;a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3269589200"&gt;james robertson&lt;/a&gt;, &lt;a href="http://blog.colorstudy.com/ianb/weblog/2004/08/10.html#P145"&gt;ian bicking&lt;/a&gt; and &lt;a href="http://www.ryanlowe.ca/blog/archives/001865.php"&gt;ryan lowe&lt;img src="http://www.blogger.com/img/gl.link.gif" alt="Link" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Are playing with the usual "oh types sux" or "oh type rulez". They're nice and smart guys so worth reading, prolly.&lt;br /&gt;&lt;br /&gt;Btw, here is my take on this:&lt;br /&gt;type do exist. It does not matter how long you're saying that Ruby or ST or Python or Io allows you to avoid them. You're just ignoring them. But in the mnomento you're writing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; sc= SortedCollection new &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;you're using a type. In the rest of the program you'll be expecting to have  a SortedCollection.&lt;br /&gt;&lt;br /&gt;So you're declaring a type. And then you are using that type in a conforming way, because if you don't you0ll get an exception. this extends to languages like ruby or python (or CLOS) where you can add methods to a single object. You're still using that object's type.&lt;br /&gt;&lt;br /&gt;Now add this, what would you do if I was going to tell you &lt;span style="font-style: italic;"&gt;"well, go on doing like this, I'll add an expressive type system that you won't even notice. It will just add safety and early catching of errors&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Now, we do not have such a type inference engine yet, but we're on the track.&lt;br /&gt;Take a look at Nice or haskell. They're not there yet, but some day some language will be.&lt;br /&gt;&lt;br /&gt;Then the congepture will be demonstrated:&lt;span style="font-style: italic;"&gt; "dynamic typing is just an expressive static type system"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109223138014542836?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109223138014542836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109223138014542836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109223138014542836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109223138014542836'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/as-usual-type-system-debate.html' title='As usual: type system debate'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109205296714047801</id><published>2004-08-09T04:58:00.000-07:00</published><updated>2004-08-09T05:02:47.140-07:00</updated><title type='text'>LL1 videos</title><content type='html'>&lt;a href="ttp://www.ai.mit.edu/projects/dynlangs/wizards-panels.html"&gt;This are the videos&lt;/a&gt; from the Lightweight Languages conference at mit in 2001.&lt;br /&gt;Nice people and interesting arguments, you really should take a look at these.&lt;br /&gt;BTW, it is nice that the concept of LL is getting momentum. The LL conference @ mit has a twin in Japan, the &lt;a href="http://ll.jus.or.jp/llw2004/"&gt;Lightweight Language WeekEnd. &lt;/a&gt;&lt;br /&gt;I Wonder when IT in italy will be advanced enough, or old enough to get things like this.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109205296714047801?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109205296714047801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109205296714047801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109205296714047801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109205296714047801'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/ll1-videos.html' title='LL1 videos'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109179571617424348</id><published>2004-08-06T05:28:00.000-07:00</published><updated>2004-08-06T05:35:16.176-07:00</updated><title type='text'>.net guys got Coroutines ?</title><content type='html'>It does not seem so.&lt;br /&gt;But at least they seem to be getting something.Iterators in C# works almost like coroutines.&lt;br /&gt;&lt;br /&gt; Well, I hear you saying, we had coroutines in Lua for decades. Right, but at least is a good thing that some of the curly braces languages are finally getting them.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wesnerm.blogs.com/net_undocumented/2004/08/iterators_not_j.html"&gt;This post&lt;/a&gt; is a nice intro to iterators in C#. The author did not got the subtle difference beetween coroutines, semicoroutines and continuations, but well, it's a nice article anyway :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109179571617424348?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109179571617424348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109179571617424348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109179571617424348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109179571617424348'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/net-guys-got-coroutines.html' title='.net guys got Coroutines ?'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109163361091967874</id><published>2004-08-04T08:29:00.000-07:00</published><updated>2004-08-04T08:33:30.920-07:00</updated><title type='text'>PHP6 on parrot</title><content type='html'>Ok, parrot may become something really important.&lt;br /&gt;Leo and Dan are killer coder, so this may actually happen.&lt;br /&gt;Rasmus Leerdorf of php fame&lt;a href="http://phplens.com/phpeverywhere/"&gt; wants to go on parrot too&lt;/a&gt;.&lt;br /&gt;He talks about php6, but I can't really think of what php6 is going to be. php5 is nowhere near innovation, and it broke enought stuff anyway. What should I look for in php6 ?&lt;br /&gt;&lt;a href="http://phplens.com/phpeverywhere/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109163361091967874?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109163361091967874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109163361091967874' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109163361091967874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109163361091967874'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/php6-on-parrot.html' title='PHP6 on parrot'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7516269.post-109163121569195044</id><published>2004-08-04T07:52:00.000-07:00</published><updated>2004-08-04T07:53:35.690-07:00</updated><title type='text'>porc</title><content type='html'>putt&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7516269-109163121569195044?l=verbat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verbat.blogspot.com/feeds/109163121569195044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7516269&amp;postID=109163121569195044' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109163121569195044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7516269/posts/default/109163121569195044'/><link rel='alternate' type='text/html' href='http://verbat.blogspot.com/2004/08/porc.html' title='porc'/><author><name>verbat</name><uri>http://www.blogger.com/profile/09722814799403205515</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
