Naissance d'un géant : Java

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
64
8
juil.
2011
Java

Java est un des langages de programmation les plus auréolés de succès de ces quatre dernières décennies. Une grande partie des offres de postes de développeurs en France concerne Java.

D'après le « TIOBE Programming Community Index » Java est toujours leader avec 18,58 % des parts de marché en juin 2011. Il était bien plus haut en 2000, avoisinant les 30 %.

Mais comment Java en est arrivé là ? Cet article effectue un retour sur la période 1991–2000.

Java 15 est sorti

Posté par  . Édité par bobble bubble, Nonolapéro, Yves Bourguignon, Benoît Sibaud, Lawless, BAud, Davy Defaud, theojouedubanjo et Ysabeau 🧶 🧦. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
56
15
sept.
2020
Java

Ce 15 septembre 2020 sort Java 15. C’est l’occasion pour cette dépêche de revenir sur les nouveautés entre les blocs de texte et autres ramasse‑miettes. On en profite pour parler de quelques informations autour de Java (les vingt‑cinq ans de la plate‑forme, les nouveaux champions, etc).

Sortie d’OpenJDK 13

Posté par  . Édité par ZeroHeure, theojouedubanjo, Ysabeau 🧶 🧦, Davy Defaud, Cetera, xof et Julien Jorge. Modéré par Julien Jorge. Licence CC By‑SA.
Étiquettes :
48
24
sept.
2019
Java

Le 17 septembre 2019 est sortie cette nouvelle version d’OpenJDK. Elle comporte son lot de nouveautés, de fonctionnalités en préversion et des retraits. C’est aussi l’occasion de réécriture de certains composants, notamment l’API Socket pour l’inclusion des fils d’exécution — threads — locaux (aka Fibers). Les notes de version vous permettront d’avoir plus de détails.

OpenJDK JEP 180: HashMap, collisions & attaques par la complexité

Posté par  . Édité par claudex, palm123, Benoît Sibaud, Nils Ratusznik et ZeroHeure. Modéré par Benoît Sibaud. Licence CC By‑SA.
46
6
mai
2014
Java

Cette dépêche parle de la JEP 180 d'OpenJDK 8 qui propose une solution intéressante aux problèmes d'attaques sur la complexité que rencontrent les tables de hachage.

On a déjà parlé de ce sujet ici même à plusieurs reprises. Je vais cependant rapidement représenter le problème et l'évolution des discussions. Le lecteur averti sur le sujet ira directement au dernier paragraphe pour voir la proposition de la JEP 180.

NdM : merci à ckyl pour son journal.

Brevets logiciels Oracle/Google : est-ce enfin la guerre nucléaire ?

Posté par  (site web personnel) . Modéré par patrick_g.
45
13
août
2010
Java
Oracle Corporation, le géant américain des bases de données propriétaires, vient de déposer plainte contre Google pour violation de sa propriété intellectuelle sur les technologies Java.

Oracle a racheté Sun l'an dernier et la firme est donc devenue la détentrice de tout les brevets liés à Java et sa machine virtuelle. Oracle a décidé de se servir de cet arsenal pour attaquer Google et notamment Android et sa machine virtuelle Dalvik qui exécute le code java des applications.

Plus de détails dans le reste de la dépêche.

NdM : à rapprocher de « Pour l'ancien patron de Sun, seuls les désespérés attaquent pour violation de brevets » ou « Brevets abusifs : Jonathan Schwartz, ex-PDG de Sun, se lâche sur son blog » (articles Numerama ou Le Monde informatique de mars sur un affrontement Apple/Google)

Modernisez votre code Java en un clic avec AutoRefactor v1.0.0 !

Posté par  . Édité par palm123, BAud, Snark, Nÿco et Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
40
5
juin
2015
Java

Le 22 mars 2015 est sortie la version 1.0.0 du projet AutoRefactor. Ce logiciel est publié sous Eclipse Public License v1.0 et GNU General Public License v3+.

AutoRefactor restructure automatiquement le code source d'un programme Java afin de :

  • Faciliter la maintenance en améliorant la lisibilité
    • exemple : lorsque toutes les branches d'un if ont les mêmes instructions à la fin des blocs, celles-ci sont déplacées après le if, …
  • Moderniser le code
    • exemple : passer des APIs de java.util.Vector vers celle de java.util.List, …
  • Appliquer les bonnes pratiques
    • exemple : utilisation d’accolades après un if, javadoc bien formés, bonne utilisation des APIs de BigDecimal, TestNG, …
  • Réduire la taille du code
    • exemple : un if imbriqué dans un autre if devient un if unique, suppression des variables locales déclarées juste avant un return, …
  • Améliorer les performances
    • exemple : utiliser Integer.valueOf(int) au lieu de new Integer(int), …

