Syndication : Atom 1.0  RSS 2.0
Blogs des développeurs   »   adiGuba:Blog

Catégorie: 7 (Dolphin)

17/11/2010

Permalink 11:38:34, Catégories: 7 (Dolphin), Récapitulatif Java, 8, 731 mots   French (FR) , adiGuba

[Java] Enfin des JSRs pour Java 7 & 8

Les JSRs sont des documents primordiaux du Java Community Process, puisqu'il s'agit des documents de travail qui seront soumis aux votes de la part des membres du-dit JCP.

Longtemps attendu, la JSR de Java 7 est enfin là, et elle n'est pas seule, puisqu'on y retrouve en tout quatre nouvelles JSRs :


» Lire la suite!

Vous devez être identifié pour poster un commentaire.

20/09/2010

Permalink 10:13:31, Catégories: Java, 7 (Dolphin), Récapitulatif Java, 249 mots   French (FR) , adiGuba

[Java] Java 7 : le plan B

On se dirige donc vers un JDK7 "amoindri" qui sortirait mi-2011, suivi par un JDK8 un an plus tard. En effet Oracle a mis à jour la page des fonctionnalités prévus pour le JDK7, et il semblerait bien que le "plan B" ait été adopté.


On a donc la confirmation des principales nouveautés de Java 7 :

  • Le support des langages dynamiques via la JSR 292 (InvokeDynamic).
  • L'évolution du langage via le projet Coin, qui est uniquement amputé du support des collections.
  • L'API de Concurrence (JSR 166).
  • L'API NIO.2 qui apporte entre autre un meilleur accès au système de fichier et des channels asynchrones.
  • La standardisation des modifications apportées par Java 6 upadate 10 (LnF Nimbus, JLayer, fenêtres transparentes non-rectangulaire).

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

08/09/2010

Permalink 19:37:29, Catégories: Java, 7 (Dolphin), Récapitulatif Java, 209 mots   French (FR) , adiGuba

[Java] Planning Java 7 : retard et plan B


Mark Reinhold, qui dirige les travaux sur la plateforme Java chez Oracle, vient de publier sur son blog personnel un billet intéressant quand à la prochaine version de Java : Re-thinking JDK 7.

Comme on s'en doutait un peu, suite au rachat de Sun par Oracle et à l'ajout de nouveaux projets (Lambda, Jigsaw et Coin), le planning originel n'a pas été respecté (Le JDK7 aurait dû sortir demain !) alors que la version actuellement en développement n'a même pas encore atteint le status de "feature-complete", et qu'il manque toujours plusieurs JSRs...

Et dans ces cas là, il y a toujours une bonne et une mauvaise nouvelle...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

27/08/2010

Permalink 11:58:28, Catégories: Java, 7 (Dolphin), Récapitulatif .NET, Récapitulatif Java, .NET, 1212 mots   French (FR) , adiGuba

[.NET][Java] "Extension Methods" de C# 3.0 VS "Defender Methods" de Java 7

 

J'essaye de suivre régulièrement les mailing-lists concernant l'évolution du langage Java. En particulier celle des projets Coin et Lambda, traitant principalement de l'évolution du langage. Il est intéressant de voir à quel point chaque petit détail peut prendre une importance capitale, que ce soit pour des raisons de compatibilités et voir même philosophique...

Bien que ce soit des langages orientées objets, j'ai toujours dit que les C++, Java et C# offrait chacun une approche différente de la POO.

J'avais déjà bien constaté cela il y a quelques années en ce qui concerne les Templates/Generics. Il en est de même aujourd'hui avec la proposition de "Defender Methods" de Java 7 en comparaison des "Extension Methods" de C# 3.0. Car si prime abord cela semble très proche, cela implique en fait des concepts très différents !

Pourtant on part d'une même problématique dans les deux cas : l'ajout de nouvelles méthodes dans une interface existante implique forcément des incompatibilités avec toutes les classes qui l'implémente. Bien sûr dans un petit projet cela n'a pas vraiment d'importance, mais dès qu'on touche à des librairies standard ou très répandus ces changements s'avère impossible !

Pourtant, les interfaces sont utilisées massivement et ne possèdent malheureusement pas toujours une API complète dès leurs créations. La solution consiste alors à utiliser des méthodes static dans une classe utilitaire pour faire le travail, ce qui n'est pas sans défaut et surtout assez éloigné de l'approche "orienté objet"...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

