Si vous sortez au Paris JUG ou si vous avez l’occasion de venir à une conférence vous verrez le plaisir que l’on peut avoir à écouter « une rock-star » de la programmation. J’espère que vous aurez la chance d’écouter des speakers prestigieux. J’assume complètement le côté midinette ou groupie, donc ne vient pas pourrir la ligne de commentaire avec du troll à 2 euros. Non, plus sérieusement, il y a un côté magique et fascinant, lorsque vous voyez devant vous le gars qui a écrit le logiciel ou la librairie, que vous utilisez 8 heures par jour. Je vous parle de logiciels open-source bien entendu. Je doute qu’un serveur d’application Java d’un grand éditeur vous fasse transpirer, mais certains d’entres nous sont curieux.
Chaque rencontre est unique. Ce type de personnage est souvent charismatique, intelligent et fascinant. Enfin moi je le constate depuis que je traine mes jeans dans les conférences. Forcément si tu n’es jamais sorti de chez toi, que tu es encore « vierge de conférence » ce qui va suivre ne va pas t’intéresser, voire te faire sourire gentiment. Encore une fois : j’assume.
Vous utilisez Maven ? Ant ? Junit ? Mais qui se cache derrière ces librairies ? J’ai donc sélectionné 10 personnalités du monde anglophone, qui m’ont marqué et qui sont sur la liste des gens « à rencontrer une fois dans votre vie ».
Joshua J.Bloch
Joshua Bloch est développeur et auteur de livres sur Java, employé par Google depuis 2004. Il a développé une partie de l’API Collections de Java, dirigé la conception de la partie java.math et du principe d’assert. En 2001 il a publié un livre indispensable à tout développeur Java : « Effective Java« . C’est aussi le co-auteur de « Java Puzzlers » qu’il a écrit avec Neal Gafter, employé aujourd’hui par Microsoft. C’est aussi l’auteur de « Java Concurreny in Practice » co-écrit avec Brian Goetz et Doug Lea entre autre. Ces livres doivent faire partie de votre bibliothèque de développeur. Excellent speaker habitué de Devoxx, il est responsable depuis fin 2011 du développement du langage Dart, une alternative à JavaScript, pour les navigateurs internets. Son compte Twitter : @joshbloch
A Devoxx 2010 et Devoxx 2011, ses présentations étaient passionnantes, avec une approche sur des sujets autour de Java qui vous ouvre les yeux. A voir au moins une fois dans sa vie de « Java-iste ».
Jason van Zyl
Jason van Zyl est le créateur du projet Apache Maven et d’autres projets comme Apache Velocity[1] et du projet Plexus. Fondateur et directeur technique de la société Sonatype, il est aussi membre de l’Apache Software Foundation. Il est aussi connu pour ses prises de décisions parfois tranchées et son caractère bien trempé. Il aura eu au moins le mérite de créer Maven, outil devenu quasi indispensable dans le monde Java.
Pour l’avoir vu en 2009 j’avoue que je n’ai pas aimé son arrogance et sa manière de présenter. Mais ce gars là a pondu Maven, vous ne pouvez pas ignorer son existence. Aujourd’hui la communauté Maven est bien plus large, de nombreux Français sont contributeurs ou ont travaillé sur le projet (A.Héritier, N.de Loof, Emmanuel Venisse, Olivier Lamy, Vincent Massol, Fabrice Bellingard pour ceux que je connais…)
James Gosling
Créateur du langage Java en 1994, ancien ingénieur chez SUN Microsystems. James vient du monde Smalltalk. Après plusieurs années chez SUN, de 1984 à 2010, il quitte SUN pour Google. Depuis 2011, il s’est engagé dans une aventure de startup avec des robots sous-marins. Speaker assez discret et peut-être pas le plus charismatique, c’est en tout cas une personne simple, facile d’accès et passionnante.
Avec Java en 1995, il a révolutionné au bon moment le développement informatique. Java a retiré la gestion de la mémoire au développeur, et a proposé dès le départ le principe du « Write once, run everywhere ». A l’époque le développement devait s’effectuer sur la plateforme cible. En 15 ans l’industrie s’est tournée vers Internet, et Java a permis d’avancer rapidement. A ce jour, il reste toujours premier dans le classement TIOBE 2011 et 2012 des langages de programmation qui mesure la popularité d’un langage, mais pas le nombre de projets effectivement écrits avec Java.
Doug Lea
Doug Lea est connu des développeurs Javas pour son travail sur l’API Concurrent, sur les Threads et pour avoir apporté à Java une librairie puissante dans la gestion de la concurrence. Il est aujourd’hui professeur à la State University of New-York à Oswego. Doug Lea est l’auteur du livre « Concurrent Programming in Java(tm) : Design Principles and Pattern » et co-auteur du livre « Java Concurrency in Practice« . Doug Lea était l’un des rares indépendants faisant partie du Java Community Process. Il a décidé de quitter le JCP fin 2010, suite aux changements politiques provoqués par le rachat de SUN Microsystems par Oracle.
Gavin King
Si vous utilisez Hibernate, et je me doute que vous en avez au moins entendu parler, Gavin King est l’auteur original du framework Hibernate. Salarié chez JBoss RedHat, il est aujourd’hui le développeur principal du nouveau langage Ceylon avec Stéphane Epardaud et Emmanuel Bernard, 2 Français salariés de JBoss RedHat, que vous connaissez sans doute.
Gavin King est aussi l’auteur du framework Seam, qui a proposé une approche orientée conversation, destinée à faciliter l’écriture d’applications webs complexes. Il a été contributeur sur Java EE 6 autour de JPA, JSF et EJB3. C’est le Spec Lead de la spécification JSR-299 Contexts and Dependency Injection for the Java(tm) EE Edition, plus souvent appelé « CDI ».
A titre personnel je ne l’ai jamais rencontré. Basé au Mexique, il serait question qu’il vienne vivre en Europe en 2012. Vous voyez, j’assume mon côté People aussi.
Rod Johnson
Rod Johnson est le fondateur du framework Spring. C’est aujourd’hui le responsable de la société SpringSource, rachetée par VM Ware en 2009. Rod a révolutionné l’approche J2EE fin 2002 avec un livre qui reste encore à ce jour très intéressant à lire : Expert one-on-one J2EE Development. A l’époque où ce livre est sorti, je me souviens que nous étions tous convaincus que J2EE est les EJB 2.1 allaient révolutionner le monde. Ce fut le cas, en donnant à l’industrie une raison pour arrêter de suivre aveuglément SUN Microsystems. Spring a renversé l’oligarchie dans les années 2000 et a donné un coup d’arrêt aux architectures J2EE.
Aujourd’hui en 2012 je pense que Spring est devenu un framework qui se court après lui-même. Bien qu’excellent techniquement, il y a une recherche systématique à vouloir « abstraire » et « simplifier » les frameworks des copains. Prenez le projet « Spring Data » : belle brique technique, on peut s’interroger sur l’utilité de certains projets…
Spring 3.1 est sorti fin décembre 2011, et la société s’oriente rapidement vers le Cloud pour proposer toujours plus d’outils libres et open-source, avec du support professionnel. SpringSource a aussi racheté la société G2One, fondée par Guillaume Laforge (chef de projet du langage Groovy), Graeme Rocher et Alex Tkachman en 2007.
Je pense que Jürgen Höller, le développeur principal de Spring, aurait mérité d’être dans cette page. D’une grande gentillesse, c’est un peu le Wozniak de Rod Johnson. Discret, avec un esprit brillant, c’est le développeur qui a écrit et qui continue à écrire une bonne partie de Spring.
Kent Beck
Kent Beck est le créateur de la méthode de développement « Extreme Programming » dites aussi « méthode XP ». L’eXtreme Programming consiste à pousser à fond toutes les techniques de développement et d’organisation, afin de développer un logiciel d’excellente qualité. C’est aussi l’auteur du principe de programmation visant à écrire les tests avant le code, la fameuse méthode TDD pour Tests Driven Development. C’est enfin le co-auteur du framework JUnit avec Erich Gamma, utilisé pour écrire des tests unitaires dans notre industrie (car nous, on écrit des tests).
Kent Beck est l’un des 17 développeurs ayant signé le « Manifeste Agile« . En 2011 il travaillait chez Facebook. Il a écrit une dizaine de livres autour de SmallTalk, de Java et des pratiques Agiles. Vous pourrez lire régulièrement ses articles sur son blog.
Erich Gamma
Erich Gamma est l’un des 4 auteurs du fameux livre « Design Patterns: Elements of Reusable Object-oriented Software« . C’est l’un des 4 membres du GoF, dit « Gang of Four » qui comprend Richard Helm, Ralph Johnson et John Vlissides. Erich a co-écrit JUnit, il a travaillé beaucoup sur l’IDE Java Eclipse, c’était le leader du développement de la partie JDT sur Eclipse. Il travaille d’ailleurs depuis 2011 chez Microsoft dans l’équipe Visual Studio. Il a écrit avec Kent Beck le livre « Eclipse : principes, patterns et plugins« . Bref, Eclipse c’est quelque part un peu Erich.
Martin Fowler
Martin Fowler est un auteur, un conférencier et le responsable technique de la société ThoughtWorks. Il a révolutionné l’approche orientée objet, il est considéré comme l’un des meilleurs spécialistes de la conception objet. Ses nombreux articles et publications influencent l’industrie. Le principe d’inversion de contrôle, rendu populaire par Spring, ainsi que le principe d’injection de dépendances : c’est lui. Son blog est une vraie mine d’informations. C’est aussi l’un des 17 auteurs du Manifeste Agile, il est passionné par toutes les techniques de développements dites « Agile ».
J’ai assisté à une de ses présentations lors de la conférence de l’USI 2010. Impressionnant et passionnant. A faire une fois dans sa vie. Vous pouvez lire mon compte rendu écrit en 2010.
Robert C.Martin dit « Uncle Bob »
Bob Martin a popularisé le principe de « je me prends une petite claque pendant une conférence » en étant un speaker hors-pair, un évangéliste du métier de développeur, et surtout un gars passionnant à écouter. Si vous vous inquietez de votre avenir professionnel, si vous vous demandez si c’est bien « d’être chef de projet à 31 ans » vous pouvez lire « Développeur après 31 ans : ridé et chauve tu seras« , mais surtout vous devez prendre le temps d’écouter « Uncle Bob »
Bob est aussi l’un des 17 créateurs du Manifeste Agile. Passionné par le développement et l’Agilité, il est l’auteur du livre « Object Oriented Analysis and Design » mais surtout du livre « Clean Code: A Handbook of Software Craftsmanship« . Enfin c’est le fondateur du mouvement du « Craftsmanship« , qui donne un nom à une approche où le développeur n’est pas pris comme un pisseur de code décérébré.
Conclusion
Cette liste n’engage que moi, blablabla. Mais ne pas connaître Martin Fowler ou Gavin King lorsque l’on se dit « développeur Java » c’est inquiétant. Imaginons que vous êtes cuisinier. Si vous ne citez pas de tête le nom de prestigieux chefs de cuisine comme Alain Ducasse, Joël Robuchon, Anne-Sophie Pic ou Paul Bocuse, j’imagine que vous travaillez dans une cantine scolaire. Votre boulot c’est de décongeler des plats, de les servir à la bonne température, je comprends. Mais ne dîtes pas que vous « êtes développeur Java » dans ce cas.
Et les femmes alors ?
Cette liste ne contient pas de noms de femmes. J’aurai pu citer quelques femmes célèbres[1] comme Barbara Jane Liskov ou Marissa Mayer, mais je pense aussi aux épouses de ces messieurs. Faire des conférences à travers le monde ou coder toute la nuit, gérer une vie de famille, tout ceci c’est souvent un travail d’équipe.
Pour terminer, j’ai une bonne nouvelle : 2 des personnes que vous voyez ci-dessus seront présentes à la conférence Devoxx France 2012 que je co-organise avec 3 autres fous du Paris JUG.
Rendez-vous lundi 15 janvier pour vous inscrire sur reg.devoxx.com, et rendez-vous du 18 au 20 avril pour prendre une petite claque et découvrir Dart…
0 no like
Salut Nicolas. J’ai pas compris ta remarque sur Spring Data, tu peux développer un peu stp ?
pareil, je n ai pas compris, je trouve les templates mis à disposition par Spring Data chics et de bon gout !
@Seb je m’interroge sur l’approche de l’utilité de faire un projet « umbrella », donc une nouvelle abstraction par dessus MongoDB ou Neo4J par exemple.
Du monde Java ??
Bon clairement, ce sont tous des pointures. J’ai un ou plusieurs livres de chacun d’entre eux, à l’exception de Jason Van Zyl. Donc, je soumet deux réserves, que j’assume à mon tour:
– Martin Fowler: Brillant orateur, encore plus brillant auteur. Il excelle à synthétiser les idées ou à faire émerger ce qu’elles ont de brillant. S’il a popularisé l’inversion de contrôle (le principe d’Hollywood du GoF, en fait) et l’injection de dépendance, il n’est l’auteur ni de l’un ni de l’autre. Une personnalité à connaitre, j’approuve, mais « du monde Java » … hum …
– Kent Beck: Immense respect pour le créateur de XP, de SUnit (ah oui aussi de JUnit par la suite) et du TDD. Smalltalkien jusqu’au moment où il s’est apperçu qu’il devait aussi se nourir, j’imagine facilement que se savoir « personnalité du monde Java » provoquerait chez lui une violente réaction allergique …
Pour Erich Gamma, je te l’accorde. Même s’il n’est pas pour moi plus Java qu’autre chose. C’est un vrai visionnaire capable capable de discerner les choses vraiment importante là où nous ne voyons rien. Ce n’est pas un hasard si la thèse de doctorat d’Erich était en fait la version initiale du 3ème plus gros best seller informatique de tous les temps. Ce n’est pas un hasard s’il a préfacé « extreme programming explained », bien avant que les méthodes agiles soient populaires…
@Nicolas Désolé par avance pour le hors sujet par rapport au billet initial 😉
Je te demandais ça car même si Spring a bien entendu des défauts, pour le coup Spring Data me semble être une belle réussite.
Spring Data te fournit un ODM (Object Document Mapper) qui te fait le mapping entre tes POJOs et tes documents sans chercher à cacher les spécificités de chaque solution NoSQL.
Si tu veux voir ce que ça donne, jette un coup d’oeil à mon exemple d’application Spring 3.1 / Spring Data / MongoDB / BackboneJS sans XML pour te faire une idée.
En gros tu as un MongoTemplate qui est l’équivalent de ton EntityManager JPA + des annotations @Document et @Id pour tes POJOs. Le fait d’avoir une base orienté document et plus aucune jointure fait que le mapping avec des POJOs est extrêmement naturel.
Couplé à quelques annotations de validation, c’est d’une redoutable efficacité en terme de dev.
Pour en revenir aux personnalités que tu cites :
– Je me dis que vous avez réussi à convaincre Joshua Bloch de venir présenter Dart (pour rappel à Devoxx 2011 il faisait semblant de ne pas s’y intéresser du tout alors qu’il a été nommé Dart Core libraries architect quelques semaine après)
– Uncle Bob est de très loin le meilleur speaker que j’ai eut l’occasion de voir. J’espère que c’est lui le 2ème …
J’ajoute que Martin Odersky, créateur du langage Scala, aurait pu/du être aussi sur cette liste. Il est l’auteur du premier compilateur de Java 1.1, l’auteur d’une partie du système des Generics… mais bon, difficile de faire un choix 🙂 (merci à @lmukadam)
@Seb Je vais avoir l’occasion de travailler avvec MongoDB, et je regarderai sans fautes Mongo Template. Pour les speakers, réponse la semaine prochaine.
« lundi 16 janvier » 🙂
Pour répéter ce qui a été dit : Je suis tout à fait d’accord avec @Seb. J’utilise Spring Data MongoDB et c’est chaque jour un bonheur. Simple, rapide et efficace.
Merci pour l’article, j’ai quelques lectures à rattraper !
> »A l’époque où ce livre est sorti, je me souviens que nous étions tous convaincus que J2EE est les EJB 2.1 allaient révolutionner le monde »
Bizarrement aucune des stars que tu cites n’a été très impliqué dans J2EE ou les EJB1/2. Ils étaient au moins 10 à se douter que ça n’allait pas révolutionner le monde, juste remplir les poches des éditeurs et des boites de conseil.
Juergen Hoeller mérite sa place dans ce top à mon avis.
A chaque fois qu’on regarde dans un bout de code source de Spring, on tombe sur « @author Juergen Hoeller » dans l’en-tête.
On cite souvent Rod Johnson mais c’est Juergen le véritable bûcheur. Il a écrit une quantité énorme de code dans Spring. C’est lui l’homme de l’ombre héhé
Pas faux mais en même temps les initiateurs des projets se tournent au bout d’un moment vers d’autres projets, laissant derrière eux un autre lead dev.
On peut aussi citer Steve Ebersole par exemple