Accueil » Java

Le choix d’une technologie

5 octobre 2012 2 486 affichages 26 commentaires

Comme quoi, en mangeant un Paris-Brest au dessert (photo ci-contre de la victime), on peut avoir parfois de drôles de réflexions.

Je m’interrogais sur cette pâtisserie, pourquoi j’aimais tant ce dessert en particulier, et surtout la boulangerie où il est vendu, rue du Temple à Paris. Voyez-vous, j’ai plutôt la ligne. Donc je n’hésite pas à me faire plaisir le midi. J’aime bien plier une petite pâtisserie. Et donc, le Paris-Brest en fait partie.

J’aime ce gâteau car celui qui le fait est un bon pâtissier. Ce n’est pas le gâteau en lui-même, mais bien le pâtissier finalement que j’ai sélectionné.

Mon MacBook est décoré d’un sticker rouge « Paid to Play!« . Pour ceux qui découvrent ce blog, j’aime beaucoup le framework Web « Play! Framework« . A telle point que je me balade en France pour en parler dans différentes conférences, dernièrement à la Rochelle.

La question c’est comment j’ai découvert Play. Nous sommes en 2009 à la conférence Devoxx en Belgique, un soir de la semaine, et il est tard. Erwan Loisant et Nicolas Leroux présentent Play! Framework. J’y vais car quelques semaines avant, j’avais reçu un email de Guillaume Bort, le fondateur de ce framework. A cette époque, j’avais rangé l’email dans la pile « encore un gars qui fait son framework web et qui souhaite que j’en parle sur le blog« . Ce soir là à Devoxx, plus qu’un framework, je découvre des personnes qui vont remettre en questions mes habitudes. En une heure, ils me montrent une autre façon de faire une application web avec Java. En revenant sur Paris, je rencontre Guillaume et il me parle de Play ! Quelque part, je me dis que ce gars-là va aller loin, car il est vraiment bon.

Nous sommes en 2012, Guillaume est, entre autre, Advisors avec James Gosling (le père de Java) ou Doug Lea chez TypeSafe. Le framework Play est devenu le moteur web de référence de la solution de TypeSafe. Si vous voulez faire du Web avec Java, je ne vois pas trop d’alternatives.

Lorsque j’ai débuté une aventure de startup en mai 2012, j’ai refait le choix de prendre Play2+Scala. Je fais le pari sur la technologie, mais aussi sur les équipes de Zenexity et de Typesafe. Plus que le produit fini, c’est bien ceux qui font la technologie qui m’intéressent. Le framework est développé en partie ici à Paris. Je peux prendre le métro et aller voir l’un d’eux pour discuter d’un point. Et si j’envoie un email bien détaillé, je sais que quelqu’un pourra me répondre.

Cela se répète lorsque j’ai commencé avec Scala. Mes premiers essais il y a 2 ans dans mon coin se sont mal terminés. Je n’ai pas réussi à entrer dans Scala. C’est en 2011, en rencontrant Alexis Agahi (Paris Scala User Group), puis en travaillant un peu avec Sadek Drobi (CTO de Zenexity) que le déclic s’est fait. Je programm en Scala depuis mai 2011 jusqu’à aujourd’hui. Tranquillement, dans notre équipe, à plusieurs, sans faire de vagues.

Encore une fois, c’est en rencontrant de bons patissiers.

Est-ce que se fier aux contributeurs est une bonne chose ?  

La question est la suivante : en 2012, ne pensez-vous pas que le choix d’une technologie (langage/framework/outils) se fait en regardant la qualité de son auteur ?

Bon, qualité est un terme un peu vague. Nous pouvons dire que par qualité d’une technologie, nous regroupons ce qui est qualité technique, qualité de communication de son auteur, qualité des tutoriaux, bref de tout ce qu’un bonhomme produit pour faire une boîte sur laquelle il y aura marqué « Technologie ». La seule valeur technique n’est pas suffisante. Sans une documentation, un tutorial ou peut-être une version open-source pour découvrir votre technologie, cela va être difficile.

Par auteur, soit on parle d’un bonhomme tout seul, soit d’une société, soit d’un groupe ou d’une communauté.

Mais revenons à cette superbe métaphore entre mon pâtissier rue du Temple et le choix d’une technologie.

Ce mec est bon, donc son produit est bon.

Il peut sembler difficile de juger de la qualité technique d’une personne, mais pourtant c’est assez simple. Il suffit d’aller voir le code qu’elle écrit sur Github. Prenez le code de Play! Framework, c’est une invitation à la découverte de recettes innovantes et passionnantes. La nouvelle API JSON en Scala est à la fois simple et puissante. Elle est bien expliquée sur le blog de Pascal Viot par exemple (ici et ).

Quant à Scala, ça me fait bien rire. Pendant que vous vous posez la question de savoir s’il faut ou non s’y intéresser, 45 000 personnes suivent les courses de Martin Odersky sur Coursera.

Rappelons qui est Martin Odersky : professeur à l’Ecole Polytechnique Fédérale de Lausanne, il était responsable du compilateur javac de la version 1.1 à la version 1.4. Autant dire qu’il connait plutôt bien la JVM. Je vous renvoie vers un article plus ancien où je présente Scala. Ce bonhomme est un bon pâtissier pour moi.

Autre fait amusant, TypeSafe annonce que Rod Johnson, ex-VMWare, fondateur du framework Spring, rejoint le board de Typesafe. Certains y voient avec 2 mois d’avance la catastrophe annoncée par les Mayas. Côté Typesafe, encore une fois l’explication est dans l’humain. Les responsables de Typesafe jugent que Rod Johnson est une des personnes les plus importantes, qui a révolutionné l’industrie Java il y a 6-8 ans. Quelqu’un qui a forcément plus à apporter à Typesafe qu’à VMWare. L’un vend des machines virtuelles, l’autre une plateforme technique. Et je ne parle pas du mec siliconé qui vend des bases de données en ce moment à San Francisco lorsqu’il n’est pas sur son petit bateau.

Le choix de Scala me rappelle il y a 10 ans les débats entre les adeptes du C/C++ et les premiers Javaistes.

Vous n’avez pas connu cette époque ? Ah c’était génial. On s’en mettait plein la tête. Dommage, il n’y avait pas Twitter. Bon c’était dans les années 2000.

Prendre l’ascenseur à Reuters était un exercice intéressant, dès lors que vous vous baladiez avec un teeshirt sur lequel figurait un Duke. Réflexions, regards condescendants, discussion à deux balles sur Java et la performance, remarques à 1 euro sur le fait que le processus Java « bouffe énormément de RAM, au moins 128Mb !!!« … Que c’était mignon. Mais cela me rappelle mon attitude à l’époque : l’avis de ces personnes n’avait pas une grande valeur.

J’ai donc un mot à faire passer aux personnes qui critiquent Scala : 

A la limite, on ne souhaite pas votre avis sur Scala.

Mais vraiment.

Continuez à vous faire des pâtes au micro-onde, pendant que d’autres essayent de découvrir, d’apprendre et de se faire une idée sur le langage.

Regardez dans quel état Oracle est en train de mettre Java. Je ne crois pas trop à JavaFX ou à JavaME. Et encore, je suis soft…

C’est dommage car il y a d’excellents développeurs dans les équipes qui font le futur de Java. Il y a aussi d’excellents universitaires et des contributeurs, qui assureront un avenir au langage. Nous sommes passés à ça [...] d’avoir une méga bouse à la place de Java 8. Heureusement qu’il existe encore des Jedis pour discuter sur les listes comme Rémi Forax ou Brian Goetz. Heureusement qu’il y a des passionnés qui vous livrent un openjdk tout chaud chaque matin (kudo à @hgomez). Y’a de sacrés pâtissiers, et c’est tant mieux.

