Tiger Nouvelle Synthaxe de MDR
:salut: Lunatix
Je continue mes explications sur ma position en reprenant sur ce dont tu parles : "printf", "autoboxing", "Enum", "static import" et les "generic". Je vais les traiter dans l'ordre car celui-ci exprime grosso modo l'ordre croissant de la sévérité de mes jugements.
A) Les choses insignifiantes :roll:
1) "printf"
En fait, l'ajout d'une méthode, je m'en tape... C'est juste le symbole du "printf", la fonction mythique C par excellence qui m'interloque. D'ailleurs, si la méthode "printf" de java avait eu un autre nom mais avec les mêmes fonctionnalités, je n'aurais rien eu à dire. Cependant cette méthode C mythique apparaît comme par hasard dans la même version qu'un autre ensemble de nouveautés amenant une "C"isation de Java à savoir le "enum" et le "static import".
2) "autoboxing"
Si les nouveaux IDEs prennent en charge l'expression explicite le "autoboxing" alors no problem, car effectivement dans le cas général l'"autoboxing" est plutôt pratique.
B) Les choses que je juge sévèrement : 8O :? :x :furax: :furieux: :evilred:
1) "enum"
Si le "enum" répond bien à une forme concise de programmation, ce qui me trouble, c'est la réintroduction dans la synthaxe Java d'un des ancêtres incomplets de l'Objet. Je trouve que c'est une régression malsaine au sein du Java qui est purement Objet.
J'aurai souhaité que le comportement "enum" soit réalisé par héritage explicite par exemple de classe la "Enum" mais non par un mot clé qui génère implicitement des classes "Enum" en ayant des airs explicites de type "ni-classe, ni-primitif".
2) "static import"
Selon une documentation Sun, il paraît que ça sert à corriger certains qui pourrissent leurs codes en faisant du "Constant Interface Antipattern", cependant la doc conclut que le "static import" est lui-même franchement merdique. :scarymov:
Bravo... Pour contrer le conceptuellement très merdique, ils inventent des synthaxes spéciales merdiques mais pas trop, juste ce qu'il faut. :nono:
"import static javax.swing.*" :chin: "include <javax.swing.*>"
De mon point de vue de mec négatif :twisted: , les nouveautés qui mènent à la "C"isation du Java n'ont pas d'intérêt au niveau du langage mais plutôt des désavantages, par contre je les soupçonne d'avoir pour but de draguer :calin: le plus de développeurs possibles :love: des langages moribonds :aie: C et C++, afin que ceux-là ne se tournent pas naturellement :love2: vers du C# . Stratégie quand tu nous tiens ... :twisted:
3) "generic"
Pour les "generics", le problème est d'une autre nature car justement, il n'y a pas vraiment de problème 8) , c'est là que c'est vicieux et perfide :cfou:, enfin je me comprends... :fou:
Un peu plus sérieusement, les "generics" ouvrent de larges horizons à une programmation formelle et extensible mais pour une version de java commune au maximum de domaines ça risque d'être un peu trop pointu. Quand je parle de pointu, je ne parle évidemment pas du <typage basique> des "collection" pour éviter les erreurs de cast à l'exécution (l'arbre qui cache la forêt) mais de la multiplication des "MyClass<E extends Container, F extends Component, G < F, String, Component, ? >>" qui pourront se retrouver dans les déclarations :
-des classes
-des arguments et valeurs de retour des méthodes
-...
Certes, la semaine prochaine, les "MyClass" n'érigeront pas de barricades dans Paris mais dans deux ans beaucoup de développements auront mis leurs touches de "MyClass" et ça risque de réduire l'attractivité pour les entrants dans le domaine Java. Il ne faut pas oublier, je pense, que si Java a du succès c'est parce qu'il est objet, multi-plateforme mais aussi SIMPLE...
Pour résumer pour la millième fois :
MOI :mouarf2: PAS CONTENT NOUVELLE SYNTHAXE JDK 1.5
Moi :mouarf2: vouloir JVM rapide très rapide :merci: et APIs puissantes :merci: pas synthaxe changeante :alerte:
:salut: