Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

: Java 2 Standard Edition version 5.0

Posté par Christophe Jacquet (page perso, ). Modéré le 03 octobre 2004.
Après quelques pré-versions, la version finale de J2SE version 5 (auparavant appelée version 1.5) est enfin disponible. Comme l'indique le saut dans les numéros de versions (1.4 à 5 !), il s'agit d'une version majeure du langage Java.

Du côté des nouveautés du langage, on trouve : les types génériques, l'"autoboxing", la possibilité d'associer des métadonnées au code, une boucle du genre "foreach", l'import statique, les énumérations, des fonctions à nombre d'arguments variables, une lecture plus facile des données d'entrées, une nouvelle gestion de la synchronisation, et une génération d'interfaces RMI plus facile.

S'y ajoutent de nombreuses améliorations en termes de performances, de diagnostic et de disponibilité.

> Lire la dépêche (262 commentaires, moyenne: 2,4).  

Vous avez demandé le commentaire #481921.

nouvelle API de programmation //

Posté par TazForEver () le 03/10/2004 à 15:59. (lien). Évalué à 2.

" - le package java.util.concurrent fournit de nouveaux outils pour synchroniser des threads, par exemple des sémaphores"

ça me fait bien marrer : je compte plus les fois où je me suis fait rembarrer parce que n'arrivais à faire ce que je voulais avec synchronized. Notemment les mutex récursifs. On m'enguirlandait comme quoi je pensais mal, que j'avais une conception pourrie, etc ...

Ben là, c'est la claque, Sun m'explique maintenant que leur nouvelle API est trop puissante et trop bien pensée ... qu'elle va augmenter ma productivité. Moi je prends à l'envers, je ne pouvais pas faire ce que mes pthread me permettent partout ailleurs.

Idem pour les enum, etc

Ça vaut aussi pour d'autres points : on nous rabat les oreilles pendant des années que c'est fabuleux, mais cette nouvelle mouture de Java est une grosse claque, un bon vieux retournement de veste ...

  • [^]Re: nouvelle API de programmation //

    Posté par Johann Heymes (page perso, ) le 03/10/2004 à 16:26. (lien). Évalué à 2.

    Euuh les fonctionnalités du package java.util.concurrent ne sont pas issus de nouveauté de la JVM. C'est juste de nouvelles classes Java dans un nouveau package.
    J'ai moi même déjà codé des mutex récursifs et je suis loin d'être un demi-dieu...

    [^]Re: nouvelle API de programmation //

    Posté par ctof () le 03/10/2004 à 21:36. (lien). Évalué à 5.

    je ne comprends pas tout cette polemique autour de java.
    Java est une formidable reussite et un tres bon outil de developpement.

    Java (et par incidence C#) ne serait pas a ce niveau si au depart java n'avait pas ete simple et facile d'utilisation. cela ne veut pas dire qu'on ne peut pas faire n'importe quoi, mais c'est moins facile qu'en C++/C (j'ai moi meme developper 3 anc en C++ en salle des marches).
    Cette simplicite n'est pas synonyme de perfection mais d'accessibilte a tous.
    La consequence de facto est une multiplication des developpeurs free ou non (mais c surtout les free qui sont importants). c'est ainsi que le monde java est arrive a maturation avec des projects free de qualite professionnel (je pense qu'on peut faire rapidement l'inventaire en C++ ou la comptatibilite entre les compilo etait juste supportee, je ne parle meme pas des template ou c'etait l'enfer, genre entre gcc et celui de sun ....).

    On passe aussi les editeurs (meme si je reste fidele a emacs, mais qui demeure mois facile d'acces pour les newbies) qui place les editeurs pre-java au oubliettes (petite exception pour delphi tout de meme).

    Bref on ne compte plus les projets GPL ou derives utilisable dans des environement de productions (jakarta*, maven, hibernate, .......) et je ne parle d'une pauvre librairie dans son coin, bugger de partout .

    Il est donc normal qu'en touchant plus de personne, les evolutions du langage java se sont fait sentir (surtout apres le pompage de microsoft).

    Je ne suis absolument pas sur que java aurait eu un tel succes si la premiere version etait sortie avec les fonctionnalites de la 5.

    enfin on peut reprocher a sun ce qu'on veut, c'est aussi une societe commerciale qui doit vivre et je ne pense pas qu'on tarde a voir des jvm free. classpath est en bonne voie et il existe d'autre jvm (nous utilisons par ex JRockit sur linux/i386 qui est plus veloce).

    pour parler de java.util.concurrent je presice que ce package est une integration des classes de doug leas deja dispo en jdk1.3

    ma seule crainte est que malheureusement face au monstre microsoft (il y a aussi des chose interessante dans C#) et sa puissance en terme de communication/implentation, ce n'est qu'une question de temps ... j'espere me tromper.

    Mon discours n'est pas pro-sun ou anti-microsoft mais j'avoue avoir tendance a m'opposer aux situations de monopole quand cela se justifie.

    Christophe

    [^]Re: nouvelle API de programmation //

    Posté par bmc () le 03/10/2004 à 22:47. (lien). Évalué à 1.

    Qu'est-ce que ça peut bien être un mutex récursif ? Je sais qu'un mutex est un sémaphore d'exclusion mutuelle, permettant de garantir l'accès exclusif à une partie de code (et par extension si on le désire à des variables) à un thread donné à un moment donné, mais un mutex récursif ?

    • [^]Re: nouvelle API de programmation //

      Posté par Anomaly () le 04/10/2004 à 09:49. (lien). Évalué à 4.

      Je ne sais pas si c'est la même chose dans Java, mais dans les mutex POSIX, un mutex récursif est un mutex qui peut être verrouillé plusieurs fois au sein d'un même thread sans provoquer de deadlock.

      L'intérêt du mutex récursif, c'est de protéger une ressource dans plusieurs fonctions, mais certaines de ces fonctions peuvent s'appeler entre elles et donc re-verrouiller la même ressource.

      • [^]Re: nouvelle API de programmation //

        Posté par wismerhill (page perso, ) le 04/10/2004 à 15:25. (lien). Évalué à 1.

        Ben, on peut très bien faire ça avec le synchronized de java, du code synchronisé sur un objet peut très bien appeller du code qui se resynchronize sur le même objet.
        Plus exactement, un même thread peut acquérir plusieurs fois un lock sur le même objet.

        Voir http://java.sun.com/docs/books/jls/second_edition/html/statements.d(...)

        • [^]Re: nouvelle API de programmation //

          Posté par VACHOR (page perso, ) le 06/10/2004 à 08:51. (lien). Évalué à 1.

          Oui, par défaut les mutex Java sont "récursifs" (!!!!! ;-). Le contraire serait inquiétant !
          Le problème c'est que trop de gens jugent sans savoir. Ils feraient mieux d'étudier un peu le langage avant de crier que c'est nul.