Java sur un rpi, si tu cherches la petit bĂȘte aussi...
Tout le monde sait qu'il faut travailler des machines des processeurs un tant soit peu puissants, avec un minimum de ram et des disques potables avec java. Et lĂ , on commence Ă parler :-)
Tout le monde sait qu'il faut travailler des machines des processeurs un tant soit peu puissants, avec un minimum de ram et des disques potables avec java. Et lĂ , on commence Ă parler :-)
classMyGitHubApp{voidonOpen(@Issue.OpenedGHEventPayload.IssueissuePayload)throwsIOException{issuePayload.getIssue().comment("Hello from MyGitHubApp");}}
AprĂšs Elixir en 2Ăšme, Clojure en 3Ăšme, Delphi en 7Ăšme, SQL en 9Ăšme, solidity en 15Ăšme (un langage pour ethereum),... Le survey me semble donner avantage Ă certains langages de relativement de niche. Par contre si on va dans la partie "want" java est 10Ăšme.
# Nope
PostĂ© par David Demelier (site web personnel) . ĂvaluĂ© Ă 2.
Je comprendrai jamais l'intĂ©rĂȘt que porte les gens sur Java. Ce langage principalement utilisĂ© en Ă©cole et en entreprise promeut tant de choses qu'on dit « bonnes » juste par principe mais finalement n'apporte rien :
private RS232 connect() throws NoSuchPortException, PortInUseException, UnsupportedCommOperationException, IOException, TooManyListenersException, Exception {java
AI is a mental disorder
[^] # Re: Nope
PostĂ© par Guillaume Smet (site web personnel) . ĂvaluĂ© Ă 10.
Je pense que ta vision de Java doit dater des années 90.
Accessoirement, la majoritĂ© de tes points ne sont pas liĂ©s au langage lui-mĂȘme mais Ă ce que certaines personnes en font.
Celle-lĂ m'a bien fait rire.
Bref, on ne te fera pas changer d'avis mais, des fois, c'est pas mal de se poser la question de pourquoi tant de gens aiment quelque chose quand on a des idées préconçues comme ça.
[^] # Re: Nope
PostĂ© par David Demelier (site web personnel) . ĂvaluĂ© Ă 4.
Je ne parle pas sans connaissance de cause, je maintien des applications en Java Ă mon travail et je t'assure que j'ai envie de trucider l'ancien dĂ©veloppeur qui s'est dit que ça allait ĂȘtre une bonne idĂ©e de faire du Java sur de la Raspberry et de la BeagleBone.
Le simple dĂ©marrage de l'application met dĂ©jĂ plus de 3 secondes avant mĂȘme d'arriver dans nos premiĂšres fonctions. L'application en elle mĂȘme n'est pas spĂ©cialement compliquĂ©e, mais tout est lent. Dire que Java est performant est de la pure mauvaise foi ;)
J'ai fait du Java pendant plusieurs annĂ©es, je ne parle pas dans le vent. Je m'intĂ©resse Ă beaucoup de langages et c'est clairement celui dont je ne comprends toujours et encore pas l'intĂ©rĂȘt. Comme c'est sujet Ă dĂ©bat, je t'invite Ă me dire ce qui te plait dans ce langage et serait fortement ravi de savoir de quoi il s'agit.
AI is a mental disorder
[^] # Re: Nope
PostĂ© par barmic 𩩠. ĂvaluĂ© Ă 3. DerniĂšre modification le 11 aoĂ»t 2022 Ă 13:18.
Moi c'est libreoffice qui est lent comme ça sur mon pi. Dire que C++ est un langage performant est de la pure mauvaise fois.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Nope
PostĂ© par Elfir3 . ĂvaluĂ© Ă 5.
Java sur un rpi, si tu cherches la petit bĂȘte aussi...
Tout le monde sait qu'il faut travailler des machines des processeurs un tant soit peu puissants, avec un minimum de ram et des disques potables avec java. Et lĂ , on commence Ă parler :-)
Un peu plus sĂ©rieusement, chez nous ce sont les containers java qui prennent a peu prĂšs une minute pour ĂȘtre fonctionnels quand des applications plus Ă©laborĂ©es en python sont dispo quasiment instantanĂ©ment. Ce sont les mĂȘme dĂ©veloppeurs (java Ă la base) qui ont fait les deux codes. Et je ne parle pas de la consommation de mĂ©moire ...
Sur certains points, c'est pas encore ça.
Par contre, point de vue vitesse dâexĂ©cution y'a pas photo, java a une longueur d'avance.
Merci de prendre le commentaire ci-dessus avec: un peu de recul, le premier degré, et si possible le second !
[^] # Re: Nope
PostĂ© par David Delassus (site web personnel) . ĂvaluĂ© Ă 0.
L'intĂ©rĂȘt de Java et de la JVM c'est pas write once, run everywhere ?
L'argument est douteux, si tu configure proprement ta JVM, et optimise correctement ton appli, Java va trĂšs bien tourner mĂȘme sur un grille pain.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Nope
PostĂ© par barmic 𩩠. ĂvaluĂ© Ă 4.
Ăa n'a jamais voulu dire que ça doit s'exĂ©cuter partout avec la mĂȘme performance. Par contre il me semble que java ne s'exĂ©cute pas sans utiliser une virtualisation en plus sur M1, sur risc-v et sur ios. Et il ne s'exĂ©cute plus sur navigateur non plus.
Ăa doit ĂȘtre pour ça que le slogan est mort avec son crĂ©ateur : sun microsystems. C'est un peu comme utiliser le premier non de c++ pour en parler "c with classes".
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Nope
PostĂ© par gouttegd . ĂvaluĂ© Ă 5.
Sur risc-v et ios, je ne sais pas, mais sur M1, non, on nâest pas obligĂ© de passer par lâĂ©mulation x86_64 (mĂȘme si câest possible). Il y a des JVM ciblant directement lâarchitecture arm.
Et câest heureux, parce que pour avoir testĂ© les deux (JVM x86_64 sous Ă©mulation vs JVM arm64 native), les performances de la version native sont bien meilleures, malgrĂ© tout ce que peut dire Apple sur la qualitĂ© de son Ă©mulation x86_64 qui soi-disant autoriserait Ă utiliser des programmes x86_64 sur M1 sans quâon ne puisse jamais voir la diffĂ©rence...
[^] # Re: Nope
PostĂ© par YBoy360 (site web personnel) . ĂvaluĂ© Ă 4. DerniĂšre modification le 11 aoĂ»t 2022 Ă 15:40.
Quelle JVM usitlises-tu ?
Il y a eut beaucoup d'amélioration concernant le RPi, celle par défaut n'est pas performante.
Les tél Android ne sont pas tellement plus puissant qu'un RPi, les applications ne mettent pas beaucoup de temps pour se lancer.
[^] # Re: Nope
PostĂ© par Guillaume Smet (site web personnel) . ĂvaluĂ© Ă 5. DerniĂšre modification le 11 aoĂ»t 2022 Ă 15:53.
Sauf que tu parles d'anecdotes, de plus sur des systÚmes ultra spécifiques. Il y a beaucoup de gens qui utilisent Java et sont trÚs contents des performances.
Pour des applications serveurs, le compilateur JIT de Java est assez redoutable.
Si tu veux faire des applications type CLI, tu as GraalVM de nos jours (qui fait de la compilation AOT, ce qui dans certains cas sera moins performant que de la compilation JIT car le JIT peut optimiser des choses basées sur les motifs d'exécution).
Pour prendre un exemple, mon bot GitHub en Quarkus pour le projet Quarkus (dont je compte parler un de ces jours sur ce site) démarre en 20ms compilé en natif avec GraalVM.
Et l'implémentation d'une action simple avec le framework Quarkus GitHub App que j'ai développé pour ça est en tout et pour tout :
C'est Ă dire qu'avec juste cela, tu auras un bot GitHub qui rĂ©pond aux requĂȘtes et ajoute un commentaire pour tout nouvel issue GitHub créé. Rien besoin d'autre mis Ă part un fichier de configuration pour les clĂ©s de signature. Et l'IOException est lĂ juste Ă cause de l'API Java GitHub qui devrait virer cette exception dans la prochaine version majeure.
Le fait qu'on puisse mal bosser en Java ne dit rien sur le langage. Tu peux mal bosser dans tous les langages.
Bon et puis parfois, ce n'est juste pas le bon langage pour la tĂąche. Et c'est pas bien grave, utilise autre chose dans ce cas.
[^] # Re: Nope
PostĂ© par Ălafru . ĂvaluĂ© Ă 8.
Et pourtant via Java sur Android on a des centaines de milliers d'applications rapides et performantes sur des plateformes embarquées.
Dans la mĂȘme veine, quand on paie sans contact avec notre carte bancaire, tu as un systĂšme d'exploitation qui dĂ©marre, initialise une JVM, et fait tourner du Java(card), le tout en 1 ou 2 secondes, le temps du bip.
Ă l'heure oĂč les technos web, de plus en plus dĂ©complexĂ©es, s'assoient sur une montagne de ressources et oĂč on a tendance Ă bouder de plus en plus le logiciel applicatif hors navigateur web/electron, je ne mĂšnerais pas ma guerre pour l'optimisation Ă l'encontre de Java.
[^] # Re: Nope
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 10.
Sur quelques points, java a évolué.
Aujourd'hui on préfÚre la composition à l'héritage. Les cadriciels d'injection de dépendance encourage cette pratique.
Depuis Java 17, les records permettent de simplifier la syntaxe.
Graalvm permets de compiler une application native. Sur un petit web service migré récemment, j'ai divisé le démarrage par 5 (de 10 à 2 secondes) et la consommation mémoire par 30 (de 300mo à 10mo).
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Nope
PostĂ© par barmic 𩩠. ĂvaluĂ© Ă 4. DerniĂšre modification le 11 aoĂ»t 2022 Ă 13:22.
Java est gĂ©nĂ©ralement compilĂ© en natif mĂȘme sans graalvm. Pour le temps de dĂ©marrage c'est logique (il y a un travail en cours Ă OpenJDK pour ça par contre la mĂ©moire c'est surprenant. Graalvm ne fait pas grand chose pour ça, il permet au gc d'ĂȘtre plus rapide mais c'est Ă peu prĂšs tout. C'est pas que la jvm n'Ă©tait pas tunnĂ©e ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Nope
PostĂ© par freem . ĂvaluĂ© Ă 8.
MĂȘme que c'est pour ça que ça n'a jamais Ă©tĂ© utilisĂ© pour faire des jeux vidĂ©o sur les vieux tĂ©lĂ©phones... laissez-moi rĂ©flĂ©chir... j'ai comme l'impression d'oublier un dĂ©tail important, la?
Plus sérieusement, je ne pense pas que Java soit la raison derriÚre le gouffre en RAM et la faible lenteur.
J'accuserai plus volontiers des dĂ©veloppeurs qui ne se sont pas cassĂ©s la tĂȘte, parce que "le client rachĂštera de la RAM au pire" (entendre ça de la part d'un prof, ça fait rĂȘver... et c'Ă©tait pas sur du java!), parce qu'il faut release rapidement ou autre.
Ainsi, pour les serveurs, que les admins qui n'ont pas paramétré la JVM selon les besoins de l'application.
Le java dont je me souviens (je n'ai jamais aimé ce langage) a effectivement des "problÚmes" hein:
main()comme étant une fonction statique d'une classe qui sera instanciée qu'une seule fois, parce que seule la POO devrais exister (oupa)Mais globalement, les exceptions bien spécifiées je trouve ça au contraire génial: si C++ avait ça, ben les exceptions je m'en servirais!
Les getter/setter, j'ai toujours eu ça en horreur, mais c'est pas lié à java, juste a du cargo cult.
Overengineering? Idem.
Tous les trucs que je reprochais Ă Java, je les ai vus dans des codes dans d'autres langages. Tous.
D'autres langages? Lesquels? C. Et C++.
Oui, j'inclue le C, parce que j'ai vu des gens réimplémenter l'héritage (c'est pratique faut dire, quand c'est bien utilisé) en C, et en abuser. Les namespaces n'existent pas en C? Pas grave, le workaround c'est des "conventions de nommage" du style
un_truc_comme_ca_et_ajoutons_encore_un_peu_de_texte_pour_la_route(). Le truc, c'est que tant C++ que Java permettent de faire duusingpour réduire ça. Avec le C, on ne peut pas, on est obligé de recourir à des#define...Ah. Le Go et le Rust, c'est mieux. C'est probablement vrai, mais... l'astuce, c'est l'ùge.
Rust a été nommé comme ça parce que justement il n'inventait rien, il se base sur ce qui a été fait par les autres langages, et essaie d'en corriger les erreurs.
En face, C, C++, Java, Pascal... ces langages ont de l'historique. Et, non, faire comme python2 vers python3 n'est pas acceptable pour des langages de leur importance. A titre d'exemple, le programme
pppque l'on utilise pour les liaisons point à point (modems, entres autres, et sisi c'est toujours utilisé) utilise a certains la endroits des résidus de K&R.Il arrive que quelques points soient interdits dans des versions plus à jour (auto_ptr pour C++, pour le C les trigrammes sont retirés dans C11 il me semble) mais c'est rare et ne casse pas 90% des bases de code.
[^] # Re: Nope
PostĂ© par GuieA_7 (site web personnel) . ĂvaluĂ© Ă 3.
MĂȘme si c'est l'explication qu'on trouve sur wikipedia par exemple, ce n'est pas la vraie origine (ceci dit ça a j'imagine aussi Ă©tĂ© gardĂ© pour le double sens) :
https://www.reddit.com/r/rust/comments/27jvdt/internet_archaeology_the_definitive_endall_source/
(Graydon étant un des créateurs)
# Commentaire de jeudredi
PostĂ© par Maclag . ĂvaluĂ© Ă 5. DerniĂšre modification le 11 aoĂ»t 2022 Ă 15:36.
Si on a besoin de faire des entrĂ©es de blogs pour expliquer qu'un langage ne se porte pas mal, c'est peut-ĂȘtre qu'on est un tout petit peu anxieux aussi, non?
Si un langage est immensément populaire, j'aurais pensé qu'on n'a pas besoin de le dire, parce que ça se voit tout seul.
Comme par exemple des devs Java qui recodent des clients de Tribune en langage populaire. Je dis ça, je dis rien (mais je viens de l'Ă©crire quand mĂȘme!).
D'ailleurs, StackOverflow avait fait un classement non pas basĂ© sur la demande mais basĂ© sur l'intĂ©rĂȘt des codeurs pour le langage qu'ils utilisent:
the programming languages they use and if they're interested in continuing to develop with them.
Edit: J'avais oublié l'URL /o\
https://www.businessinsider.com/stack-overflow-developer-survey-14-most-loved-programming-languages-2020-5?op=1#14-scala-1
Et Java n'est mĂȘme pas dans ce classement qui affiche les 14 premiers...
[^] # Re: Commentaire de jeudredi
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 8. DerniĂšre modification le 12 aoĂ»t 2022 Ă 09:04.
Le passage de jb3 à gb3 était logique : Go n'est jamais qu'un Java en moins bloated.
A propos de langage populaire, personne n'a encore écrit de clients de tribune ou de tribune en Rust, pourtant premier dans le classement de stackoverflow. Parce qu'il n'est pas assez performant ?
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Commentaire de jeudredi
PostĂ© par barmic 𩩠. ĂvaluĂ© Ă 5.
Il est pas loin derriĂšre C++.
AprĂšs Elixir en 2Ăšme, Clojure en 3Ăšme, Delphi en 7Ăšme, SQL en 9Ăšme, solidity en 15Ăšme (un langage pour ethereum),... Le survey me semble donner avantage Ă certains langages de relativement de niche. Par contre si on va dans la partie "want" java est 10Ăšme.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
Suivre le flux des commentaires
Note : les commentaires appartiennent Ă celles et ceux qui les ont postĂ©s. Nous nâen sommes pas responsables.