Note de lecture : Kotlin in Action, par Dmitry Jemerov & Svetlana Isakova

Note : 5 ; Fait le boulot.

Kotlin est un langage de la JVM que je classe dans la catégorie des « better Java », aux côtés de Ceylon (qui hélas n’a pas encore d’ouvrage). Le parti-pris du langage est celui d’une très bonne intégration avec Java (le langage), la manière dont chaque concept se traduit et peut être utilisé de ce côté est un fil rouge du livre. Ce n’est pas celui qui m’intéresse le plus, mais c’est une fonctionnalité forte (et limitante) du langage, donc… L’autre parti-pris est de s’adosser à une version déjà ancienne de la JVM : Java 6, mais ce dernier point n’a pas d’influence sur le texte.

Il y a fort peu à dire de ce texte, ni en bien ni en mal. Il est plutôt sans surprise. Le texte est raisonnablement clair et les extraits de code font le boulot. D’un autre côté, pas de « waouh effect ». Avec 310 pages sur 11 chapitres regroupés en deux parties, on reste également dans le standard, bien que dans la partie haute.

La première partie « introducing Kotlin » compte 6 chapitres et couvre 170 pages. Le premier d’entre-eux se contente d’une quinzaine d’entre-elles. Il a pour but de faire le tour des caractéristiques principales du langage et de son positionnement. C’est bien écrit, mais on n’est en réalité pas tellement avancé. Par contraste, le chapitre 2 « Kotlin basics » et ses un peu plus de 25 pages font un bon boulot pour couvrir les bases du langage : déclaration de classes et de méthodes, les propriétés (et leurs petites particularités) ainsi que des structures de contrôle : boucles, switches, énumérations, etc. On couvre bien les base et c’est bien écrit.

Lire la suite

Publicités

Middleware et Internet, par Daniel Serain

Note : 6 ; Une introduction en douceur, mais un texte malheureusement démodé !

1999, pour les technologies, c’est désormais l’ancien temps ! De fait, cet ouvrage ignore (pour des raisons d’ancienneté) les technologies EJB, .NET et web services ! Aussi regarderons-nous cet opuscule d’un oeil nostalgique.

Le premier chapitre donne une vue générale sur la problématique des middlewares, et aborde superficiellement Corba et COM.

Le second chapitre traite des middlewares d’échanges de messages. Si ce chapitre ignore JMS (là encore pour de bonnes raisons), il présente cependant une bonne introduction à cette technique, sans toutefois rentrer suffisemment dans les détails. Il en va un peu différemment pour le chapitre suivant consacré aux middlewares orientés RPC, où l’auteur détaille plus la cinématique de fonctionnement des RPCs. Il consacre même une partie importante du chapitre à DCE : si la chose est intéressante, elle est encore un peu plus démodée ! Le chapitre 4, qui lui fait directement suite traite de Corba lui-même, des invocations statiques et dynamiques, mais peu des services Corba.

Lire la suite

Note de lecture : Eclipse, par Steve Holzner

Note: 4 ; Un livre de commande, ni bon ni mauvais, mais qui date un peu!

Je profite de la période de noël pour vous asséner l’une de mes petites notes de lecture archéologiques ! Celle-ci date d’une bonne douzaine d’années, ne vous plaignez pas j’en ai de bien plus anciennes. Et que diable, il faut bien que je refourgue mes fonds de tiroir !

Il n’y a pas à dire : depuis quelques années, O’Reilly a perdu de sa superbe. Autrefois incontournables sur leurs sujets, nombre des titres de l’éditeur sont là pour occuper le terrain. C’est le cas de ce titre. De toute évidence, ce titre comble un trou dans le catalogue de l’éditeur. Mais voyons de quoi nous parlons.

Le livre est globalement divisé en 2 parties. La première présente l’IDE Java, tandis que la seconde expose le développement d’applications Java classiques, Web et plugins. La première partie est sans surprise, et l’on effectue le « tour du propriétaire » classique : fonctions de l’éditeur, debogage et profiling, réfactoring, gestion de projets avec Ant, gestion de versions avec CVS, etc… Le tout plus qu’abondamment illustrés de copies d’écran dont, si j’étais mauvaise langue, je dirais qu’elles sont là pour faire du volume. Au moins l’approche est didactique et ne requiert pas vraiment d’effort de la part du lecteur. On regrettera que l’auteur ne prenne aucun parti pris sur l’organisation du travail, des workspaces, etc.. Il se contente d’exposer (bien que clairement) les fonctions disponibles. Pas très inventif, tout ça.