On pourrait argumenter que d’autres langages comme Groovy, Clojure, JRuby, Go, Dart, Ceylon ou Kotlin se défendent bien. Mais encore une fois, c’est le pâtissier qui compte, pas le produit fini. Peut-être que Kotlin est un langage génial. Je sais pas, aucune idée. Enfin je suis incapable de citer l’auteur ou un contributeur important de Kotlin. J’aime bien la société qui édite mon IDE favori. Mais bon… c’est un peu comme si JetBrains était convaincu que la glace au concombre allait faire fureur en 2013. Peut-être que oui, peut-être non… Est-ce que j’ai le temps de me le demander ?

Est-ce que le langage résoud un problème complexe à résoudre par ailleurs ? Est-ce qu’il apporte assez d’innovations pour que l’investissement soit rentable ? Est-ce qu’il est enfin supporté et développé par un méga pâtissier ?

Bref tout ça pour dire qu’il est intéressant de s’intéresser aux auteurs d’une technologie. J’aime beaucoup Redis, et depuis que j’ai découvert ce moteur NoSQL, je suis aussi fasciné par la qualité des articles de l’auteur principal de Redis, @antirez. Prenez le temps de lire par exemple son explication détaillée sur la persistence dans Redis. Avec un driver asynchrone non bloquant comme ReactiveMongo, pensé pour MongoDB, je serai vraiment heureux.

Play2, je continue à être convaincu que ce framework est une brique intéressante à connaître. Hier j’ai cloné une machine sur Amazon EC2. Après avoir démarré une 2ème instance, j’avais un second serveur fonctionnel sans aucuns réglages. Play2 est sans état. Derrière zaptravel.com, qu’il y ait 1000 serveurs ou un seul, cela ne change rien pour chaque clic. Oui pour chaque écran que vous voyez, vous passerez d’un serveur à l’autre. Merci d’avoir fait le choix de tuer l’état du côté serveur, et d’avoir montré comment faire « autrement » avec une nouvelle recette.

Play2 sans faire de bruit est maintenant déployé sur des « de vrais projets de la vraie vie ». C’est par exemple la technologie utilisée par KLout, qui sert plusieurs millions d’appels par jour sur la partie API. Il y a un autre réseau social qui est en train de passer vers Play2, j’ai juste hâte de pouvoir vous lacher le nom de ce site lorsque j’en aurai l’autorisation.

Bon et Scala alors ?

Scala est un bon compromis pour progresser et apprendre quelque chose de nouveau. Je n’ai pas le sentiment que ce soit plus compliqué, cela demande un peu d’efforts, mais rien d’insurmontable.  Profitez de Coursera pour apprendre la programmation fonctionnelle, cela vous rendra meilleur en Java. Lorsque les lambdas débarqueront en Java, que Scala soit bien ou pas, ne sera plus la question. Vous aurez gagné du temps en apprenant à programmer de manière fonctionnelle. Le changement de paradigme et la facilité de pouvoir faire tourner cela sur la JVM, c’est vraiment là qu’est le génie de Martin Odersky. Et d’autres amateurs de pâtisserie ne s’y trompent pas en investissant 14 millions de USD en Serie-B après avoir mis 3.5 millions de USD en Serie-A (source).

Vous entendrez des personnes « avisées » vous dire que Scala est difficile à lire. C’est faux. Pas plus finalement que lorsque vous découvrez le japonais la première fois. Nul ne peut juger de la complexité d’un autre langage dès lorsqu’il ne le connait pas. Il est aussi intéressant de mettre en perspective la complexité « accidentelle » de Java, introduite aux cours des années par la quantité hallucinante de frameworks et d’outils. Le langage Java en tant que tel est plus simple à apprendre que Scala. Le paradigme est aussi plus simple et plus familier pour les développeurs en général. Cependant, le code d’une librairie comme Guava doit être aussi compliqué qu’une librairie comme Scalaz. On parle de librairie, pas du langage en tant que tel. Côté Scala, la simplicité des case-classes, la puissance de la syntaxe et la cohérence du langage sont vraiment bluffants. On déguste chaque moment où l’on découvre une nouvelle fonctionnalité. J’ai vraiment le sentiment de progresser en tant que développeur.

