Articles marqués avec «Groovy» :

Groovy 2.4.4 est sorti
Depuis quelques jours, Groovy est disponible en version 2.4.4 sur le site officiel. Alors, qu’y a-t-il de nouveau dans cette version ? Hé bien pas grand-chose. Essentiellement des corrections de bugs. Groovy a adopté depuis la version 2.0 le semantic versioning un système de notation de version très répandu dans le milieu logiciel libre. Concrètement, une numérotation trinumérique x.y.z. On incrémente x lors de changements qui introduisent des incompatibilités avec les précédentes versions (concrètement le code écrit en Groovy précédemment n’est pas assuré de fonctionner), y lorsque l’on introduit des nouvelles fonctionnalités rétro-compatibles et z, lorsqu’il ne s’agit que de corrections de bugs. Et Groovy vient de passer de la version 2.4.3 à la version 2.4.4. Donc, une version mineure.
Mais rassurez-vous, je n’écris pas un article uniquement pour ça. Si j’écris cet article, c’est parce que le langage sort d’une petite série de péripéties commencée 6 mois… Lire la suite

Bashing Java : Les bonnes et les mauvaises critiques sur Java — Épisode 3 : Les « bonnes » pratiques
Toutes les communautés qui se forment autour d’un langage développent un certain nombre de bonnes pratiques ou de conventions. Elles n’ont rien d’obligatoire pour maîtriser le langage mais sont généralement plus ou moins suivies par les développeurs et on conseille généralement aux débutants de s’y mettre tôt. Cela peut aller du style de développement, comme la très célèbre PEP8 de Python à l’utilisation conseillée de certains design patterns. Et Java ne manque pas de ces derniers, la plupart détaillés dans le bouquin Effective Java dont je vous ai déjà parlé. Je vais être franc : je considère une bonne partie de ce qui est écrit dans ce bouquin comme étant carrément dispensable. Soit que ce sont des conseils de bon sens absolument pas exclusifs à Java, soit que se sont des stratégies pour palier aux déficiences patentes du langage, soit que ce sont tout simplement une monstrueuse pile de… Lire la suite

Bashing Java : Les bonnes et les mauvaises critiques sur Java — Épisode 2 : La syntaxe
La syntaxe est, à mes yeux, le plus gros problème de Java. Le langage n’a pas su évoluer avec le temps au contraire d’autres comme Python. Je sais que je cite souvent les mêmes exemples mais ils sont à mes yeux révélateurs du problème. La syntaxe est lourde à pleurer et il est hallucinant que certains concepts n’ont toujours pas été ajoutés avec le temps à la syntaxe. En voici quelque-uns :
Les chaînes templates et multilignes.
Manipuler des chaînes de caractères est une vraie plaie en Java. Il est impossible de déclarer des chaînes multilignes facilement. Le moindre retour à la ligne oblige à ajouter le caractère spécial et la moindre insertion de variable oblige à casser la chaîne et la concaténer en utilisant l’opérateur . En Ruby, en Python et en Groovy, ce type de chaîne se déclare avec trois guillemets (en Groovy) : mais la même chose… Lire la suite

Bashing Java : Les bonnes et les mauvaises critiques sur Java — Épisode 1 : Les mauvaises critiques
Ouais, je fais pas dans la dentelle.
Aujourd’hui je commence une série qui dissertera, de mon point de vue, des critiques couramment portées sur Java et des vrais problèmes du langage.
Avec l’ami Chocobozzz, nous sommes à peu près d’accord pour dire que Java est un mauvais langage. Cependant, notre désaccord porte sur la nature de ces problèmes. La plupart de ses critiques pourraient être résumées avec la BD suivante :
Bien que cette BD soit hilarante (essentiellement parce que j’aime le troll), ces critiques sont malheureusement hors de propos. En premier lieu, parce qu’elles portent sur la technique de la semi-compilation interprétée dans une VM et non sur le langage lui-même. De fait, c’est un reproche que l’on pourrait étendre à tout langage qui n’est pas purement compilé : C♯, Groovy, Scala, Kotlin, Python, Jython, Ruby, JRuby, PHP, OCamL, Perl, JavaScript, Lua, etc.
Mais surtout,… Lire la suite

Projet Phœbius — Un premier bilan
La date de rendu de mon projet Android pour l’école approche et je ressens comme le besoin de faire un premier bilan. De loin, c’est le projet d’école qui m’aura le plus touché. Il faut reconnaître que développer des projets Android, quand on adore développer, comme moi, ça génère beaucoup d’émotions. De la frustration, essentiellement. Mais aussi beaucoup de satisfaction. Le genre de satisfaction qui vous font penser : « Merde… C’est moi qui l’ai fait… J’ai réussi… »
Développer une application Android, c’est comme jouer à un jeu vidéo réussi. Ni trop facile, ni trop compliqué. L’API d’Android est ultra-complète et ultra documentée (la plupart du temps) mais elle ne fera rien à la place du développeur. Ça laisse la satisfaction de créer son application soi-même avec ses petites mains potelées et son code crade :’)
Le projet Pœubius, en plus, me tenait particulièrement à cœur. Lorsque… Lire la suite

Formalisation d'un algo de mélange (en Groovy)
Voici un problème auquel je suis confronté sur mon projet d’Android pour l’école : je dois implémenter une fonctionnalité de mélange de titres de musique. L’occasion pour moi de me pencher sur un problème que j’ai rencontré avec tous les lecteurs de musique que j’ai utilisé : la lecture aléatoire n’est pas si aléatoire et, avec un échantillon de musique suffisamment grand et sur un nombre d’écoutes suffisamment important, un petit échantillon de titres semble revenir plus souvent que tous les autres. Essayons de voir si l’on peut élaborer un algo de mélange efficace.
Formalisation du problème et algorithme
Le problème est le suivant : soit une liste de taille composée d’éléments notés à , le but est de définir un algo de mélange qui donne une distribution aléatoire des titres dans la liste, c’est-à-dire que n’importe quel titre a autant de chances d’être à une place qu’à une autre… Lire la suite