que pensez-vous des nouvelles spécification de java 1.5

que pensez-vous des nouvelles spécification de java 1.5 - Java - Programmation

Marsh Posté le 14-06-2003 à 22:03:27    

il y aura la  
 
généricité,  
les énumérations,  
les imports static,
Autoboxing http://jcp.org/aboutJava/community [...] oxing.html
 
...
....
 


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 14-06-2003 à 22:03:27   

Reply

Marsh Posté le 14-06-2003 à 22:09:21    

:love:  
 
 
 
 
 
 
 
c'est tout ce que j'ai à dire  :jap: (quoi qu'il manque encore la surcharge d'operateurs à mon gout)


Message édité par kadreg le 14-06-2003 à 22:09:56

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 14-06-2003 à 22:47:36    

wait & see surtout pour la généricité
 
pour l'autoboxing, c'est pas trop tot

Reply

Marsh Posté le 15-06-2003 à 01:20:05    

Moi j'ai mon prof de compilation qui développe actuellement le javac 1.5 et il nous en parle de temps en temps, et je dois dire que la généricité par exemple ça va être bien puissant, surtout comme il nous en parle et avec ce que j'ai pu en voir avec d'autres langages !!!

Reply

Marsh Posté le 15-06-2003 à 02:21:32    

ça vient d'où le terme "autoboxing" et "boxing conversion" ?


---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
Reply

Marsh Posté le 15-06-2003 à 14:58:07    

[:blueflag]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-06-2003 à 19:02:55    

TBone a écrit :

ça vient d'où le terme "autoboxing" et "boxing conversion" ?


L'autoboxing consiste à encapsuler automatiquement un type primitif dans un objet. Ca permet de manipuler ce type primitif par référence.
 