25/08/2010

Permalink 12:06:36, Catégories: Java, 7 (Dolphin), Récapitulatif Java, 8, 1578 mots   French (FR) , adiGuba

[Java] Java 7 : petit état des lieux du projet Lambda...

En fin d'année dernière, le report de Java 7 laissait envisager l'intégration des closures. Cela a donné naissance au projet Lambda dont l'objectif était de regrouper les différents travaux afin d'en sortir une spécification claire et fonctionnelle quitte à se passer de certain "power-concept".

Il en ressort une proposition d'expressions Lambda relativement allégée vis à vis des multiples et très complètes propositions de closures qui ont pu être proposées par le passé. Mais cela s'accompagne également de nouveaux concepts fort intéressants (Exception Transparency, Method References, Defender Methods).

Voyons voir de quoi il en retourne...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

23/08/2010

Permalink 12:08:19, Catégories: Java, 7 (Dolphin), Récapitulatif Java, 892 mots   French (FR) , adiGuba

[Java] Java 7 et les try-with-resources (ARM block)

Après le multi-catch/rethrow et depuis la version b105, les derniers builds du JDK 7 intègrent désormais le support des try-with-resources (bloc ARM), ce qui permettra enfin de pouvoir gérer proprement la fermeture des ressources de manière simple et efficace.

Voilà enfin une syntaxe claire et précise pour libérer les ressources proprement et sans erreur...


» Lire la suite!

Vous devez être identifié pour poster un commentaire.

28/05/2010

Permalink 16:25:34, Catégories: 7 (Dolphin), Récapitulatif Java, Langage(s), 8, 1136 mots   French (FR) , adiGuba

[Java] Evolution des interfaces avec les "public defenders methods"

Le projet Lambda, poussé par Oracle a peut-être engendrer un nouveau bébé, les "public defenders methods", dont l'objectif est de permettre de faire évoluer les interfaces Java.

De prime abord cela n'a aucun lien avec les expressions lambdas (ou "closures"), mais l'intérêt étant de pouvoir réellement enrichir l'API avec ces dernières. En effet les interfaces étant figées, il est assez difficile de faire évoluer l'API : le simple ajout d'une nouvelle méthode entraine de nombreuses incompatibilités.

Le rapport avec les expressions lambdas ? Ces dernières sont supposées simplifier et enrichir l'API, mais sont fortement limité par l'immuabilité des interfaces. Il fallait remettre cela en cause !

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

24/02/2010

Permalink 15:06:58, Catégories: Java, GUI, 7 (Dolphin), Récapitulatif Java, 91 mots   French (FR) , adiGuba

[Java] Les Generics s'incrustent dans Swing !

En testant le dernier build du JDK7, j'ai découvert totalement par hasard que la classe JList était désormais paramétrée en JList<E>, comme on peut le voir dans sa javadoc temporaire. Son modèle de données ListModel a logiquement subit la même évolution.

A ma connaissance c'est la première classe de l'API Swing à intégrer les Generics en standard.

A noter toutefois qu'ils sont également déjà présent dans la nouvelle classe JLayer<V>, qui apparaitra également avec Java 7...

Vous devez être identifié pour poster un commentaire.

17/02/2010

Permalink 10:55:22, Catégories: 7 (Dolphin), Récapitulatif Java, Closure/Lambda, 8, 434 mots   French (FR) , adiGuba

[Java] Projet Lambda : Quelle syntaxe d'appel pour les expressions lambda ?

Petit à petit le projet Lambda suit son cours, et le brouillon des spécifications comment à bien s'étoffer.

En fin de semaine dernière, Alex Buckley a publié une nouvelle version de ce brouillon dans la mailling-list, que l'on peut retrouver ici : Project Lambda: Java Language Specification draft version 0.1.5.

S'en est suivi plusieurs discussions, dont un débat sur la syntaxe d'appel d'une expression lambda.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

05/02/2010

Permalink 10:45:39, Catégories: Java, 7 (Dolphin), Récapitulatif Java, 1723 mots   French (FR) , adiGuba

[Java] java.util.Objects : Simple et efficace


En jettant un oeil aux nouveautées du JDK7, j'étais tombé sur la classe java.util.Objects qui proposait quelques méthodes utilitaires concernant les opérations de base des objets.