Sortie de JDK 10

Posté par  . Édité par Dring, BAud, Aldoo, claudex, Davy Defaud, ZeroHeure, Lucas, Nonolapéro, Bruno Michel et olivierweb. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
40
9
nov.
2018
Java

Cette dépêche aura mis du temps à venir au monde, et depuis le JDK 11 — la version avec support étendu (LTS) — est sorti, mais il est encore temps de troller^W discuter de façon constructive de l’évolution d’un langage qui reste aujourd’hui au cœur des entreprises.

C’est l’occasion de (re)voir les ajouts côté langage, les changements et retraits côté API, les évolutions de la machine virtuelle Java (JVM), la gestion du code source ; le tout documenté au travers des JEP à la base des spécifications de Java.

confusable-homoglyphs : une bibliothèque pour gérer les caractères qui se ressemblent

Posté par  (site web personnel, Mastodon) . Édité par Xavier Teyssier, Davy Defaud et Benoît Sibaud. Modéré par Pierre Jarillon.
39
14
mar.
2019
Java

Bonjour tout le monde,

J’ai l’honneur de vous présenter une nouvelle bibliothèque Java (en fait compatible avec n’importe quel langage qui utilise la machine virtuelle Java, normalement) : confusable-homoglyphs. « Nouvelle » dans sa version Java, car c’est en réalité un portage d’une bibliothèque Python. Notez qu’il en existe aussi une version PHP.

C’est un outil sous licence Apache 2.0 qui permet de gérer directement au sein d’une application les caractères Unicode qui se ressemblent, et donc qui sont source de confusion.

Java 14 tombe le masque

Posté par  . Édité par theojouedubanjo, olivier-maury, Benoît Sibaud, Davy Defaud et Ysabeau 🧶 🧦. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
36
18
mar.
2020
Java

À quelques jours du printemps, une nouvelle version de Java arrive avec son lot de corrections, améliorations, nouveautés et retraits. Voilà six mois que Java 13 a apporté ses quelques nouveautés. Cette nouvelle itération est bien plus riche aussi bien sur les fonctionnalités définitives que sur celles en cours de maturation. Au programme pas moins de 16 JEP intègrent le langage. Seulement une partie sera détaillée dans la suite de dépêche.

Apache Software Foundation et Oracle : le divorce autour de Java est prononcé

Posté par  . Modéré par baud123.
Étiquettes :
36
10
déc.
2010
Java
Restituons le contexte : les inquiétudes des utilisateurs de MySQL soulevées il y a de nombreux mois s'étaient avérées justifiées lorsqu' Oracle annonça une augmentation de ses tarifs de support.

Ce n'était qu'un aperçu de tous les dégâts et déceptions qu'allait causer Oracle auprès du logiciel libre, puisque s'ensuivit l'arrêt du développement ouvert d'OpenSolaris. L'éditeur décida de ne distribuer le code source qu'après la sortie d'une version majeure et de ne plus permettre un développement ouvert continu et permanent. Aujourd'hui existent deux forks de ce système d'exploitation : OpenIndiana et IllumOS.

La série noire continua avec la mésentente des développeurs d'OpenOffice et d'Oracle. S'ensuivit la décision de bon nombre des développeurs d'OpenOffice de quitter le projet et de créer un « fork », LibreOffice, histoire de se libérer de l'emprise d'Oracle sur le logiciel.

Tous ces évènements n'ont pas inquiété Oracle, qui a décidé de continuer sur sa lancée. Cette fois, c'est Java qui est concerné : Oracle a refusé d'accorder une licence suffisamment permissive à la fondation Apache pour qu'elle puisse continuer à implémenter librement les prochaines versions des spécifications de Java.

Enfin, un client EBICS java libre

Posté par  . Édité par baud123, tuiu pol, Benoît Sibaud et claudex. Modéré par baud123.
Étiquettes : aucune
34
13
mar.
2012
Java

Nous avons développé un framework en Java qui implémente un client EBICS (version 2.4, EBICS pour Electronic Banking Internet Communication Standard). EBICS étant le nouveau protocole destiné à remplacer le protocole actuel de communication bancaire ETEBAC dont l'arrêt est prévu fin Juin 2012 en France.

Ce framework permet aux applications Java d'échanger, en toute sécurité, les transactions bancaires sous forme de fichiers via Internet. Il n'existait apparemment pas d'initiative en libre, ce pourquoi nous en proposons une.

Des tests de qualification sur www.qualif-ebics.fr ont permis de s'assurer du bon fonctionnement de notre framework.

Nous serons ravis si vous participez à l'amélioration du client pour le rendre le premier client EBICS java libre et performant. Nous sommes à votre disposition pour tout type d'aide.

NdM: le logiciel est sous licence LGPL 2.1

L’environnement de développement Eclipse 4.3 est disponible

Posté par  (site web personnel) . Édité par ZeroHeure, claudex, palm123, bubar🦥 et Nÿco. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
33
30
juin
2013
Java

La Fondation Eclipse vient d’annoncer la disponibilité d’une nouvelle version de l’environnement de développement libre Eclipse numéroté 4.3, nom de code Kepler, pour Linux, Mac OS X et Windows.

Eclipse

Eclipse Kepler se compose de 71 projets, ce qui représente 58 millions de lignes de code. Cette nouvelle version prend en charge Java EE 7 (sorti le 12 juin dernier) et apporte de nouvelles améliorations concernant l’interface et les performances.

Kepler apporte de nouvelles améliorations concernant l’interface et les performances. Les nouvelles fonctionnalités sont nombreuses, bien détaillées et illustrées de captures d’écran - cliquez sur les liens ci dessous. Voir la liste en français en seconde partie.

Sortie de Scala 2.10

Posté par  . Édité par Benoît Sibaud, baud123 et rootix. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
31
24
jan.
2013
Java

Comme vous l'avez aperçu sur ce même site, la version 2.10 du langage de programmation Scala est sortie, il y a quelques semaines.

Cette version apporte pas mal de nouveautés, de corrections et d'améliorations. Cette dépêche propose une petite revue rapide des différents apports de cette version.

Java 8 et NetBeans 8 sont disponibles

Posté par  . Édité par Davy Defaud, barmic, j, BAud, ZeroHeure, palm123, Nÿco, domak et Sébastien Koechlin. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes : aucune
31
28
mar.
2014
Java

Oracle a annoncé la mise à disposition de la nouvelle version standard de Java, huitième du nom. Deux ans et sept mois après Java 7, la publication de cette nouvelle version a été retardée afin d’améliorer la sécurité.

Et pour permettre d’exploiter au mieux ce nouveau JDK, une nouvelle version de l’environnement de développement NetBeans est également disponible et porte le même numéro. Côté Eclipse, un correctif est proposé et concernant IntelliJ, Java 8 est pris en charge dans la version 13.1 sortie la semaine dernière.

Ces deux sorties marquent la volonté d’Oracle de convaincre les développeurs.

Communiquer avec D-Bus en Java avec JNIDBus

Posté par  (site web personnel, Mastodon) . Édité par SeekDaSky, Davy Defaud, Ysabeau 🧶 🧦, claudex, Nÿco et BAud. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
30
24
sept.
2019
Java

Avec mes collègues chez Viveris, on s’est dit qu’on aimerait bien faire plus de logiciel libre. On a donc monté un « groupe opensource » dont le but est d’identifier les projets pour lesquels on peut publier tout ou une partie du code sous licence libre, et aussi de contribuer aux outils et bibliothèques qu’on utilise le plus.

Il y a quelques mois je vous présentais QTestFramework, depuis on a également pu contribuer au dissecteur 0MQ pour Wireshark et un outil pour le boundary scan JTAG.

On vient de publier il y a quelques jours une bibliothèque Java pour communiquer en D-Bus.

Naca 1.2 : support Oracle et Microfocus pour la migration de Cobol vers Java

Posté par  (site web personnel) . Modéré par Florent Zara.
Étiquettes :
30
16
oct.
2009
Java
Les outils du projet NACA en Open Source sont étendus (support fichiers Microfocus, Oracle, nouveaux verbes Cobol, etc.) dans leur version 1.2 pour rendre toujours plus simple la migration de Cobol sur mainframe vers Java et Linux. Nous avons publié la version 1.2 de notre framework de conversion 100% automatique de Cobol vers Java, développé initialement lors de notre projet NACA de migration des applications Publicitas d'un mainframe IBM vers une (toute petite) ferme de serveurs Intel.