Exemple (en C#, je connais pas Java) :
 

Code :
  1. int nombre = 100;
  2. object obj = nombre; // boxing
  3. int nombre2 = (int)obj; //unboxing

 
 
Je voudrais pas casser l'ambiance, mais quand je vois les spefs de Java 1.5, je peux pas m'empécher de penser que la grande majorité des ajouts est déjà présente dans C#...
Et pourquoi Sun n'a pas fait le boulot jusqu'au bout, en ajoutant des trucs tels que l'ordre ReadOnly, les indexeurs, etc... ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 19:08:41    

Harkonnen a écrit :


Exemple (en C#, je connais pas Java) :


 
L'exemple est à mon avis plus parlant (et c'est le cas ou on les utilisera) en montrant par rapport aux wrappers, comme java.lang.Integer par rapport à int.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 15-06-2003 à 19:08:42    

oui mais c# c'est pourri :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-06-2003 à 19:16:02    

Harkonnen a écrit :


L'autoboxing consiste à encapsuler automatiquement un type primitif dans un objet. Ca permet de manipuler ce type primitif par référence.
 
Exemple (en C#, je connais pas Java) :
 

Code :
  1. int nombre = 100;
  2. object obj = nombre; // boxing
  3. int nombre2 = (int)obj; //unboxing

 
 
Je voudrais pas casser l'ambiance, mais quand je vois les spefs de Java 1.5, je peux pas m'empécher de penser que la grande majorité des ajouts est déjà présente dans C#...
Et pourquoi Sun n'a pas fait le boulot jusqu'au bout, en ajoutant des trucs tels que l'ordre ReadOnly, les indexeurs, etc... ?

C# et les trucs .NET c'est bien joli mais ça tourne que sur du microsoft (et me parlez pas de MONO qui n'a aucun avenir)


---------------
http://runnerstats.net
Reply

Marsh Posté le 15-06-2003 à 19:16:02   

Reply

Marsh Posté le 15-06-2003 à 19:47:38    

Harkonnen a écrit :


Je voudrais pas casser l'ambiance, mais quand je vois les spefs de Java 1.5, je peux pas m'empécher de penser que la grande majorité des ajouts est déjà présente dans C#...
Et pourquoi Sun n'a pas fait le boulot jusqu'au bout, en ajoutant des trucs tels que l'ordre ReadOnly, les indexeurs, etc... ?


:heink:
Euh, t'as oublié de faire login sous Serial Coder ou tu trolles réellement ? Passke ce genre de troll, venant de la part d'un modo... :/


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 15-06-2003 à 20:00:28    

kadreg a écrit :


 
L'exemple est à mon avis plus parlant (et c'est le cas ou on les utilisera) en montrant par rapport aux wrappers, comme java.lang.Integer par rapport à int.


 
Exemple : une méthode Test() prend une référence à un objet en paramètre. On souhaite appeler cette méthode en passant l'int 5 en paramètre :
 
En Java :

Code :
  1. Integer nb = new Integer(5);
  2. Test(nb);


=> Obligation d'encapsuler l'int 5 dans un objet de type java.lang.Integer
 
En C# :

Code :
  1. Test(5);


L'int 5 est automatiquement converti en objet lors de l'appel à la méthode.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 20:00:55    

the real moins moins a écrit :

oui mais c# c'est pourri :o


Certainement pas ! Essaie, et tu verras que c'est très bien.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 20:01:40    

noldor a écrit :

C# et les trucs .NET c'est bien joli mais ça tourne que sur du microsoft (et me parlez pas de MONO qui n'a aucun avenir)


.NET est présent sous FreeBSD... Et pourquoi MONO n'aurait aucun avenir ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 20:06:55    

par ce que le langage est détenu par microsoft

Reply

Marsh Posté le 15-06-2003 à 20:16:53    

Taiche a écrit :


:heink:
Euh, t'as oublié de faire login sous Serial Coder ou tu trolles réellement ? Passke ce genre de troll, venant de la part d'un modo... :/


Autoboxing => présent dans C#
Enumérations => présent dans C#
Mot clé foreach => présent dans C#
etc...
 
Mot clé ReadOnly dans Java ? Non.
Indexeurs ? Non.
Surcharge d'opérateurs ? Non.
Délégués ? Non.
etc...
 
Il n'y a aucun troll : à part la généricité, les ajouts de Java 1.5 sont très frileux. Les imports statiques ne s'imposaient pas : à mon avis ça rend le code moins lisible. Quand on fait de l'objet, il faut avoir une certaine rigueur dans l'écriture du code.
 
Le seul truc que je voudrais voir dans C# est le mot clé Throws pour les exceptions. Java garde une longueur d'avance à ce niveau là.
La généricité est prévue pour la prochaine version de C#.
 
Désolé de prendre parti pour Microsoft, mais je trouve que C# a encore bien de l'avance sur Java.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 20:17:07    

tin harko c'est quoi ces gros troll là ???
 
sinon, ce sont tu parles n'est pas valable pour Java : l'autoboxing ne permettra pas de transformer les int en Object. Ca ne concernera que les types primitifs et leur wrapper correspondant :  
int <-> Integer
long <-> Long
etc ...
 
Ce que j'ai pu tirer de JavaOne c'est que le passage à a JDK 1.5 était vu comme la modification la plus importante faite au langage java depuis sa naissance.
Le but est avant tout de simplifier le développement.
 
Par contre, pour la généricité, je dois avoué que j'ai un peu peur qu'il y ait des problèmes de compatibilité avec les versions antérieur du JDK ...
 
ensuite pour ta remarque harko : parler des performance du JDK 1.5 n'a pas de sens. Déjà parce que le 1.5 n'est pas sortit et ensuite parce que la JVM restera la même que la 1.4 ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 20:17:52    

++Taz a écrit :

par ce que le langage est détenu par microsoft

Parce que Java n'est pas détenu par Sun peut être ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 20:17:55    

Harkonnen a écrit :


Et pourquoi MONO n'aurait aucun avenir ?


 
Parcequ'ils vont passer leur temps à essayer de courir après les fonctionnalités (et les implémenter correctement) au fur et à mesure qu'elles arriveront dans .NET. Il suffit de regarder wine, c'est le problème qu'ils ont depuis qu'ils ont commencé.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 15-06-2003 à 20:19:45    

benou a écrit :


Par contre, pour la généricité, je dois avoué que j'ai un peu peur qu'il y ait des problèmes de compatibilité avec les versions antérieur du JDK ...


 
Je pense que ca ne posera pas de problème si les conteneurs génériques utilisent Object par défaut. Par exemple, le Vector générique est paramétré par défaut par java.lang.Object, retrouvant le comportement précédent.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 15-06-2003 à 20:21:27    

benou a écrit :

tin harko c'est quoi ces gros troll là ???


Il n'y a pas de troll [:sinclaire]
Je trouve que Sun a pas fini le boulot s'ils voulaient repasser devant C#, c'est tout.
 

benou a écrit :


sinon, ce sont tu parles n'est pas valable pour Java : l'autoboxing ne permettra pas de transformer les int en Object. Ca ne concernera que les types primitifs et leur wrapper correspondant :  
int <-> Integer
long <-> Long
etc ...


Qu'est ce que je disais... :sarcastic:
 

benou a écrit :


ensuite pour ta remarque harko : parler des performance du JDK 1.5 n'a pas de sens. Déjà parce que le 1.5 n'est pas sortit et ensuite parce que la JVM restera la même que la 1.4 ...


Je n'ai parlé nulle part des performances :heink:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 20:33:29    

pour être plus générale :  
 
la généricité c'est bien !!! mais il va y avoir un gros travail pour que toutes les APIs existantes l'utilisent ... mais bon, pour ses programmes à soit, c'est sympa !
 
les enumérations c'est bien aussi ! J'étais un peu septique sur ce trucs là, mais en fait c'est cool. C'est juste un raccourci d'écriture bien pratique
 
les static Imports c'est sympa, mais ca rendra un peu plus chiante la lecture d'un code inconnu puisque lors de l'appel d'une méthode static (ou d'un attribut), la méthode pourra se trouver soit dans la classe courrante, soit dans une des classes importées ...
 
les métadata ca peut être sympa, reste à voir comment ca va être utilisé. En tout cas ca pourra faciliter le développement de certains trucs redondant dans les EJB ou les Web services et ca pourrait même apporter des bienfaits dans le développement de tous les jours. Juste un exemple : va y avoir une metatag override pour dire qu'une méthode surcharge la méthode parrente, ce qui est bien sympa et évitera des bugs galère à trouver à cause d'une faute de frappe. Ensore faudra-t-il que les outils de dev gèrent ces tag ...
 
l'autoboxing ... je m'en méfie un peu. Ca peut être très pratique si c'est utilisé sans abus. Mais j'ai peur que ca entraine une fainéantise chez certains développeurs,  ce qui pourrait avoir de mauvaises conséquences sur les perfs.
 
le foreach, c'est génial !


Message édité par benou le 15-06-2003 à 21:05:18

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 20:34:52    

Harkonnen a écrit :

Parce que Java n'est pas détenu par Sun peut être ?


la moitié des JSR sont dirigés par des gans qui ne bossent pas chez sun ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 20:37:05    

kadreg a écrit :


Je pense que ca ne posera pas de problème si les conteneurs génériques utilisent Object par défaut. Par exemple, le Vector générique est paramétré par défaut par java.lang.Object, retrouvant le comportement précédent.


y a eu tout un spitch la dessus à javaOne, j'ai pas tout compris (le mec paralit très vite, et c'était assez complex), mais ca a pas l'air simple ...
 
j'attend avec impatience que les slides soient en ligne pour pouvoir relire tout ca calmement ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 20:38:31    

benou a écrit :

pour être plus générale :  
 
la généricité c'est bien !!! mais il va y avoir un gros travail pour que toutes les APIs existantes l'utilisent ... mais bon, pours ses programmes à soit, c'est sympa !


Ca c'est clair ! C'est un truc qui manque énormément à C#
 

benou a écrit :


les enumérations c'est bien aussi ! J'étais un peu seprique sur ce trucs là, mais en fait c'est cool. C'est juste un raccourcit d'écriture bien pratique


:jap:
(raccourci [:aloy])
 

benou a écrit :


les static Imports c'est sympa, mais ca rendra un peu plus chiante la lecture d'un code inconnu puisque lors de l'appel d'une méthode static (ou d'un attribut), la méthode pourra se trouver soit dans la classe courrante, soit dans une des classes importées ...


On est d'accord aussi quant à la lisibilité du code.
 

benou a écrit :


le foreach, c'est génial !


Ca c'est clair !! :love:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 20:41:01    

Harkonnen a écrit :


Il n'y a pas de troll [:sinclaire]


 :sarcastic:  
non seulement tu détournes le sujet du topic, mais en plus tu dis des contrevérités totalement subjectives, genre celle qui suit ...
 

Harkonnen a écrit :


Je trouve que Sun a pas fini le boulot s'ils voulaient repasser devant C#, c'est tout.


 
Sun ne veut pas dépasser C# puisqu'ils pensent (à raison) qu'ils sont déjà devant. Le but c'est pas déjouter des tonnes de fonctionnalités pour arriver à un langage aussi complexe à appréhender que le C++, par exemple, c'est juste d'ajouter des choses qui manquent un peu...
 

Harkonnen a écrit :


Je n'ai parlé nulle part des performances :heink:


Harkonnen a écrit :


Je voudrais pas casser l'ambiance, mais quand je vois les spefs de Java 1.5...


 
edit : je suis vraiment trop con : j'ai lu perfs à la place de spefs... deux fois de suite en plus :lol:


Message édité par benou le 15-06-2003 à 20:46:11

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 20:43:03    

benou a écrit :


j'attend avec impatience que les slides soient en ligne pour pouvoir relire tout ca calmement ...


 
Si tu peux les rediffuser, je suis preneur  :jap:


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 15-06-2003 à 20:45:18    

kadreg a écrit :


 
Si tu peux les rediffuser, je suis preneur  :jap:  


ils sont gratuits : y a déjà les pages du site qui sont en ligne mais les pdf n'y sont pas encore ... ca devrait plus tarder j'imagine ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 20:48:41    

benou a écrit :


 :sarcastic:  
non seulement tu détournes le sujet du topic, mais en plus tu dis des contrevérités totalement subjectives, genre celle qui suit ...
 
 
 
Sun ne veut pas dépasser C# puisqu'ils pensent (à raison) qu'ils sont déjà devant. Le but c'est pas déjouter des tonnes de fonctionnalités pour arriver à un langage aussi complexe à appréhender que le C++, par exemple, c'est juste d'ajouter des choses qui manquent un peu...
 
 
 
 
edit : je suis vraiment trop con : j'ai lu perfs à la place de spefs... deux fois de suite en plus :lol:


 
perso je vois pas le troll non plus :o
ah si toi qui dit que java est devant sans dire pkoi :D
 
(et spefs ca veut dire specifications, pkoi tu causes de perfs ??)
 
ran il a édite au moment ou j'ai cliqué sur repondre :O


Message édité par chrisbk le 15-06-2003 à 20:49:19
Reply

Marsh Posté le 15-06-2003 à 20:55:17    

franchement, je trouve que sun a fait un boulot formidable avec java. quand on voit de où il vienne et ce qu'ils sont arrivé à faire. chapo !
donc, je me vois mal les critiquer en leur reprochant de ne pas ajouter le bazar qui clignote d'un un langage qui vient de sortir.
 
Ils ont des objectifs quand ils font des évolutions du langage. Faire comme C# n'est pas l'un d'eux.  
Et ils ont aussi tout un background d'appli dont ils doivent maintenir les fonctionnalités et la responsabilité de ne pas ajouter de mauvaises features qu'on découvrirait mauvaise à l'usage par la suite.
C'est pas comme Microsoft qui se permet de tout changer à chaque fois qu'ils incrémentent d'une version (mais non je ne parle pas de VB).  
Faut pas leur demander de faire les même choses si ils n'ont pas les mêmes objectifs.
 
puis bon, Sun c'est mes copains maintenant ! :)


Message édité par benou le 15-06-2003 à 21:08:56

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 21:15:28    

Harkonnen a écrit :

Parce que Java n'est pas détenu par Sun peut être ?

tu m'a pas laissé le temps de faire la même remarque pour Java.

Reply

Marsh Posté le 15-06-2003 à 21:16:17    

Harkonnen a écrit :

Qu'est ce que je disais... :sarcastic:


ben quoi ? je trouve ca nul qu'un int soit automatiquement remplacé par un Object moi !
 
remarque, qund j'y pense bien, ton truc devrait marcher en java aussi puisqu'un Integer c'est un Object ... mais bon, c'est pas le meilleur exemple d'utilisation. Le truc sympa c'est qu'on pourra faire ca :  
 

Code :
  1. Map truc = new HasMap();
  2. truc.put("machin", 10);
  3. int tralala = truc.get("machin" );


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 21:17:48    

Je n'ai pas détourné le sujet du topic, l'auteur demande ce qu'on pense de Java 1.5, je donne mon avis, c'est tout :??:
Ceci dit, je suis d'accord : Sun n'a pas les mêmes moyens que Microsoft, et partir de quasiment rien pour arriver à un langage qui est presque devenu un standard de fait, je leur tire mon chapeau également :jap:
Ne nous leurrons pas : il est plus que certain que Java 1.5 soit la réponse de Sun au C#, ce n'est pas la peine de nier l'évidence, étant donné que les ajouts sus-mentionnés sont justement évoqués comme faisant partie des points forts de C#.
Je trouve juste dommage qu'ils n'aient pas poussé davantage, surtout qu'il ne restait pas grand chose à faire [:sinclaire]
Honnêtement, les imports static, c'était certainement moins prioritaire que la surcharge d'opérateurs ou les delegates, non ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 21:22:38    

Harkonnen a écrit :


Les imports static, c'était certainement moins prioritaire que la surcharge d'opérateurs ou les delegates, non ?


 
La surcharge d'opérateur, je suis d'accord. En revanche, le délégates, je suis pas super fan. Et je trouve que le méca de typage par les interface est finalement plus réussi car plus général. En objet, l'élément central est la classe, pas la méthode.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 15-06-2003 à 21:22:53    

benou a écrit :


ben quoi ? je trouve ca nul qu'un int soit automatiquement remplacé par un Object moi !


Un exemple : je viens de voir dans la Javadoc que la méthode Put de la classe java.util.Hashtable prend 2 objects en paramètre.
Si je veux mettre 2 integer dans ma hashtable, je fais comment ?
En C#, je peux passer directement mes 2 integer dans la fonction. En Java, je suis obligé de passer par java.lang.Integer.
 
edit: j'avais pas vu ton exemple :d


Message édité par Harkonnen le 15-06-2003 à 21:35:16

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2003 à 21:35:15    

Harkonnen a écrit :


.NET est présent sous FreeBSD... Et pourquoi MONO n'aurait aucun avenir ?

parce que ça m'étonnerait que microsoft laisse une possibilité d'utiliser .NET ailleurs que sur ses plateformes
Et même si c'était le cas, MONO aura toujours un temps de retard


---------------
http://runnerstats.net
Reply

Marsh Posté le 15-06-2003 à 21:42:01    

Harkonnen a écrit :

Parce que Java n'est pas détenu par Sun peut être ?

tu sors ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-06-2003 à 21:43:10    

c'est quoi les delegates ?
 
par contre, à mon avis, la surcharge des opérateurs, tu le verras jamais en java. C'est pas dans la philosophie du langage.
Remarque, on aurait pu dire ca de la généricité, mais je trouve que pour la surcharge des opérateur c'est encore pire.


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-06-2003 à 21:44:38    

noldor a écrit :

parce que ça m'étonnerait que microsoft laisse une possibilité d'utiliser .NET ailleurs que sur ses plateformes
Et même si c'était le cas, MONO aura toujours un temps de retard


 
cha che fau :D (au moins pour le c#, si j'en crois leur site il l'ont passé en standart justement pour faciliter le portage par des tiers)

Reply

Marsh Posté le 15-06-2003 à 21:45:14    

benou a écrit :


Remarque, on aurait pu dire ca de la généricité, mais je trouve que pour la surcharge des opérateur c'est encore pire.


 
tu reproches quoi a la genericité et a la surcharge ??

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed