Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express

Quelques livres pour apprendre Scala

13 octobre, 2011

Depuis début juin 2011, je développe un site internet en Scala, pour le compte d’une jeune entreprise. Lorsque j’en parle avec des amis, ils me demandent souvent : mais comment fais-tu pour apprendre Scala ? Et bien comme Java, il y a fort longtemps : avec des livres. A l’heure d’Internet, finalement un bon livre me permet de progresser et d’apprendre. J’ai ensuite travaillé en août avec un expert Scala, qui m’a donné beaucoup de conseils et une bonne formation. Mais revenons à cette histoire de livres. Voici mon retour sur 3 livres que j’ai acheté pour apprendre Scala.

Programming Scala de Dean Wampler et Alex Payne est publié chez O’Reilly. Livre datant de fin 2009, il couvre en 449 pages les bases du langage. Pour cela, le style impératif vous emmène petit à petit vers Scala. Il ressemble à un livre de cuisine. C’est aussi le reproche que je lui fais avec le recul : finalement, les bases ne sont pas toujours expliquées, et je l’ai trouvé trop compliqué pour débuter.

Par rapport aux 2 autres livres présentés ci-dessous, ce livre traite cependant des outils et des librairies. Les développeurs qui écrivent des librairies ou des frameworks seront comblés par exemple par un chapitre sur le système de type et particulièrement les types paramétrés (l’équivalent des Generics en Java).

« Beginning Scala » est un livre étonnant. David Pollak est le fondateur du framework web Lift. Dick Wall et David Pollack ont été interviewé par InfoQ la semaine passée, et David est assez radical sur les raisons pour lesquelles Scala pennera à s’installer durablement. Si vous êtes à cours d’arguments pour dire du mal de Scala, vous pouvez vous ressourcer en lisant en détail son interview. David est un fan de Scala, avec cependant un œil réaliste sur la situation pour l’instant.

Beginning Scala
est un livre de mai 2009. Je le préfère au premier, car il a été écrit par un bon gros développeur Java, chose que je suis aussi depuis février 1996. L’approche est moins théorique, moins « universitaire » et plus pragmatique. Le livre vous donne vraiment de quoi vous lancer. Mais avec un peu de recul, je trouve parfois que les explications sont incorrectes ou un peu bancale. J’ai vraiment avancé grâce à ce livre. Le style ne se veut pas ampoulé ou pédant, mais simple. L’auteur veut vous faire partager sa passion pour Scala, sans essayer de placer des termes abscons. A découvrir, d’autant plus que le livre est assez rapide à lire.

Le troisième ouvrage est « Programming in Scala » 2ème édition, par Martin Odersky, Bill Venners et Alex Spoon. Excellent ouvrage réactualisé fin 2010 pour Scala 2.8, c’est un très gros livre de 855 pages, édité chez Artima. Odersky est l’inventeur de Scala. Professeur en Suisse à l’Ecole Polytechnique de Lausanne, c’est aussi le dirigeant de la société TypeSafe Inc.

Ce livre est le plus complet sur Scala. Il vous donnera réellement les connaissances nécessaires pour comprendre et apprendre correctement le langage. Ce que j’apprécie, c’est son accessibilité. Il suffit de travailler un chapitre chaque jour pour avoir vraiment l’impression d’avancer. Comptez 1 à 2 mois de travail, ce qui n’est rien dans la vie d’un développeur.

Cette édition couvre aussi les nouveautés de Scala 2.8, en attendant la version 2.9. L’API Collection, les implicits, la manipulation des listes, le Combinator Parsing utilisé dans Anorm par Play! Scala, les acteurs et la gestion de la concurrence : tout est traité en détail. Il se dit que le moteur des Actors actuels de Scala sera complété par le modèle Akka. Allez lire l’interview de M.Odersky que Romain Maton, indépendant depuis peu, a réalisé sur son blog.

En conclusion donc, victoire par KO de l’ouvrage de M.Odersky, puis ensuite le livre de David Pollak et enfin le livre d’O’Reilly. Attention à ne pas acheter un livre trop ancien, car le langage évolue rapidement. C’était le cas il y a quelques années avec Java. J’ai acheté plusieurs éditions de « Java in a Nutshell » pour moi et pour les développeurs que j’encadrais. Je conseille vivement d’acheter le livre d’Odersky.

Je vous laisse, j’y retourne. Je vous raconterai une prochaine fois tout le bien et tout le mal que je pense de Scala. Mais ça sera pour un prochain article.

Articles similaires:

Default ThumbnailScala, pour nous les développeurs de base Default ThumbnailQuelques chiffres sur un projet Play2/Scala, 15 mois après Default ThumbnailLes 10 livres les plus achetés à JavaOne, la bonne liste Default ThumbnailQuelques conférences pour cet automne
  • Alexis 13 octobre 2011 at 9 h 45 min

    Je confirme ton impression pour le O’Reilly : j’ai commencé par ce livre et j’ai laissé tomber au bout de 100 pages : trop chiant pour débuter, il ne donne pas envie de faire du scala. Je referai une tentative avec un autre livre…

  • Kim 13 octobre 2011 at 11 h 11 min

    +1 pour le bouquin O’Reilly, dur pour débuter

    Sinon pour ceux qui veulent débuter vraiment doucement et rapidement sans trop approfondir et sans lire un gros bouquin tout de suite:

    Scala school de twitter: http://twitter.github.com/scala_school/

    et « Scala for the impatient » de typesafe: http://typesafe.com/resources/scala-for-the-impatient

  • Alexandre Bertails 13 octobre 2011 at 14 h 39 min

    +1 « Programming in Scala » est à mon avis le plus intéressant pour les débutants en programmation fonctionnelle.

  • Marc-Antoine Santiago 13 octobre 2011 at 16 h 16 min

    +1 « Programming in Scala », j’ai adoré ce bouquin. Il est très bien construit et très didactique : la progression est à la fois rapide sans noyer le lecteur et mes exemples sont très bien choisis … Un must read pour qui veut se lancer dans le développement Scala !

  • AlAg 13 octobre 2011 at 17 h 27 min

    Je suis bien d’accord avec ton analyse et arrive au meme constat. J’ai cependant lu dans le sens inverse ces 3 livres et je rajouterais que le livre de David Pollak est un peu lourd a partir de la moitié car il tourne au listing sans fin avec des explications, ce qui est un peu fatiguant et je ne suis pas convaincu que cela aide.

  • Lorber Sebastien 14 octobre 2011 at 15 h 20 min

    Un petit ebook gratuit:

    A Scala Tutorial for Java programmers
    http://www.scala-lang.org/docu/files/ScalaTutorial.pdf

  • Emmanuel Hugonnet 17 octobre 2011 at 12 h 20 min

    Le livre en cours de rédaction par Bruce Eckel « Scala, as a first programming language » semble très intéressant comme introduction à Scala. Pour tous ceux qui n’ont pas pu venir à l’AlpesJUG, voici les slides :
    http://tinyurl.com/scalafirst
    Ca ne pique ni les yeux ni la tête et donc on entre en Scala assez facilement sans avoir à se prendre tout d’un coup.

  • Jean-Philippe HAUTIN 19 octobre 2011 at 23 h 13 min

    et pour ce qui ne sont pas encore sur de vouloir acheter un livre d’un langage qu’il ne connaisse que de nom… la première édition est disponible gratuitement sur le site .

    On sera en lisant cette edition si on adhère à scala 🙂 ou pas 🙁

Derniers articles

  • Vis ma vie de Staff/Principal Engineer

    Suite de l’article précédent sur le Staff Engineer. Aujourd’hui, voyons un peu

    20 juillet, 2022
  • Inari

    Devenir Staff Engineer : comment et pourquoi ?

    Après une dizaine d’années en tant que développeur, vous serez un jour

    17 juillet, 2022
  • WeAreDevelopers 2022, conférence à Berlin – jour 1

    Il est 8h40, 19 degrés, vous êtes à Berlin. La queue dehors

    24 juin, 2022

Tweets @nmartignole

  • RT  @katecrawford : Umm, anyone a little concerned that Bard is saying its training dataset includes... Gmail? I'm assuming that's flat out…

    2 days ago
  • Je découvre qu’ils apprennent le SQL en Terminal, très intéressant https://t.co/MrfcHve9wo

    3 days ago
  • RT  @AmelieBenoit33 : Je m’essaye à de nouveaux formats ! Un premier sketch qui me trottait en tête depuis le sketchnote précédent; la techn…

    3 days ago

Mots clés

Apple (32) Architecture (13) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (14) Perso (266) Recrutement (3) Scala (30) scrum (43) Société (3) Startup (20) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur Twitter : @nmartignole

Copyright© 2008 - 2020 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Log In
  • My Account
  • My Profile
  • Reset Password

Le Touilleur Express