Depuis la mise en Open Source de ces outils, nous avons allègrement dépassé le cap des 1500 téléchargements et connaissons des tests pilotes, voire des migrations avec nos outils déjà largement avancées sur quatre continents : seule l'Afrique nous manque à ce moment.

Tous les détails du projet se trouvent dans les articles déjà publiés sur ce site (voir liens) et des précisions dans la suite de la dépêche.

Play! 1.0 est sorti

Posté par  . Modéré par Jaimé Ragnagna.
Étiquettes :
29
20
oct.
2009
Java
Depuis des années JEE a été vu comme l'unique façon de créer des applications Web avec Java. Cependant, il est malheureusement connu pour sa faible productivité, notamment à cause des phases répétées de compilation-packaging-déploiement. Voici donc une nouvelle manière de créer des applications Web avec Java.

La version 1.0 finale du framework Play est un framework Java « pile complète » qui propose tous les composants nécessaires pour créer des applications Web modernes. Notre souci principal est la productivité des développeurs, avec un cycle de développement « corriger et rafraîchir la page », des messages d'erreurs parfaits affichant le code source de l'application directement dans le navigateur et un « lanceur de tests » intégré qui rend le « développement piloté par tests » naturel.

Play utilise de nombreux composants libres, dont Apache Mina pour la pile réseau, Groovy comme langage de script pour le moteur de template et Hibernate pour le mapping objet-relationnel. Ce framework est basé sur une architecture "Share Nothing" qui aide à construire des applications Web RestFul. Il est possible de déployer l'application sur plusieurs serveurs simultanément (sans besoin de synchronisation), et donc de supporter de très fortes charges.

OpenJDK 8, JEP 142 & False Sharing

Posté par  . Édité par Davy Defaud, ZeroHeure, Florent Zara, palm123, tuiu pol et Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
28
2
avr.
2014
Java

Java 8 est sorti ce mois‐ci et vous avez même eu droit à une dépêche, ici‐même, qui parle des lambdas, de l’API flux (stream API), etc.

Cependant, derrière ces gros changements qui impactent le monde hétérogène des développeurs Java, il y a des petits changements qui eux servent plutôt aux développeurs qui font des briques de base, de l’infrastructure ou du code qui va vite. Je vous propose donc d’explorer quelques JDK Enhancement Proposals d’OpenJDK.

Pour cette première dépêche, on commence avec la JEP 142 : Reduce Cache Contention on Specified Fields soit l’annotation @Contended qui vise à proposer une solution aux problèmes de false sharing.

NdM : merci à ckyl pour son journal.

Sortie de Pollen 3

Posté par Samuel Maisonneuve . Édité par Davy Defaud, Nils Ratusznik, Xavier Teyssier et ZeroHeure. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
28
13
fév.
2018
Java

Après plus de 20 000 sondages créés, Pollen fait peau neuve !

Pollen est une plate‐forme de sondages libre (AGPL) développée en Java/JavaScript. Cette nouvelle mouture repense principalement l’ergonomie et le design de l’application et propose une API permettant d’interagir avec vos sondages depuis votre site Web.

Cette nouvelle version a fait l’objet d’une refonte importante de l’application. En ce sens, l’équipe de développement est à l’affût de tous vos retours ou commentaires.
Un sondage Condorcet a été créé si vous souhaitez y jeter un œil : Quelle est votre distribution préférée ?

Nouvelle version stable de Jitsi

Posté par  . Modéré par patrick_g.
25
5
sept.
2011
Java

Jitsi (anciennement « SIP Communicator ») est un logiciel de VoIP et de messagerie instantanée sous licence LGPL, développé en Java. Il supporte les appels audio‐vidéo via les protocoles SIP et XMPP et la plupart des messageries instantanées comme Windows Live (MSN), XMPP (et donc Google Talk et Facebook), AIM/ICQ, Yahoo! Messenger… Jitsi dispose aussi de fonctionnalités comme le partage de bureau, le chiffrement des appels, l’enregistrement des appels audio et beaucoup d’autres.

Après de nombreux mois de travail intensif, la nouvelle version stable de Jitsi est disponible.