On y retrouve surtout des méthodes permettant de gérer les valeurs null. A première vue il n'y a rien d'extraordinaire là dedans, et je dois dire que je ne m'y étais pas vraiment attardé...

Mais aujourd'hui je suis tombé sur un billet de Joe Darcy présentant ces méthodes un peu plus en détail.

Et mine de rien cela s'annonce bien plus pratique que ce que je ne l'avais soupçonné...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

14/12/2009

Permalink 17:23:58, Catégories: Java, 7 (Dolphin), Récapitulatif Java, Closure/Lambda, 225 mots   French (FR) , adiGuba

[Java] Consensus difficile sur les closures ?

Mark Reinhold a publié au nom de Sun la première publication d'une proposition sur les expressions lambda. Mais elle se révèle pour le moment relativement succincte et s'apparente plus à une présentation sommaire des possibilités que cela offrirait qu'à une réelle proposition détaillée et précise comme cela pouvait être le cas des précédentes propositions (CICE, FCM ou BGGA).

Mais le gros problème vient du fait qu'elle ne semble pas faire l'unanimité !

En fait cette proposition fait suite à la celle de Neal Gafter et Peter von der Ahé, "Closure for Java", qui semblait faire le consensus, et que l'on imaginait facilement qu'elle servirait de base de travail aux closures de Java 7.

Or cette proposition vient d'être complétée d'une partie 0.6b qui réintègre les structures de contrôle... alors que cela ne semble pas du tout être la direction prise par la proposition de Mark Reinhold...

En fait on dirait que ces deux propositions évolue en parallèle, comme en témoigne les deux listes de diffusion : lambda-dev pour la proposition de Mark Reinhold supporté par Sun, et closures-dev pour la proposition de Neal Gafter et Peter von der Ahé (tous deux "anciens" de chez Sun, travaillant désormais respectivement chez Microsoft et Google).

Bref difficile d'y voir clair là dedans...

Vous devez être identifié pour poster un commentaire.

11/12/2009

Permalink 15:03:11, Catégories: Java, 7 (Dolphin), Récapitulatif Java, Closure/Lambda, 1159 mots   French (FR) , adiGuba

[Java] Les expressions lambda (closures) se dotent de méthodes d'extension !


C'est fait, le projet Lambda est né de la volonté d'intégrer un système de closures, que l'on nommera désormais "expressions lambda".

On y retrouve donc une liste de diffusion mais surtout un prémice de la proposition : Project Lambda : Straw-Man Proposal.

On y retrouve bien sûr le détail des fonctionnalités de base dont j'ai déjà parlé plusieurs fois sur ce blog : les expressions Lambda, les types Fonction et les règles de conversion vers les types SAM.
D'autres sections restent vides, comme la transparence des exceptions ou les références de méthodes, mais sont bel et bien prévues dans la proposition (il s'agit toujours d'un document de travail).

Enfin, on dispose de plus d'information quand à l'accès aux variables, mais surtout on y découvre l'intégration des méthodes d'extensions !

Du coup j'en profite pour mettre à jour le tableau comparatif que j'avais publié dans un billet précédent :

  CICE BGGA 0.5 FCM 0.5 CFJ 0.6a Devoxx Lambda
Littéraux pour la réflection NON NON OUI NON ? ?
Référence de méthode NON NON OUI OUI ? prevu
Closures assignable aux interfaces mono-méthode OUI OUI OUI OUI ? OUI
Closures indépendante des interfaces mono-méthode NON OUI OUI OUI OUI OUI
Accès aux variables locales non-final OUI OUI OUI OUI Peut-être pas OUI
'this' référence la classe englobante NON OUI OUI OUI Probablement OUI
'return' lié à la closure OUI OUI* OUI OUI OUI OUI
'return' lié à la méthode appellante NON OUI* NON NON NON NON
Transparence des exceptions NON OUI OUI OUI Peut-être pas prévu
Type 'Fonction' NON OUI OUI OUI OUI OUI
Structures de contrôles NON OUI NON NON NON NON
Méthodes d'extension NON NON NON NON NON OUI
* : La proposition BGGA 0.5 permettait au mot-clef return d'avoir deux significations différentes selon le contexte.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

« Page Précédente 1 2 3 Page suivante »

Liste des blogs

Catégories


Rechercher

<  Mars 2012  >
Lun Mar Mer Jeu Ven Sam Dim
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web