Uther Le 11/03/2015 à 14:40 Déjà en Java, la bibliothèque graphique est, en grande partie, en Java. Donc la situation n'est pas vraiment comparable avec un moteur en C++ très optimisé.
Mais le principal problème avec les GUI en Java, ça n'est pas le langage lui même, mais surtout l'API qui est mal foutue. Elle parait assez simple au premier abord mais si on ne fait pas très attention on se retrouve facilement à bloquer/ralentir le thread dédié à l'affichage et on a une interface non réactive.
Y'a pas que ça, l'implémentation est aussi à la ramasse, suffit de voir le temps que met Java pour démarrer et la quantité de RAM qu'il bouffe...

—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT TurboEn fait en terme de Java, la conso memoire ne doit pas etre si important, le probleme c'est que java est un OS dans l'OS, et un OS se reserve de grosses zones de memoire, meme si elle ne sont pas utilise...

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Pen^2 Le 11/03/2015 à 21:44 Vous avez des exemples d'interfaces de programmes java qui rament ? Juste pour que je me rende compte.
Quant à la mémoire, je n'ai pas l'impression que ce soit tellement significatif, franchement. Par exemple mon visual ne prend pas moins que mon eclipse (jdt), et les fonctionnalités sont pourtant en retrait (solution c++)
Jsais pas, à peu près n'importe quoi qui est produit avec : Eclipse, IntelliJ, NetBeans, etc.
Après la particularité de ces IDEs c'est aussi de te bouffer toute ta RAM (ou la moitié si t'en as bcp), et avec en général un serveur d'application qui lui te bouffera également toute la mémoire (qu'il ne reste plus à cause de l'éditeur) ou la seconde moitié si t'en as bcp, ça donne une impression de ramage légèrement exacerbée il est vrai, dépassant la simple consommation CPU.
Jira, meme si l'IHM est en html est un bon exemple de truc en java qui rame..

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Pen^2 Le 11/03/2015 à 22:07Edité par Pen^2 le 11/03/2015 à 22:15 Sous eclipse, l'interface est lente avec un PC normal ? Sérieusement tu vois une différence avec visual ? Tu fais un CTRL+h, ta fenêtre est lente à arriver ?
Eclipse ne risque pas de bouffer plus de RAM que ce que tu lui as autorisé de prendre (genre 1go par défaut je crois)
En plus on compare tout et n'importe quoi : quel rapport entre java et ton serveur d'application j2e qui tourne en arrière plan ?
Je trouve Eclipse super lent, même avec une très grosse machine et en lui laissant pas mal de RAM.

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
Pen^2 Le 11/03/2015 à 22:13 Godzil > connais pas, je regarderai. Merci. (Mais bon interface en HTML... ?!)
Flanker > lent pour faire quoi, par rapport à quel logiciel ?
Pen^2 Le 11/03/2015 à 22:23Edité par Pen^2 le 11/03/2015 à 22:40 J'ai deux machines virtuelles qui font tourner chacune un serveur d'application et un autre serveur d'application sur l'hôte, un client java lourd, parfois des outils de cao et eclipse et visual souvent lancés tous les deux, et des calculs éléments finis par dessus le marché... Et je faisais tout ça avec 4 (c'était juste) puis 8 go de RAM, aujourd'hui 12.
Et j'ai largement de la marge même avec firefox ouvert.
On a manifestement des expériences différentes avec Visual Studio et Eclipse respectivement. Probablement qu'on n'utilise pas la même chose, qu'on n'a pas les mêmes plugins (dans mon cas je n'ai que Visual Assist X et un thème). Mais pour ma part Eclipse est lent (= ma définition de "rame") de base. Il devient juste ultra lent avec un serveur d'application, mais je le précise parce que c'est pas du jeu, c'est juste que c'est l'utilisation que je fais d'Eclipse en général (ça ou de l'Android, aussi lent comme la mort par la cuiller) donc évidemment ça empire ma perception.
Et ne parlons pas dandroid studio...
Oui, je mettais ça dans la catégorie IntelliJ.
Là aussi Android Studio n'est pas lent strictement à cause de Swing ou de l'UI elle-même, mais à cause de l'intégration de gradle super lourde qui bouffe tous tes cores CPU, ralentissant l'interface comme au temps des mainframes, et des locks interthreads qui jouent sur l'UI, et du fait que parfois cette dernière semble attendre le résultat de certaines opérations de façon synchrone. Bref au final *ça rame* et *c'est fait en Java*. Oui il y aurait à chercher plus loin (genre c'est pas la faute de Java si les dévs d'intellij codent mal leur UI), mais je pense que pour 99% de la population c'est une conclusion logique. En effet si tu pars là-dessus les dévs d'intellij codent mal, mais en fait aucun codeur Java ne code bien les UIs. Trop facile.
Uther Le 12/03/2015 à 09:33 Il faut dire que Swing est fait de telle sorte que c'est facile de bloquer/ralentir l'EDT.
On peut bien coder en Swing mais c'est tellement facile de laisser du code potentiellement lent s’exécuter dans ce thread que sur une grosse application on fini par le faire volontairement ou non. Faire du Swing réactif c'est possible mais c'est tellement chiant que presque personne ne le fait. C'est pas pour rien que Oracle essaye de le faire disparaître.
En l'occurence, Jira rame non pas a cause du navigateur, mais bel et bien a cause du code en java derriere, pour avoir fait des tests sur une machine DEDIE a Jira avec juste jira qui tourne par dessus un linux minimaliste, en reseau local et peux d'utilisateurs, ca rame.

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
SCPCD Le 12/03/2015 à 11:45 Non, Jira ramait (limite inutilisable) pas à cause de java mais à cause d'une gestion de BDD moisis.
Ici, depuis que l'on est passé sur une version plus récente avec refonte et optimisation des requêtes, ça répond quasi instantanément.
Recente == quelle version? (quand j'ai fait ces test c'etait il y a grosso modo 2 ans.. (putain le temps passe...))

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Pen2: il y a de forte chances que le JDT soit un peu mieux ecrit que le CDT qui est une affrosité, un vrai monstre de lenteur...

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Uther Le 12/03/2015 à 12:26 C'est une constante que je remarque : quand il y a un problème dans un logiciel Java, tout le monde a tendance à accuser Java, alors que s'ils ont le même problème dans un logiciel écrit dans un autre langage, même s'il est techniquement bien moins rapide/sécurisé/... que Java, c'est au mieux le développeur du logiciel qui est visé.
Je ne dit pas que Java n'est pas critiquable, loin de là, mais 90% des critiques qu'il reçoit ne sont pas particulièrement justifiés.
Je ne supporte plus Netbeans, il rame bien trop souvent.
Tout ça parce qu'il a 6 ou 7 projets d'ouvert à la fois, avec un paquet de fichiers ouverts à la fois, et une flopée d'addons installés, le tout en gardant mon Firefox (et ses 30+ onglets d'ouvert) sur mon PC pro avec ses larges 4Go de RAM.
Bouh Java !

« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »
— Legion, geth trolleur à portée galactique
SCPCD Le 12/03/2015 à 12:57 la plupart du temps c'est effectivement le code qui est mal fait.
Sur une appli java+C sur laquelle j'ai travaillé, en passant d'une vieille machine de plus de 10 ans à une toute nouvelle, en résultat on a x10 sur la vitesse de traitement en C, et difficilement un x2 sur le java en faisant aucune modif.
Un des traitements java le plus gourmand mettait 15min sur la nouvelle machine, après étude et correction de l'algo, le traitement se faisait en moins de 1s... pour dire à quel point c'était mal foutu...
le problème est aussi que ces logiciels se veulent modulaires (OSGI, machin équivalent dans netbeans).
Du coup absolument tout est configurable et extensible par plugin, par contre bonjour les performances, tout est généralisé et non optimisé.