Quels livres me conseilleriez-vous ?

Pour apprendre ce langage

a marqué ce sujet comme résolu.

Non, ce n'est pas ce que j'entends. Profil léger = Servlet, EJB (locaux), JSP, JSF, JPA, CDI, et quelques autres que j'oublie.

Dans le profile full, tu trouves tout le reste (EJB distants, JAX, JMS, RMI, etc.).

Coyote

D'accord, je vois mieux ou tu veux en venir.

C'est l'apprentissage qui me semble plus long et plus complexe, une fois le concept acquis et bien compris ça roule comme sur des roulettes. Je trouve l'architecture JavaEE ainsi que tous ses aspects techniques moins triviales que ceux de PHP sans vouloir dénigrer ce dernier.

Je ne vous cacherai par que l'architecture web de Java est pour moi un chef d'oeuvre de l'informatique de ces 20 dernières années, les EJB distants, là c'est l'apologie, le nirvana du web :D

PS1 : je suis développeur C# mais j'aime JAVA et la Javanaise :D

PS2 : Si javabien javamine :D

+1 -3

Je ne vous cacherai par que l'architecture web de Java est pour moi un chef d'oeuvre de l'informatique de ces 20 dernières années, les EJB distants, là c'est l'apologie, le nirvana du web :D

Proktor

Purée, je suis désolé pour toi, tu dois avoir une vie bien triste.

C'est une passion. Quand je vois une architecture bien pensée, bien réalisée,modulable et maintenable facilement je trouve ça beau car c'est le fruit d'un énorme travail intellectuel réalisé par des gens passionnés de leur métier.

Si ce n'est pas ton cas je te déconseille de devenir développeur professionnel. Ceux qui ne savent pas s'émerveiller dans leur profession ce sont tout simple trompé de job.

+2 -3

Si ce n'est pas ton cas je te déconseille de devenir développeur professionnel.

Tu aurais dut me le dire il y a 5 ans, maintenant c'est un peu trop tard.

Plus sérieusement je ne doute pas de la qualité de l'architecture de JavaEE (mon but était surtout de faire un petit troll gentil sur Java à la base hein), je trouve simplement que, de mon point de vue :

  • C'est une architecture bien trop grosse et complexe pour être qualifié de chef d'oeuvre. Les architectures que j'aime sont simple, efficace et petite.
  • C'est le type d'architecture qui était l'état de l'art il y a 10 ans. Aujourd'hui on s'oriente vers des architectures et des technologies bien différente.
+3 -0

Si ce n'est pas ton cas je te déconseille de devenir développeur professionnel.

Tu aurais dut me le dire il y a 5 ans, maintenant c'est un peu trop tard.

Kje

:D

  • C'est le type d'architecture qui était l'état de l'art il y a 10 ans. Aujourd'hui on s'oriente vers des architectures et des technologies bien différente.

Kje

Attention avec cet argument. Il est à double tranchant. Une architecture qui tient encore debout après 10 ans, c'est un signe de qualité : c'est exactement ce qu'on lui demande.

Que les technos, les langages et les paradigmes changent, c'est la vie, mais une architecture doit être capable de supporter ces évolutions : son but est d'être intemporelle.

Un autre exemple encore plus frappant : les OS unixoides ont globalement tous la même architecture depuis un demi-siècle, parce que celle-ci est simple et élégante (l'architecture, hein, pas la norme POSIX pour laquelle l'épithète "simple" serait probablement un des derniers à me venir à l'esprit). Quel que soit le type de noyau (micro- ou monolithique, temps réel ou préemptif), quel que soit le userland (sun, GNU, Apple…), ça reste, au final, la même architecture, ce qui permet de s'y retrouver facilement sans avoir à étudier chaque OS en particulier.

+1 -0

Oui. Mais de toute façon je considère l'écosystème comme une réussite, dans l'ensemble. Mais j'ai du mal à l'appeler chef d'œuvre.

Kje

"Chef d'oeuvre" et "Java" dans la même phrase, effectivement, qu'on soit en train de parler de musique ou d'info, ça prête à sourire. On est bien d'accord.

+1 -0

Oui. Mais de toute façon je considère l'écosystème comme une réussite, dans l'ensemble. Mais j'ai du mal à l'appeler chef d'œuvre.

Kje

"Chef d'oeuvre" et "Java" dans la même phrase, effectivement, qu'on soit en train de parler de musique ou d'info, ça prête à sourire. On est bien d'accord.

nohar

Je ne parle pas de Java en lui même mais de l'architecture qui l'entoure, le modèle MVC2 est pour moi hautement plus meilleur que le modèle MVC de ASP.NET. Maintenant quand j'utilise le terme chef d'oeuvre j'avoue qu'il y a une exagération :)

