Java 1.4 dans les bacs

Posté par (page perso) . Modéré par oliv.
Tags :
0
15
fév.
2002
Java
Java 1.4 est enfin disponible ! Il sort en meme temps sous Linux, Windows et Solaris.

En passant, deux outils open-source pour coder en Java sous linux :
- NetBeans, version open source de Forte For Java (SUN)
- Eclipse, version open source de WebSphere Workbench (IBM)
  • # Et pour FreeBSD ? : )

    Posté par . Évalué à 4.

    Bah, vi, car au rayon des petites deceptions de la release 4.5 de FreeBSD.. Tjs pas de JVM Java de Sun en natif.. D'un autre cote, comme je m'en sers pas..
    Mais bon, ca serait bien de pouvoir aller sur des sites avec Mozilla 0.9.8 (humm, tjs pas de ports BSD en plus) ou il y a du Java...

    PS : Enfin, j'ai l'impression que Java a moins la cote.. Vous en pensez quoi vous ?
    • [^] # Re: Et pour FreeBSD ? : )

      Posté par . Évalué à 10.

      PS : Enfin, j'ai l'impression que Java a moins la cote.. Vous en pensez quoi vous ?

      Que c'est une impression. Il y a quelque temps java était vu comme le messie, THE revolution. Il fallait mettre du java partout (y compris si ça n'avait pas d'interet).

      Et puis maintenant on a pris du recul. Java est utilisé en projet quand il correspond au besoin. Pas plus, pas moins. D'ou cette impression de moins la cote, c'est juste que java n'est plus à la mode, il est utilisé.

      Aujourd'hui, c'est plus XML qui est à la mode. On me demande de mettre du XML partout, y compris quand on y gagne rien. Utiliser du XML pour l'échange, oui, mais se retrouver avec du XML (pas un arbre DOM, carrément le texte XML) en structure interne du programme, je suis déjà moins chaud.
    • [^] # Re: Et pour FreeBSD ? : )

      Posté par (page perso) . Évalué à 10.

      "PS : Enfin, j'ai l'impression que Java a moins la cote.. Vous en pensez quoi vous ?"

      Je pense que Java n'a jamais été aussi utilisé que maintenant. Mais ça se voit moins.
      Les bibliothèques disponibles en Java sont nombreuses et variées (de la gestion SNMP à la synthèse vocale en passant par le chiffrage...). Le langage est mature, puissant, et largement adopté.

      Plus de problème du coté des JVM... il faut bien choisir ! Celle d'IBM sous Linux est très rapide.
    • [^] # Re: Et pour FreeBSD ? : )

      Posté par . Évalué à 5.

      C'est vrai que Java sur BSD, c'est la pauvreté.

      Mais au fait tu te plains que y'a pas de Java sur BSD à insérer dans un Mozilla qu'existe pas non plus ? Alors du coup tu t'en sers pas ;-)

      Il est peut être temps de passer à GNU/Linux...
      • [^] # Re: Et pour FreeBSD ? : )

        Posté par . Évalué à 2.

        Ouais sauf que je bosse sous FreeBSD ^_^
        Donc bon, c'est moyen...

        Sinon, oui, je pense que Java a du souffrir d'un effet de mode, et que maintenant on en parle moins mias qu'il doit etre utiliser de facon moins debile (ie pas pour n'importe quoi).

        Reste que du temps on j'en faisais (3 ans), c'etait pas tres rapide sous Linux... Bon, pour la decharge de Java, c'etait du calcul mathematique intensif.. Pas vraiment l'utilité premiere de Java.. Et j'ai eut de TRES mauvais souvenirs en terme de portabilité d'AWT..
      • [^] # Re: Et pour FreeBSD ? : )

        Posté par . Évalué à 2.

        Je pense plutôt qu'il est peut-être de temps de faire fonctionner l'émulation Linux de BSD qui, je le rappelle, permet de faire fonctionner la plupart des binaires GNU/Linux (y compris Netscape, DB2, Oracle, VMWare, ...).

        http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu.(...)

        D'autre part mozilla 0.9.7 à ce jour existe dans les ports ainsi que la version 1.4.0b3 du jdk linux.

        Tout n'est qu'une question de temps et devrait arriver bientôt en version supèrieure.
  • # La rapidité de Java ?

    Posté par (page perso) . Évalué à 10.

    Dernièrement je me suis panché sur Java afin de faire une application portable. Cependant j'ai été très déçu quand j'ai vue la lenteur des interfaces graphiques developpé avec java ! Soit c'est uniquement sous linux que c'est lent, sinon c'est réelement inutilisable à part pour ce qui aime que les menus d'une application mettent 2 secondes pour s'afficher.

    Si quelqu'un a une solution je serais ravis de l'entendre car j'aimerai bien developper des applications java ayant une interface graphique, l'accès au BD (postgresql, mysql) et si possible parfaitement portable sous Linux et Windows.
    • [^] # Re: La rapidité de Java ?

      Posté par (page perso) . Évalué à 10.

      Déjà le JRE 1.4 va grandement amélioré les perfs.

      Sinon Swing est une très bonne API, qui peut etre rapide mais il faut bien la programmer. Il y a des tas de petites règles et de petits trucs à savoir pour avoir un GUI efficace. Je te conseille de chercher un tutorial ou l'autre sur le net ou d'acheter un bouquin. Les premières applications Swing que je faisais étaient catastrophiques, je ne dis pas que maintenant c'est des oeuvres d'art (loin de là ;-)), mais il y a une tres nette différence au point de vue de la beauté et de la vitesse !

      Sinon c'est vrai que Swing (Java2D en général) est plus lent sous Linux (pas d'accélération matériel je pense). Mais j'ai entendu dire qu'ils comptaient dans un futur proche réimplémenté le tout avec OpenGL & co sous Linux (juste une rumeur). Wait and see ...
      • [^] # Re: La rapidité de Java ?

        Posté par . Évalué à 10.

        Le problème avec Java, c'est que si tu connais pas deux ou trois trucs, tu te retrouves avec du code qui rame parceque tu passes ton temps à instancier et détruire des objets pour rien.

        Exemple : Utiliser une String au lieu d'un StringBuffer peut dans certains cas multiplier énormément les temps d'exécution.
        • [^] # Re: La rapidité de Java ?

          Posté par (page perso) . Évalué à 10.

          Je crois que c'est vrai pour n'importe quel langage ... Si tu ne connais pas deux ou trois trucs en C ou C++ tu te retrouves vite avec des problèmes de mémoires ou des coredump ... Y'a rien a faire, quel que soit le langage, il faut l'apprendre pour le programmer ;-)
          • [^] # Re: La rapidité de Java ?

            Posté par (page perso) . Évalué à 10.

            "Y'a rien a faire, quel que soit le langage, il faut l'apprendre pour le programmer ;-)"

            C'est clair !!
            Et le problème avec Java c'est que les classes du langages sont très nombreuses et variées, ce fait que les débutants sont paumés, et programment des GUIs comme des porcs, et s'étonnent que ça rame...

            Un article disait qu'un programmeur a multiplié la vitesse d'exécution de son programme par 500 (!) en recodant correctement son programme, et en utilisant les bonnes classes.

            Sinon pour les GUIs qui rament, 2 conseils :
            - Evitez d'avoir trop de 'Pane' (ou 'JPane') imbriqués.
            - Pré-chargez explicitement les classes, de façon à éviter la rame du ClassLoader qui va chercher le gestionnaire de menus ou de fenêtre voulu.

            Et pour tous les programmes :
            - Bufferiser les IO !!!!!!
            - Utiliser StringBuffer pour les opérations de chaines !!!!!!

            Oh ben c'est bizarre, ça va vite maintenant ?!?
    • [^] # Re: La rapidité de Java ?

      Posté par . Évalué à 7.

      pour ma part, mon developpeur fait sensiblement ce que tu decrit en java.

      le programme se charge en 20 sec (C433,64Mo ram)

      puis pour afficher un tableau resultant d'une requete sql sur Mysql
      il faut compter 4 sec pour un tableau de 100x13
      (100lignes 13 colonnes) dont les données proviennent de multiples tables.
      (clients, CA <=(Commandes, Produits)).

      Le serveur est un PII450, 128Mo ram avec MySQL.
      Reseau Ethernet 100MBits.

      JDK1.3.1 et JDK1.4.0
      Compilateur Just-in-Time activé (HotSpot)

      G donc pas a me plaindre, cependant je n'ai pas fait le meme programme en C ou en perl/tk donc je ne paux pas comparer la vitesse.

      Voila.
      • [^] # Re: La rapidité de Java ?

        Posté par (page perso) . Évalué à 4.

        puis pour afficher un tableau resultant d'une requete sql sur Mysql
        il faut compter 4 sec pour un tableau de 100x13
        (100lignes 13 colonnes) dont les données proviennent de multiples tables.
        (clients, CA <=(Commandes, Produits)).


        A mon avis, pour optimiser ça il faudrait regarder le modèle utilisé pour le tableau (javax.swing.table.TableModel et javax.swing.table.TableColumnModel), ceux fournis par défaut par Sun ne sont peut etre pas bien pour votre application, peut être faudrait il les réimplémenter ...
    • [^] # La rapidité de Java ?

      Posté par . Évalué à 3.

      Il doit être possible d'utiliser gtk avec java, du moment que les librairies d'accès ont été développées. Par exemple, j'utilise gtk-perl pour l'interface de mon appli en perl.
      Gtk existe sous windows (d'où the gimp par exemple, et aussi certains programmes de configuration de drivers vidéo ATI sous windows)
    • [^] # Re: La rapidité de Java ?

      Posté par . Évalué à 7.

      J'ai récemment utilisé un petit logiciel graphique à tendance scientifique (manipulation de données, line plot, filtres), venu du monde Mac où il s'appelait NIH image. La version java (appelée imageJ) est super rapide sur mon PII 300 MHz (WinNT, au boulot). Je ne pensais pas que l'on pouvais avoir ces performances en java.

      http://rsb.info.nih.gov/ij/(...)

      Mais c'est vrai que Jbuilder, c'est pas top rapide d'un autre coté :-/
    • [^] # GUI en Java ?

      Posté par . Évalué à 6.

      t'as songé à une interface HTML (ou DOM+HTML) ?
    • [^] # Re: La rapidité de Java ?

      Posté par (page perso) . Évalué à 8.

      En autre langage portable, super rapide et pas gros du tout, il y a rebol (http://www.rebol.com(...) ) qui est très à la mode dans tous les magazines info du moment.

      Seul hic, c'est pas de la programmation hyper clair comme le JAVA...

      Mais bon, on ne peut pas tout avoir.
    • [^] # Re: La rapidité de Java ?

      Posté par (page perso) . Évalué à 10.

      Un petit bench perso :

      En Java, il faut 2 microsecondes pour un random access sur une table de 500 000 objets.
      Cette mesure est valide à partir du JDK 1.2 (Java 2), ou le code des containers a été revu pour suivre l'état de l'art des théories algorithmiques.
      Mesure établie sur un PII 400.

      Mainenant le plus cool : Pas besoin de déclencher l'opération de tri de la structure de données, elle est tout le temps ordonnée, à chaque insertion d'objet. Et le temps d'insertion est inférieur à 2 microsecondes ! Moi ça me suffit en général comme perf ;-)
    • [^] # Re: La rapidité de Java ?

      Posté par (page perso) . Évalué à -2.

      Développe en php gtk :)
      Et mon petit doigt me dit que le passage sous win arrivera bien un jour

      A ce propos quelqu'un a déjà essayé de coder sous ce language ? Des commentaires sur la rapidité et les widgets ?
  • # un peu tard mais...

    Posté par . Évalué à -10.

    C'est bien d'avoir penser à poster.

    C'est bien aussi de preciser qu'il existe des solutions opensources et/ou gratuites pour le developpement d'applications multiplateformes.

    Merci à vous donc.

    Larsen as "Neox"
  • # Chouette :-)

    Posté par (page perso) . Évalué à 10.

    Java évolue vite et dans la bonne direction !!
    Déjà le JRE 1.4 améliore énormément les performances, mais maintenant ils vont s'attaquer à la consommation de mémoire !

    Rien de vraiment officiel mais le JRE 1.4.1 (Hooper je crois) devrait commencer à implémenter du JVM sharing (partage de certaines ressources entres JVMs), et le JRE 1.5 (Tiger) devrait contenir la nouvel Isolation API qui permettrait de ne faire tourner qu'une seule JVM par machine, tous les programmes Java tourneraient dedans, partageant ainsi une bonne partie des ressources et évitant que 20 mégas ne soit chargés en mémoire à chaque démarrage d'un programme Java !
    • [^] # Re: Chouette :-)

      Posté par (page perso) . Évalué à 10.

      Cool, enfin on aura (peut être) une seule JVM pour faire tourner plusieurs programmes, ça devennait un peu casse-couille d'avoir des X*20mo pour X applications lancées sur la machine. La mémoire à beau ne pas être chere, il ne restait plus grand chose pour les applis.
      Enfin, il va falloir attendre encore plusieurs mois pour ça, et à quand un OS minimum en standard sur la jvm, pour faire un bootstrap qui lance une jvm et avoir une machine universelle.
    • [^] # Rapidité ?

      Posté par . Évalué à 7.

      Sans vouloir être polémique (JAVA est un bon langage, qui repose sur des concepts sympa), je trouve que commencer à sinteresser à l'architecture (genre 1 JVM par programme) au bout de 6/7 ans, ce n'est pas ce que j'apelle de la rapidité. Surtout que ce type de problème entraine une lourdeur et une lenteur de beaucoup de programmes java qui décourage pas mal de monde

      Et même si les API graphiques sont maintenant à peu près stabilisées, je ne reviendrais pas sur les errements des première version de JAVA, avec incompatibilité entre les versions, changements du modèle d'évènements, ...
      • [^] # Lenteur ?

        Posté par . Évalué à 8.

        Sans vouloir être polémique, on trouve enfin de bonnes choses dans la norme ISO-9899 AKA C-99 ou C-2K (norme du langage C révisée 1999), et on ne peut pas dire que le langage C soit récent ! Je ne parles même pas des compilos (on dirait que certains préferent utiliser/imposer des extensions propriétaires plutôt que de faire avancer la norme...)
      • [^] # Re: Rapidité ?

        Posté par (page perso) . Évalué à 6.

        c'est juste une supposition (pas un appel au troll ;-), mais le bon côté de c#, c'est que çà aura peux-être incité sun à améliorer les perf de sa jvm
        • [^] # Re: Rapidité ?

          Posté par . Évalué à 3.

          çà aura peux-être incité

          Alors là c'est trop fort, comment peut-on mettre un "x" à la place d'un "t", quand la prononciation (avec la liaison) rend évidente l'orthographe ?!
          Le "t" n'étant pas à côté du "x" sur le clavier, ce ne peut être une faute de frappe, surtout qu'on peut se relire en postant un commentaire.

          A noter aussi qu'on écrit "çà" (avec l'accent sur le "a") que quand il s'agit d'un lieu, presque uniquement dans l'expression "çà et là", sinon quand c'est pour dire "cela" et désigner quelque chose, c'est "ça" (sans accent).
      • [^] # [RE: Rapidité]

        Posté par . Évalué à 2.

        Ben, c'est que faire une JVM qui accepte plusieurs programmes à la fois, c'est réécrire un système : gestion des process, du partage la memoire, etc. Sun sait faire, mais etait-ce le but de Java ?

        On va avoir un système dans le système. C'est cool, mais ce n'etait sans doute pas la priorité.

        Nico - de toute façon mon appli bouffe 350 Mo !!!

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.