Pour Scala, pour moi le déclic s’est fait en rencontrant des personnes capables de me faire passer leur passion, sans tomber dans la condescendance mais en étant capable de réellement m’expliquer quelques concepts. Le déclic s’est fait aussi en trouvant LE bon livre. J’en avais acheté 2 à Devoxx, mais finalement le seul que je trouve intéressant à avoir est « Programming in Scala » par M.Odersky/L.Spoon/B.Venners ISBN 9780981531649. Vous vous souvenez de « Java in a Nutshell » ? Et bien c’est la même Bible. Les vieux me comprendront.

Encore une fois : profitez du fait que cela tourne sur votre JVM pour vous y intéresser. Essayez et un conseil : trouvez-vous un bon pédagogue, quelqu’un capable de vous expliquer les concepts sans se la jouer avec un jargon trop compliqué. Le talent de savoir enseigner n’est pas partagé équitablement, et une partie des vieux « scalafistes » se la raconte un peu trop à mon goût. Etre humble, professionnel, cordial et surtout accessible. Se mettre à la portée de l’autre, pas lui tendre le majeur en hurlant « c’est une monade » dans un email.

Conclusion et après on termine ce gâteau

Je ne sais pas exactement pourquoi nous faisons un choix de technologie.

Une communauté se divise lorsque chacun prend des directions différentes, et que des murs d’incompréhension se lèvent. Dans notre métier de développeur, nous sommes amenés à faire des choix assez régulièrement. A priori, vu à la vitesse à laquelle les choses évoluent dans notre industrie, il faut se tenir au courant assez souvent. Faîtes un contrôle technique de vos connaissances tous les 2 ans. Il y a un monde aussi entre ce qui se passe au quotidien dans votre entreprise, et ce que vous lisez sur ce blog. En même temps, là il y a 10 minutes je faisais du Scala et du Play2. Il est possible si vous le souhaitez de trouver des projets ou des équipes avec la dernière technologie à Papa. J’ai même un scoop : un bon développeur Scala dans les mois qui viennent, à mon avis cela va intéresser du monde, surtout dans la Finance et les Startups.

Sinon le soir ou de temps en temps, il est intéressant d’essayer de « s’y remettre ». Encore une fois, les cours de FP sur Coursera sont intéressants et vous permettront d’être prêt à maîtriser les lambdas dans Java 8 (ou 9… ou 10). En rentrant nous n’avons pas forcément la motivation ou l’envie. Mais je peux vous le dire aussi par expérience : n’attendez rien de votre employeur. Il y a bien sûr de bonnes SSII, de bons éditeurs et de belles startups, qui vous permettront d’apprendre. Ce n’est pas suffisant. Personne ne viendra apprendre à votre place.

Alors vous serez obligé de choisir une technologie ou un langage. Car nous ne pouvons pas tout apprendre. Soyez rapide et gérez votre temps comme si vous deviez prendre une décision en moins de 20 jours. En 2010, voyant que je n’avais ni le niveau, ni la personne pour m’aider à faire du Scala, j’avais laissé tombé. On se met aussi face à soit-même, à son niveau d’incompétence, et ça fait du bien. Si vous avez un égo assez important, mon pauvre ça va pas être marrant. Car votre technologie disparaîtra un jour. Votre superbe framework aussi. Je le pense aussi en parlant de Play et de Scala. Il y aura « autre chose » encore plus génial, et je vous en parlerai en 2014. On se donne rendez-vous d’ici 2 ans et nous ferons un nouveau point.

Sur ce, je vais terminer ce Paris-Brest…gâteau inventé en 1910 en hommage à une course cycliste, d’où sa forme ronde.

26 commentaires »

  • Michiel a dit:

    Je suis assez d’accord avec ces arguments. On peut aussi rajouter la levée de fonds de Typesafe (14 millions pour la promotion de Scala).

    Twitter qui a toujous été un grand défenseur de Scala aussi et dès ses début avait fait le pari de l’employer! Et pour Klout, c’est bien 1 milliards de requetes qu’ils servent par jour avec l’API. Et ils parlaient également d’une charge serveur réduite de 30% à 50% après être passé sur Play! Scala.

    Je pense que Scala et Play ont un bel avenir devant eux!

  • Alexandre de Pellegrin a dit:

    Tiens, c’est marrant d’avoir à taper « python2″ dans le captcha pour commenter un billet qui met en avant scala… Bref, j’ai rencontré Guillaume avant qu’il ne se lance dans Zenexity. Je l’avais trouvé vraiment balaise. La dernière fois que je l’ai vu, c’était au tout début de Zenexity. Un collègue a lui m’avait montré une préversion d’un truc appelé Play!. Je m’étais simplement dit que Guillaume était encore entrain de réinventer la roue. Sauf que ce billet me fait dire que je suis peut-être passé à côté de quelque chose. Je me souviens aussi d’une réunion de l’OSSGTP (oui, oui, on a fait des réunions) de présentation de Scala où on était ressorti en disant des « c’est bien mais chez les autres ». Là aussi, je me demande si je ne suis pas à côté de la bonne route. Ma décision est donc prise de me coltiner ses deux technos et les paradigmes qui vont avec. En tout cas, merci pour ce billet. J’espère qui réussira à me motiver jusqu’au bout.

  • Loic a dit:

    « Il y a un autre réseau social qui est entrain de passer vers Play2, j’ai juste hâte de pouvoir vous lacher le nom de ce site lorsque j’en aurai l’autorisation. » Alors là ça émoustille ma curiosité j’ai hâte de savoir qui c’est! En plus c’est une question qu’on me pose souvent quand je pousse play2 au boulot… et quand je dis Klout et MasterBranch il n’y a pas grand monde qui connait… (bon il y a aussi la police/gendarmerie en France et national geographics en Allemagne)…

    Pour Scala ça fait du bien de lire ce genre de propos, surtout quand on suit le cours Coursera et qu’on réalise à quelle point on peut faire des choses plus simple/lisibles en Scala… je préfère lire quelques appels de fonctions bien expressifs à un plat de boucles imbriquées avec des variables mutables de partout… Il y a plein de belles API en Scala très faciles à utiliser… (gatling, play2…)

    Play a reçu des critiques pour être passé du côté obscur de Scala, j’espère qu’au final ce sera l’effet inverse et que beaucoup de programmeurs attirés par Play se convertiront à Scala…

  • Thierry a dit:

    Tu aurais un livre à conseiller sur Play ? éventuellement en français. En anglais sinon.

  • Moquillon a dit:

    Je me suis amusé avec Scala dans ses premiers temps et j’ai bien apprécié ce langage. Il m’a permis de réaliser des choses impossibles ou difficiles à faire en Java (polymorphisme récursif, covariance, typage de second ordre contraint, …) pour exprimer des concepts pourtant simples.

    Le temps passant, le langage a évolué et mon opinion sur lui a aussi évolué. Il me donne le sentiment de devenir le C++ de la plate-forme Java : un langage à la complexité sur-dimensionnée par rapport à la flexibilité et à la puissance apportée. Sentiment accentué aussi par ma petite expérience avec le langage Haskell qui reste, à mes yeux, bien plus simple et aussi (voir plus ?) puissant que Scala. Après des petits essaies avec Clojure, cette appréciation s’est encore plus raffermie. Toutefois, ça ne m’empêche pas de prendre du plaisir à écrire du code en Scala (comme à l’époque où je codais en C++) mais je ne suis pas sûr que je pousserai celui-ci dans un contexte professionnel.

    A côté de ceci, il y a le langage Ceylon qui semble apporter flexibilité et puissance sans renier à la simplicité.

    Je finirai par cette petite phrase d’un consultant sénior à mes débuts : « il est bien plus compliqué de concevoir des choses simples et il est bien plus simple de faire des choses compliquées »

  • Gabriel a dit:

    Je me souviens de la présentation de Play 1 (ça devait être la 1.1?) un soir dans le 9e. Présentation de 3h pour une trentaine de geeks, qui posaient question sur question. Quand la présentation a été finie, les gars ont sorti les packs de bière. Cette attitude était assez tranchante à l’époque. Pas de comm’, juste du code. Un de mes meilleurs souvenir de présentation.
    De même les présentations play au Psug sont toujours excellentes parce que les gens interpellent Guillaume directement, le dialogue s’instaure. Pas sur le mode troll (oui je sais ça fait bizarre mais au psug ça ne troll pas) mais sur des détails de fonctionnalités, sur du code.

  • Loïc Guillois a dit:

    Un beau résumé et retour d’expérience ! Pour ma part je l’ai connu en 2008 et j’ai pu le voir passer du statut de framework inconnu à celui d’immanquable aujourd’hui. En 2008 Play! c’était le mal : il est où ton web.xml ? Comment tu déploies dans Tomcat ? blablabla. Aujourd’hui les développeurs comprennent l’importance des features de Play! : stateless et RESTful architecture qui amène à une meilleur façon de développer.

    @Gabriel : je me rappel de cette soirée, c’était très sympa : dans les locaux de Zenexity !

  • Olivier a dit:

    « A la limite, on ne souhaite pas votre avis sur Scala. »

    Autant fermer les commentaires alors :)

    Pour ma part j’aime beaucoup le langage, même si je trouve que comparé à Java, il est plus difficile de maintenir une bonne lisiblité du code. Mais c’est probablement une question d’experience..

  • JavaGeekFr a dit:

    « J’ai même un scoop : un bon développeur Scala dans les mois qui viennent, à mon avis cela va intéresser du monde, surtout dans la Finance et les Startups. »
    Mouais dans les startups peut être mais dans la finance c’est moins sur.
    Dans la finance pur, c’est soit C ou C++ , soit java core, donc Scala si ça dure encore 10 ans, peut être :-). N’oublions pas que les grosses boites aiment bien les vieilles choses (arf encore windaube xp…)
    Ils apprécient particulièrement aussi le ‘quick and dirty’ :-)

    Perso:
    Je suis pas trop fan du templating web de play … les balises peuvent dérouter au début.
    Pour avoir vu tourner et utiliser des applis Play, faut relativiser. Les perfs sont pas mal mais c’est pas transcendant non plus.
    Par exemple, pour faire des services REST, coté perfs, je trouve Restlet meilleur. Bon après c’est pas prévu pour non plus lol.

    Enfin, je pense qu’il faut quand même s’y mettre, même un peu, pour suivre le mouvement actuelle des nouveaux languages : Groovy, Ceylon, etc.

    On sent que t’es fan de Scala et Play, pour être fair play :P, faudrait citer (à mon avis) leurs concurrents directs : Groovy (oui celui-ci y est) mais surtout Grails qui coté plugins est plus fournis.

  • Loïc a dit:

    Bonjour,

    « Je ne crois pas trop à JavaFX ou à JavaME »
    Quelle alternative aujourd’hui à JavaFX ?
    Play, c’est bien pour du web, mais après… HTML5, c’est bien aussi, mais pas encore assez supporté par les navigateurs, donc du coup, pas forcément une alternative pour faire de vrai appli riche.

  • Eric Samson a dit:

    J’ai lu là: http://en.wikipedia.org/wiki/Groovy_(programming_language)
    que James Strachan aurait dit: « si j’avais connu Scala, je n’aurais pas démarré Groovy ».

  • Eric Samson a dit:

    Je connais Groovy, mais pas Scala.
    Ce qui a tué Smalltalk par exemple, c’est sa syntaxe déroutante, notamment pour ceux qui viennent du C et du C++. Et pourtant le père de Smalltalk était un grand bonhomme.
    Ce qui a fait le succès de Java, c’est justement sa syntaxe proche du C, bien qu’il soit moins puissant que Smalltalk.
    Groovy amène les fonctionnalités de Smalltalk dans Java.

    Comment positionnez vous Scala par rapport à F# (je parle en terme de fonctonnalités pas du débat .NET / Java).

    Est-ce que Scala intègre naturellement la programmation parallèle et asynchrone ?

    Cdt, Eric.

  • Eric Samson a dit:

    J’ai trouvé ici un comparatif Haskell par rapport à d’autres langages dont Scala:
    http://www.haskell.org/haskellwiki/Blog_articles/Comparisons
    (avec une perspective Haskell donc)

    Ici un comparatif F#, Scala, Haskell (lors d’un interview):
    http://www.infoq.com/interviews/F-Sharp-Don-Syme#
    (perspective F# donc)

    Comparaison Scala / Haskell (… qui finalement tourne en faveur de Clojure):
    http://stackoverflow.com/questions/2820801/yet-another-haskell-vs-scala-question

    Pas facile de faire un choix.

  • Mickaël Gauvin a dit:

    @Eric Samson
    Oui Scala intègre la programmation parallèle notamment au travers des collections. http://docs.scala-lang.org/overviews/parallel-collections/overview.html

    Pour ce qui est de l’asynchronisme tu peux regarder du côté du framework Akka.

  • Nouhoum a dit:

    Très bon article! Cela résume bien l’attitude à tenir face à une nouvelle technologie et pas seulement Scala. L’avis des autres comptent mais rien ne vaut sa propre expérience.

  • Thomas Tourlourat a dit:

    Hé bien!
    L’article donne vraiment envie de voir autre chose! Je suis développeur PHP/Symfony2 & AS3.
    Je cherche à ouvrir mes horizons et du coups je me tourne vers la facilité de NodeJS. Scala m’a toujours donné envie sans jamais avoir oser passer le cap. Du coups, le livre vient d’être commande!

    Armetiz.

  • oaz a dit:

    Pfiou… Toutes ces années à prendre l’ascenseur chez Reuters à l’époque et je n’ai jamais entendu de conversation java/C++
    J’ai l’impression d’avoir loupé quelque chose !

  • Nico a dit:

    Et si la raison pour laquelle ton pâtissier était devenu bon c’est parce qu’il cherche à reproduire avec ses ingrédients le meilleur gâteau qu’il ait jamais goûté dans une autre boulangerie? Les fondateurs de play! sont honnêtes en disant qu’ils s’inspirent beaucoup de ruby on rails (comme tous les frameworks php5 d’aujourd’hui). Pourquoi ne pas lui prendre un peu de temps pour apprendre le ruby on rails?

  • Clément D a dit:

    Nico: play 1.x peut-être. Si tu veux voir l’inspiration de play2, regarde du côté de Haskell.

  • loic23 a dit:

    c’est linkedin le reseau social en question :-)
    on parie ?

  • Dominique De Vito a dit:

    JavaFX : on y verra plus clair avec le nouveau JDK qui inclura (AFAIK) JavaFX.

    Je ne serais pas aussi pessimiste à propos de JavaFX. Par le passé, avec les applets, SUN a voulu développer un concurrence frontale à HTML, et plus largement les standards du web, et cela ne lui a pas réussi: http://www.jroller.com/dmdevito/entry/html_the_juggernaut_of_our

    Avec JavaFX, et particulièrement avec les WebView, Java est en position de mixer les forces de Java et de HTML. C’est quelque chose d’intéressant et de prometteur. A suivre… pour savoir si ces « annonces » de promesse se traduiront bien par une implémentation réellement intéressante.

  • Nicolas Martignole (author) a dit:

    @dominique pour la petite histoire, j’ai été le premier à coder une Applet Java sur le site web Français de SUN Microsystems en 97 :-)

  • Nicolas a dit:


    Vous entendrez des personnes « avisées » vous dire que Scala est difficile à lire. C’est faux. Pas plus finalement que lorsque vous découvrez le japonais la première fois.

    Le japonais est difficile, complexe et riche, en tout cas il peut l’être très rapidement quand on l’étudie d’une manière non superficielle. Le parallèle avec Scala est judicieux car on pourrait dire la meme chose sur ce langage. Dire que Scala n’est pas difficile à lire est une assertion simpliste qui équivaut à dire que connaitre la seule construction « sujet verbe complement » suffit. Scala peut avoir toute la finesse d’une grande patisserie avec des mélanges et des parfums subtiles. Mais c’est comme une dégustation de vin. Beaucoup ne sentiront que l’arôme banane ou préférons une bonne bière.

    @JavaGeekFr : Groovy n’est pas un nouveau langage, Groovy a plus de 8 ans derrière lui

  • Duy Hai DOAN a dit:

    Bon article qui donne envie aux hésitants de s’y mettre. Pour ma part c’est déjà fait. Par un hasard des choses je suis amené à me mettre à Gatling pour les tests de charge, donc à m’y mettre à Scala.

    C’est un peu déroutant au début, surtout l’inférence de type. D’ailleurs un des soucis (ou une force ça dépend comment on voit les choses) c’est que le langage est trop permissif et permet d’écrire du code de manière trop concise et ne facilite pas la relecture.

    On verra comment ça va se goupiller d’ici 2 – 3 ans. Mais l’arrivé de d’un monsieur comme Rod Johnson marque peut-être un tournant

  • Sam a dit:

    Super article qui réconforte! Les cours Scala qui se déroule sur Coursera sont un poil trop pour les matheux (élitiste) à mon goût mais ouvre les yeux sur un nouvelle façon de développer (dur dur les premières heures)!

    Play2 offre la possibilité de mixer et c’est là que sa devient intéressant! Utiliser du scala pour l’intelligence du domaine, les algos, les trucs qui mange du CPU et utiliser du Java là ou il faut être clair et structuré au final on a un soft équilibré et valorisé.

    A propos de bon papatissier, j’ai suivis les conseils d’un membre de l’équipe Qi4j (@eskat0s) , on bosse actuellement sur notre bébé avec
    un superbe stack : qi4j play2 mongodb

    Le choix de cette architecture technique comme fondation pour une plateforme collaborative était très motivant et voir que typesafe et autres sont derrières sa rassure beaucoup pour débuter un produit pour demain!

    Bref cet article me rassure sur mes choix! MERCI

  • Dominique De Vito a dit:

    Erratum sur JavaFX : j’avais écrit: « JavaFX : on y verra plus clair avec le nouveau JDK qui inclura (AFAIK) JavaFX. »

    En fait, à partir de Java SE 7u6, JavaFX est intégré au bundle du JDK. Et par ailleurs, « JavaFX should be fully open-sourced by the end of the year »

    A ce propos, si l’on regarde les dernières annonces de JavaOne 2012, Oracle semble proposer 2 alternatives au modèle Flex:

    * Avatar, basé sur les standards du web (Flex=MXML+ActionScript, Avatar=son propre langage basé sur XML+JavaScript)

    * JavaFX, basé sur Java : cf http://www.jroller.com/dmdevito/entry/javafx_may_be_the_next

    Et dans tous les cas (Flex, Avatar, JavaFX), on peut avoir Java EE coté serveur.