La seconde partie expose en grande partie des éléments que l’on trouve ailleurs : développement d’applets ( !) et d’IHM avec Swing, ainsi que le développement d’applications Web « classiques » en JSP/Servlet, mais sans plugins avancés. La seconde moitié de cette seconde partie est plus spécifique à Eclipse avec SWT et les plugins. J’en conclus que cet assemblage un peu large a pour objet de mettre entre les mains du lecteur un ouvrage « tout en un » où l’on trouvera de quoi démarrer sur la plupart des sujets courants en Java.

Lire la suite

Note de lecture : The Java Developer’s Guide to Eclipse, 2nd edition, par Jim D’Anjou, Scott Fairbrother, Dan Kehn, John Kellerman & Pat McCarthy

Note : 6 ; De l’Eclipse au kilo !

Voici un pavé, du vrai, du gros, du 1000 pages ! Ce gros pavé, justement, se veut la bible du développement avec et pour Eclipse. Honnêtement, cet ouvrage semble venir d’un autre temps, celui où l’on payait les livres au kilo ! Celui-ci n’est plus tout neuf, mais il me semble que même à cette époque cette tendance s’estompait. Et plus encore chez Addison Wesley. Le livre compte 34 chapitres et je n’ai franchement pas l’envie de tous les passer en revue. Heureusement, ceux-ci sont regroupés en 6 parties, ce qui rend plus huain le survol du texte.

La première partie couvre près de 200 pages et est consacrée à l’utilisation d’Eclipse. Les 6 chapitres qui la compose noircissent beaucoup de papier pour dire en grande partie ce que l’on sait ou a déjà deviné. Il y a bien quelques informations à grapillé dans les coins, mais c’est majoritairement un gâchis de temps et d’espace.

La seconde partie est consacrée aux fondamentaux de l’extensibilité d’Eclipse. Le but ici est de comprendre les points d’extensions, les notions de base des frameworks fondamentaux (SWT, JFace) et d’être en mesure de créer un plugin. On en prends pour 130 pages et 7 chapitres, et c’est curieusement plus intéressant et plus instructif que la première partie.

Lire la suite

Waiting for the Storm…

Le Storm User Group, c’est une initiative de quelques collègues autour du « big data temps réel ». Aujourd’hui, nous parlons de Storm et quelques infrastructures qui peuvent s’y connecter. Demain, il s’agira peut-être de Spark ou d’autres…

Halte là ! Je vais peut-être un peu vite ? Et d’abord, Storm, qu’est-ce que c’est ? Voilà une question à laquelle une partie de cette première rencontre va être consacrée.

Oui, Storm, qu’est-ce que c’est ?

C’est Florian Hussonois qui va répondre à cette question. Nous pourrions résumer la chose en déclarant simplement qu’il s’agit d’un Hadoop « temps réel ». Il s’agit en quelque sorte d’un middleware permettant le traitement d’évènements en mode flux.

Un (petit) peu d’historique

Storm a été développé par Nathan Marz chez BackType en 2011. La société est rachetée ensuite par Twitter qui promeut le projet et le passe en Open-Source. La première release officielle date de 2011. En Septembre 2014, le projet devient officiellement « Apache Top Level Project » alors même qu’il n’a pas encore atteint la release 1.0 !

Ecrit principalement en Clojure et en Java, ce « processeur d’évènements » est conçu pour traiter un flux de très nombreux évènements (des tuples dans la terminologie Storm), à savoir 1 millions de tuples par seconde et par noeud (1 seul coeur processeur), avec tolérance aux fautes, gestion de la scalabilité et garantie de traitement !

image

Lire la suite

Note de lecture : Activity in Action, par Tijs Rademakers

Note : 7 ; Un bon ouvrage au standard « in action » pour accompagner une immersion dans Activity, malgré quelques frustrations.

Activity, c’est le « spin off » de JBPM par ses créateurs. Mais, ainsi qu’il est expliqué en introduction, ce n’est pas un fork mais une réécriture complète, avec les choix de conception que l’équipe aurait voulu prendre à l’époque !

Mais revenons au livre. L’auteur est un des comiters principaux du projet, ce n’est pas non plus un auteur débutant. Tout ce présente donc sous les meilleurs auspices pour commencer. La prose est conséquente : 400 pages sur 15 chapitres distribués en 4 parties inégales. Il est temps de rentrer plus en profondeur.

Les quelques 80 pages de la première partie regroupent 4 chapitres et sont une introduction à BPMN 2.0 et Activity. On commence par une présentation générale d’activity, de son architecture et l’incontournable « hello world » précédé d’une installation basique. C’est réussi. Le chapitre suivant a pour but de nous présenter BPMN 2.0. C’est fait avec pédagogie et bien illustré, mais aussi assez superficiel et on sort de là un peu frustré. La présentation de l’outillage Activity est un peu touffue, probablement parce que cet environnement l’est aussi un peu : il manque d’homogénéité et est un peu de pièces rapportées. Espérons que cela s’améliore à l’avenir.

Lire la suite

Note de lecture : Swing (Les cahiers du programmeur), par Emmanuel Puybaret

Note : 4 ; Pédagogique mais trop pesant.

Cette série Eyrolles est sensée être dédiée à des ouvrages permettant de monter en compétence sur des sujets. Dans les faits, on en prend pour 500 pages. Peut-être l’auteur a-t-il été trop gourmand en essayant d’avaler de nombreux sujets ? On va voir ça !

De prime abord, le texte est découpé en 12 chapitres. Mathématiquement, cela va donner de gros chapitres, donc un découpage « à la française ». Le concept global du livre est de mener une étude de cas en mode projet, avec des itérations. Le tout à la façon extrême programming. Cela fait donc au moins 2 sujets à aborder. 3 si l’on compte le détour par SWT. Je ne compte pas toute la partie outil également aborder. Il est temps de commencer.

Le premier chapitre présente l’étude de cas : il s’agit d’un système de CAO. On évoque aussi l’approche XP (mal) qui sera utilisée et un bref exposé des cas d’utilisation (malgré que l’on soit avec XP où les user stories sont préférées). Bonne nouvelle, le tout est bouclé en 9 pages.

Lire la suite

Note de lecture : Practical Apache Struts2, par Ian Roughley

Note : 4 ; Raisonnable, mais c’est bien tout.

Ce livre cible, sans surprise, le développeur Java d désirant s’initier à Struts 2. Il ne nécessite pas vraiment de connaissances préalable du développement d’application Web en java, car on est en gros pris en main dès les tâches les plus simples. Voyons ce que le livre à a nous proposer. Tout d’abord, il est de taille moyenne, avec 326 pages découpées en 10 chapitres, un départ raisonnable, avec un découpage raisonnable.

Le premier chapitre est clairement superflu, il traite de généralités sur le Web 2.0, les principes comme « convention over configuration », l’injection de dépendances, etc. Passons vite !

Le second chapitre est destiné à nous mettre le pied à l’étrier. La moitié du chapitre est consacré … à Maven 2, tandis que le reste évoque les différents fichiers de configuration nécessaires pour commencer le projet. Mais c’est un peu confus.

Lire la suite

Note de lecture : Lucene in Action, par Otis Gospodnetic & Erik Hatcher

Note : 6 ; Fait le boulot comme attendu, contrat rempli.

Lucene est le grand classique, pratiquement l’unique moteur d’indexation et de recherche full texte en open source, du moins dans le monde Java. Il était normal qu’un volume de la sérié « in action » de chez Manning lui fut consacré. Voyons en pratique ce qu’il en ressort.

Tout d’abord le texte compte pratiquement 400 pages découpées en 10 chapitres. Cela me semble au premier abord plutôt volumineux et constitue des chapitres qui seront en moyenne plus long que ce que j’apprécie en général. Au moins, on va pouvoir les passer en revue.

Le premier chapitre comme il est coutumier dans cette série présente la problématique de la recherche plein texte, la réponse de Lucene et ses alternatives. Le tout est bouclé en 27 pages et c’est une entrée en matières plutôt sympathique.

Lire la suite

Note de lecture : Swing, la synthèse par Valérie Berthié & Jean-Baptiste Briaud

Note : 6 ; Une approche simple et claire pour débuter avec Swing.

Ecrire la note de lecture d’un ouvrage 11 ans après sa parution est un exercice difficile, peut-être même un peu malhonnête. Je vais toutefois tenter l’exercice.

Ce livre est publié dans une collection qui n’a jamais fourni des morceaux d’anthologie de la littérature informatique française. Tant pis. Ici nous avons 325 pages sur 7 chapitres et 2 annexes, avec 280 consacrées au corps du livre, donc des chapitres assez importants.

Le premier chapitre est consacré aux principes fondamentaux de Swing et pèse tout de même 76 pages ! C’est en fait une bonne surprise : après avoir expliqué la facette historique menant de AWT à Swing, on aborde les différents composants de manière très pédagogique, avec des morceaux de code simples et même des diagrammes UML !

Lire la suite