Parmi les changements on retrouve notamment :

  • les appels audio‐vidéo vers les contacts Google Talk (Gmail et Android) ;
  • les appels téléphoniques via Google Voice ;
  • le support du codec audio SILK (utilisé également par Skype) ;
  • vérificateur orthographique ;
  • corrections et améliorations diverses.

Sonar 2.13 est disponible

Posté par  (site web personnel, Mastodon) . Édité par Lucas Bonnet, Nÿco, Mouns et baud123. Modéré par Lucas Bonnet. Licence CC By‑SA.
25
27
jan.
2012
Java

Sonar, l'outil d'analyse de la qualité du code source que l'on ne présente (presque) plus désormais, vient de sortir sa nouvelle version, comme toutes les 6 semaines ou presque.
Logo Sonar

La version complètement Open Source (LGPL v3) permet d'analyser du Java, PHP, Groovy, C#, Flex/ActionScript et du Javascript et fournir les résultats détaillés et agrégés dans un portail web contenant des tableaux de bords essentiellement techniques. Il s'intègre assez naturellement avec les outils d'intégration continue.

Les nouveautés sont détaillées dans la seconde partie. Vous pouvez tester par vous même sur l'instance publique de Sonar.

Sortie de LDAP Synchronization Connector 2.1.0

Posté par  (site web personnel, Mastodon) . Édité par ZeroHeure, Benoît Sibaud, claudex, tuiu pol et palm123. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
24
21
mai
2014
Java

Le logiciel LDAP Synchronization Connector est un moteur de synchronisation entre annuaires LDAP, bases de données, fichiers, et autres sources (API REST, etc.). Il est particulièrement efficace pour diffuser les données d'utilisateurs et de groupes entre son annuaire d'entreprise, un serveur Active Directory, une base de données d'application. On peut le classer dans la catégorie des logiciels de Méta-annuaire ou de gestionnaire d'identités (IDM en anglais).

logo LSC

La version 2.1.0 vient d'être publiée, avec son lot de nouveautés et de correctifs, décrits dans la suite de la dépêche.

Ndm : LSC est livré sous licence BSD.

Silverpeas 6.0 est (enfin) sorti !

Posté par  (site web personnel) . Édité par ZeroHeure, Davy Defaud et palm123. Modéré par ZeroHeure. Licence CC By‑SA.
23
6
fév.
2018
Java

Après deux ans de travail acharné, tout en maintenant la 5.15, Silverpeas 6.0 est enfin sorti !

Silverpeas est un portail collaboratif et social pour faciliter la collaboration et l’échange d’informations entre les personnes à l’aide d’applications intégrées. Chaque application est construite sur cette idée de collaboration, de partage.

Logo de silverpeas

Cette version majeure de Silverpeas contient des changements ergonomique, fonctionnels et surtout techniques. La version 6 repose désormais sur le serveur d’application Wildfly (la 6.0 tourne sur la version 10.1.0 de celui‐ci), s’appuie sur JEE 7 et Java 8.

Le point sur Java 7

Posté par  (site web personnel, Mastodon) . Modéré par baud123.
Étiquettes :
22
16
avr.
2010
Java
Pour les développeurs Java, les nouveautés que réserve Sun^WOracle pour les prochaines versions de son langage Orienté Objet sont autant de sujets d'attentes, de débats, et même pour certains ... d'espoirs ! Beaucoup a été dit et surtout bloggué depuis le lancement du projet Java 7 "Dolphin", les échanges ont été nombreux et le débat fourni. À l'heure où la sortie de cette dernière mouture de Java est imminente, faisons le point sur le sujet et tout particulièrement sur le projet Coin de Sun et des améliorations qu'il apporte à Java 7.

NdM : Merci à galaux pour son journal à l'origine de la dépêche.

SIP Communicator devient « Jitsi » et Google Summer of Code 2011 !

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
22
19
mar.
2011
Java

Depuis ce début d’année, SIP Communicator se nomme désormais « Jitsi » (qui signifie « câbles » en bulgare).
Ce changement de nom s’explique par le fait que SIP Communicator n’est plus seulement un client SIP depuis l’ajout de la gestion des appels audio via XMPP / Jingle, en fin d’année 2010.

En outre, pour la cinquième année consécutive, Jitsi a été sélectionné pour le Google Summer of Code : plusieurs sujets sont proposés, dont certains en collaboration avec les projets SEMS et Kamailio (OpenSER), il ne reste plus qu’à faire son choix !