La digression sur les avantages/inconvénients du JEE est intéressante et j'invite ceux que ça interesse à ouvrrir un topic sur le sujet.

Mais en attendant, ce serait top de répondre d'abord à la question de l'OP.

Je chercherais donc un livre […] Est-ce que l'un de vous pourrait me conseiller ça ?

Theo

Ah ok, tu parles juste de design patterns en fait…

Ouais, ça fait cet effet là pendant un moment, jusqu'au jour où tu te rends compte qu'il existe une véritable galaxie en dehors de la conception orientée objet.

@firm1: ah ok, dans ce cas la discussion ne m'intéresse plus. Je considère le passage de Python à Java comme une régression. :)

+2 -0

Ouais, ça fait cet effet là pendant un moment, jusqu'au jour où tu te rends compte qu'il existe une véritable galaxie en dehors de la conception orientée objet.

C'est bien plus générique que ça.

Quand tu découvres une techno très souvent tu y trouves des concepts intéressants. Qu'il s'agisse comme ici de design patterns (MVC2 c'est juste un Dispatcher en fait). (nb : j'englobe "Langage" dans "techno" quasiment) ou de façon plus général de "grands concepts" de programmation.

C'est normal d'être enthousiaste.

Après, y'a pas non plus besoin d'être condescendant (sans offense, je sais bien que c'est des piques amicales, mais c'est limite pour Proktor qui sans doute manque un peu de recul).

Quand j'ai découvert Ruby on Rails j'aurais dit à n'importe qui que c'est le concept le plus génial de tous les frameworks web. Bon aujourd'hui je vois ce qu'il y a de bien et de moins bien dedans. Et dans 10 ans j'aurais la même réflexion sur Scala ou Swift que je découvre en ce moment…

Donc c'est pas "l'orienté objet" qui fait ça. C'est juste une phase par laquelle tout le monde passe, et t'y es passé aussi, nohar :)

+3 -0

Quand tu découvres une techno très souvent tu y trouves des concepts intéressants. Qu'il s'agisse comme ici de design patterns (MVC2 c'est juste un Dispatcher en fait). (nb : j'englobe "Langage" dans "techno" quasiment) ou de façon plus général de "grands concepts" de programmation.

C'est normal d'être enthousiaste.

Après, y'a pas non plus besoin d'être condescendant (sans offense, je sais bien que c'est des piques amicales, mais c'est limite pour Proktor qui sans doute manque un peu de recul).

Javier

Condescendant ? ! (Je ne le prends pas mal :p) Nullement, peut-être tu (vous) l'as(avez) ressenti ainsi mais ce n'est pas du tout mon optique. Effectivement je n'ai sans doute pas le recul nécessaire, je ne travaille que depuis 1 ans. J'ai une tendance à aimer défendre ardemment mes opinions sans pour autant être fermer d'esprit.

Ah non je voulais pas du tout être condescendant, désolé si c'est l'impression que j'ai donné.

Bien sûr que je suis passé par là il y a quelques années. Je me rappelle m'être enquillé les un derrière les autres des bouquins divers et variés sur les design patterns, sur les pratiques de conception avancées en C++ (Modern C++ Design de Andrei Alexandrescu, qui ne peut se lire qu'avec une boîte d'aspégic et un paquet de Kleenex à portée), et je me sentais le roi du monde parce que j'avais pigé un truc qui me rendait vraiment enthousiaste.

Et puis un jour j'ai découvert qu'il y avait encore plus puissant derrière (notamment grâce au bouquin Structure and Interpretation of Computer Programs [SICP], qui, bien qu'en Lisp, a complètement bousculé la façon dont j'utilise Python), pour peu qu'on veuille bien prendre le risque de sortir des architectures orientées objet.

Par contre je n'ai jamais été un FOO-enthusiast (remplacer FOO par un nom de framework ou une techno quelconque), dans le sens où la conception d'une techno ne m'a fait que rarement voir la lumière. Les trucs qui m'enthousiasment et que je trouve beaux, la plupart du temps, sont indépendants du langage et relèvent de l'architecture au sens propre.

+0 -0

Moi je ne peux que te conseiller ce lien. Doc officiel d'Oracle sur Java SE 8, sous forme de tutoriel, et qui est sans aucun doute la doc la plus à jour. Tu peux apprendre la base de Java sur ce lien, puis aller chercher les tutoriels sur Java EE dans le reste du site.

Phigger

Ca reste une référence sûr et à jour oui. Après si tu piges pas un truc (c'est pas interdit), tu peux aller voir si c'est pas expliqué différemment ailleurs ^^

Bye

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte