<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : Java c&#8217;est nul !</title>
	<atom:link href="http://www.pierreschambacher.com/blog/java-cest-nul/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pierreschambacher.com/blog/java-cest-nul/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=java-cest-nul</link>
	<description>Ingénieur en Informatique pour Intellicore</description>
	<lastBuildDate>Fri, 09 Dec 2011 17:35:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Par : Blaffard</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-359</link>
		<dc:creator>Blaffard</dc:creator>
		<pubDate>Fri, 15 Oct 2010 08:52:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-359</guid>
		<description>Bonjour!
Je découvre en ce moment la programmation en Java.
Je n&#039;en connait pas tout, je ne maîtrise pas les relations de polymorphise, covariance, surdéfinition, mais je crois que la solution est dans les classes génériques, permettant d&#039;y traiter différent type d&#039;objet et dans lesquels on y injecte pas des types primitifs (int, double) mais des object (Int, Double,..) pour lesquelles on pourra faire appelle aux methodes de la classe Objet.
Enfin, si j&#039;ai bien compris .......</description>
		<content:encoded><![CDATA[<p>Bonjour!<br />
Je découvre en ce moment la programmation en Java.<br />
Je n&#8217;en connait pas tout, je ne maîtrise pas les relations de polymorphise, covariance, surdéfinition, mais je crois que la solution est dans les classes génériques, permettant d&#8217;y traiter différent type d&#8217;objet et dans lesquels on y injecte pas des types primitifs (int, double) mais des object (Int, Double,..) pour lesquelles on pourra faire appelle aux methodes de la classe Objet.<br />
Enfin, si j&#8217;ai bien compris &#8230;&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Java Evangelist</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-341</link>
		<dc:creator>Java Evangelist</dc:creator>
		<pubDate>Fri, 30 Apr 2010 10:44:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-341</guid>
		<description>Pierre Schambacher, 

Java n&#039;est pas nul, mais c&#039;est toi qui es nul.</description>
		<content:encoded><![CDATA[<p>Pierre Schambacher, </p>
<p>Java n&#8217;est pas nul, mais c&#8217;est toi qui es nul.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Sébastien Mosser</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-337</link>
		<dc:creator>Sébastien Mosser</dc:creator>
		<pubDate>Mon, 01 Mar 2010 09:21:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-337</guid>
		<description>en plus, j&#039;ai répondu sans lire les autres commentaires (j&#039;accumule ...). Désolé du doublon ;).</description>
		<content:encoded><![CDATA[<p>en plus, j&#8217;ai répondu sans lire les autres commentaires (j&#8217;accumule &#8230;). Désolé du doublon <img src='http://www.pierreschambacher.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Sébastien Mosser</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-336</link>
		<dc:creator>Sébastien Mosser</dc:creator>
		<pubDate>Mon, 01 Mar 2010 09:21:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-336</guid>
		<description>Ok, j&#039;avais lu en diagonale ton post. Mais du coup, c&#039;est pas &quot;juste&quot; parce que tu essaye d&#039;avoir du polymorphisme sur tes paramètres?

La liaison dynamique en java se fait a la réception de message (=&gt; quand ton instance de Main reçoit le message &#039;trace&#039;). Gait un google sur &#039;late binding&#039;, tu verras que c&#039;est complètement normal ... :)</description>
		<content:encoded><![CDATA[<p>Ok, j&#8217;avais lu en diagonale ton post. Mais du coup, c&#8217;est pas &laquo;&nbsp;juste&nbsp;&raquo; parce que tu essaye d&#8217;avoir du polymorphisme sur tes paramètres?</p>
<p>La liaison dynamique en java se fait a la réception de message (=&gt; quand ton instance de Main reçoit le message &#8216;trace&#8217;). Gait un google sur &#8216;late binding&#8217;, tu verras que c&#8217;est complètement normal &#8230; <img src='http://www.pierreschambacher.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre Schambacher</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-335</link>
		<dc:creator>Pierre Schambacher</dc:creator>
		<pubDate>Mon, 01 Mar 2010 09:13:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-335</guid>
		<description>Mes collègues de boulot m&#039;ont répondu pareil.
Je trouve ça un peu gênant car on aboutit à un résultat semblable qu&#039;avec Java: un gros paquet de tests sur le type de l&#039;objet. Cependant si j&#039;avais à faire ça en Objectif C je passerais par une catégorie et contournerait ainsi le problème. Impossible de le faire en Java ^</description>
		<content:encoded><![CDATA[<p>Mes collègues de boulot m&#8217;ont répondu pareil.<br />
Je trouve ça un peu gênant car on aboutit à un résultat semblable qu&#8217;avec Java: un gros paquet de tests sur le type de l&#8217;objet. Cependant si j&#8217;avais à faire ça en Objectif C je passerais par une catégorie et contournerait ainsi le problème. Impossible de le faire en Java ^</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : y!onel</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-334</link>
		<dc:creator>y!onel</dc:creator>
		<pubDate>Mon, 01 Mar 2010 08:04:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-334</guid>
		<description>La nuit porte conseil : en fait en objectiveC c&#039;est pas pareil : le choix d&#039;une méthode ne se fait pas suivant les types. En gros déclarer des méthodes de même noms, mais avec des types différents en paramètre: 
-(void) maMethode:(type1)var1
et 
-(void) maMethode:(type2)var2 

conduirait à une ambiguité, le compilo signalerait une erreur.
C&#039;est pour ça qu&#039;on souvent des noms de méthodes qui typent par leur nom :
-(void) maMethodeAvecType1:(type1)var1
et 
-(void) maMethodeAvecType2:(type2)var2

Alors nul / pas nul ? ;) je te laisse juge, au moins ça a le mérite d&#039;être clair et d&#039;éviter une potentielle incompréhention :)</description>
		<content:encoded><![CDATA[<p>La nuit porte conseil : en fait en objectiveC c&#8217;est pas pareil : le choix d&#8217;une méthode ne se fait pas suivant les types. En gros déclarer des méthodes de même noms, mais avec des types différents en paramètre:<br />
-(void) maMethode:(type1)var1<br />
et<br />
-(void) maMethode:(type2)var2 </p>
<p>conduirait à une ambiguité, le compilo signalerait une erreur.<br />
C&#8217;est pour ça qu&#8217;on souvent des noms de méthodes qui typent par leur nom :<br />
-(void) maMethodeAvecType1:(type1)var1<br />
et<br />
-(void) maMethodeAvecType2:(type2)var2</p>
<p>Alors nul / pas nul ? <img src='http://www.pierreschambacher.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  je te laisse juge, au moins ça a le mérite d&#8217;être clair et d&#8217;éviter une potentielle incompréhention <img src='http://www.pierreschambacher.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : y!onel</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-333</link>
		<dc:creator>y!onel</dc:creator>
		<pubDate>Sun, 28 Feb 2010 21:12:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-333</guid>
		<description>Je pense qu&#039;en objectiveC c&#039;est pareil :) Mais je ferai le test pour vérifier :)
OK, j&#039;attends le prochain post sur la nullité de Java pour affuter de nouveaux contre-arguments ! :p</description>
		<content:encoded><![CDATA[<p>Je pense qu&#8217;en objectiveC c&#8217;est pareil <img src='http://www.pierreschambacher.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Mais je ferai le test pour vérifier <img src='http://www.pierreschambacher.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
OK, j&#8217;attends le prochain post sur la nullité de Java pour affuter de nouveaux contre-arguments ! :p</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre Schambacher</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-332</link>
		<dc:creator>Pierre Schambacher</dc:creator>
		<pubDate>Sun, 28 Feb 2010 21:07:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-332</guid>
		<description>Huhum ... voilà qui explique tout.
Toutefois bien que le comportement est expliqué, il n&#039;en reste pas moins peu pratique !! J&#039;aimerais bien avoir le retour de programmeurs C++, C#, ... sur un test comme ça voir si l&#039;un d&#039;entre eux se comporte comme je m&#039;y attendais.
Puis-je compter sur toi pour tester l&#039;Objectif C ? ;-)

PS: si Java c&#039;est nul !! Mais j&#039;ai assez grogné pour aujourd&#039;hui, je ferais un autre billet pour me défouler une autre fois.</description>
		<content:encoded><![CDATA[<p>Huhum &#8230; voilà qui explique tout.<br />
Toutefois bien que le comportement est expliqué, il n&#8217;en reste pas moins peu pratique !! J&#8217;aimerais bien avoir le retour de programmeurs C++, C#, &#8230; sur un test comme ça voir si l&#8217;un d&#8217;entre eux se comporte comme je m&#8217;y attendais.<br />
Puis-je compter sur toi pour tester l&#8217;Objectif C ? <img src='http://www.pierreschambacher.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>PS: si Java c&#8217;est nul !! Mais j&#8217;ai assez grogné pour aujourd&#8217;hui, je ferais un autre billet pour me défouler une autre fois.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : y!onel</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-331</link>
		<dc:creator>y!onel</dc:creator>
		<pubDate>Sun, 28 Feb 2010 20:45:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-331</guid>
		<description>Hum hum, d&#039;abord, non ! java n&#039;est pas nul ;)
Pour m&#039;être aussi mangé les dents là dessus, il ne faut pas confondre le polymorphisme, dynamique, qui s&#039;applique aux objets sur lequels on appelle les méthodes, et le choix des méthodes en fonction des types de paramètres, qui est lui statique.
Le polymorphisme ne s&#039;applique pas aux paramètres.
Je suis quasiment sûr que tu aurais le même problème en C++
Par contre si dans ton code, au lieu de main.trace(o) tu fais o.toString(), tu ferais appel réellement dans ce cas au polymorphisme, dynamique, qui trouverait la bonne méthode toString() en fonction du type de o , au runtime.</description>
		<content:encoded><![CDATA[<p>Hum hum, d&#8217;abord, non ! java n&#8217;est pas nul <img src='http://www.pierreschambacher.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Pour m&#8217;être aussi mangé les dents là dessus, il ne faut pas confondre le polymorphisme, dynamique, qui s&#8217;applique aux objets sur lequels on appelle les méthodes, et le choix des méthodes en fonction des types de paramètres, qui est lui statique.<br />
Le polymorphisme ne s&#8217;applique pas aux paramètres.<br />
Je suis quasiment sûr que tu aurais le même problème en C++<br />
Par contre si dans ton code, au lieu de main.trace(o) tu fais o.toString(), tu ferais appel réellement dans ce cas au polymorphisme, dynamique, qui trouverait la bonne méthode toString() en fonction du type de o , au runtime.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre Schambacher</title>
		<link>http://www.pierreschambacher.com/blog/java-cest-nul/comment-page-1/#comment-330</link>
		<dc:creator>Pierre Schambacher</dc:creator>
		<pubDate>Sun, 28 Feb 2010 18:48:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.pierreschambacher.com/?p=312#comment-330</guid>
		<description>Le problème est qu&#039;en affichant &quot;Object: java.lang.Integer&quot; au lieu de &quot;Integer&quot; (notes l&#039;absence de Object) je monte qu&#039;il passe par la méthode trace(Object) et non pas par la méthode trace(Integer) ou trace(Float) qui est le comportement que j&#039;attendais. J&#039;ai ajouté le getClass().getName() pour éviter qu&#039;on me dise qu&#039;il s&#039;agit &quot;peut-être&quot; d&#039;un autre type que Integer ou Float.

Le fait est que la liaison est faite de façon statique, et non pas dynamique comme on nous le vend. Si c&#039;était le cas il verrait à l&#039;exécution que l&#039;objet est un Integer, et appellerait la méthode avec la signature la plus proche du type voulu. J&#039;ai découvert ce comportement avec un code très différent (impliquant des NSArray, NSMutableDictionnary et autres joyeusetés) mais le résultat est le même: si tu passes un Object en paramètre, il link l&#039;appel à la méthode Object sans chercher à savoir si à l&#039;exécution une autre méthode collerait mieux.</description>
		<content:encoded><![CDATA[<p>Le problème est qu&#8217;en affichant &laquo;&nbsp;Object: java.lang.Integer&nbsp;&raquo; au lieu de &laquo;&nbsp;Integer&nbsp;&raquo; (notes l&#8217;absence de Object) je monte qu&#8217;il passe par la méthode trace(Object) et non pas par la méthode trace(Integer) ou trace(Float) qui est le comportement que j&#8217;attendais. J&#8217;ai ajouté le getClass().getName() pour éviter qu&#8217;on me dise qu&#8217;il s&#8217;agit &laquo;&nbsp;peut-être&nbsp;&raquo; d&#8217;un autre type que Integer ou Float.</p>
<p>Le fait est que la liaison est faite de façon statique, et non pas dynamique comme on nous le vend. Si c&#8217;était le cas il verrait à l&#8217;exécution que l&#8217;objet est un Integer, et appellerait la méthode avec la signature la plus proche du type voulu. J&#8217;ai découvert ce comportement avec un code très différent (impliquant des NSArray, NSMutableDictionnary et autres joyeusetés) mais le résultat est le même: si tu passes un Object en paramètre, il link l&#8217;appel à la méthode Object sans chercher à savoir si à l&#8217;exécution une autre méthode collerait mieux.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

