Designing Distributed Systems

Scala Design Patterns Book Review

Introduction
There are many books about scala, some are both advanced and incomprehensible to most, some are not only simple and introductory, but there is currently only one book which managed to touch the sweet spot of a balance between presenting advanced topics and being comprehensible. This book is Scala Design Patterns by John Hunt.
Scala Design Patterns
I don't read it because of the design patterns!
I mean you can read this book in two ways. First way as a standard scala design patterns book. But the way I read it, is as a book written by an excellent writer who knows to explain himself, excellently, and as he want's to describe the design patterns in scala language, he describes scala concepts, and he manages to do it much better than every book i have seen so far!
What the book covers
So what does the book cover, or what did I learn from it? many things I found hard to grasp by other books! here is the list:
  1. Mixin composition - Will guide you on how to compose functionality
  2. Multiple inheritance and scala - Will show you how scala solves or get's around the multiple inheritance problem
  3. Linearization - The linearization process is the process by which scala get's around the multiple inheritance problem, here is a clear explanation of it!
  4. Testing traits - Best practices for testing traits the scala way
  5. Traits vs classes - When do you prefer classes to traits and vice versa how to properly combine them
  6. Implicits - Advanced usage of implicits - again clear and great explanations
  7. Algebric data types and class hierarchies - An excellent explanation of ADT
  8. Polymorphiosm and scala - The way scala views polymorophism pitfalls and how to utilize it
  9. Self types and when to use - What is a self type how to use, again excellent description with real world examples
  10. Stackable traits
  11. Typeclasses
  12. Lazy evaluation
  13. Partial functions
  14. Implicit injection
  15. Duck typing
  16. Memoization
  17. Monoids
  18. Monads
  19. Functors
  20. Lens
Do you see the book is just amazing, and he does an excellent job describing these topics not as other books!
Conclusion
Scala Design Patterns by John Hunt is my favorite book to learn scala and functional programmning in scala!

Comments

  1. Thanks for the review.
    I also enjoyed "Scala High Performance Programming" book

    ReplyDelete
    Replies
    1. This is indeed an amazing book! I liked his general view and notes on general performance as well on scala! i'll certainly add a review for it as well! thanks for reminding about that great book!

      Delete
  2. SAP FICO ONLINE TRAINING

    Thank you for the information, it is useful for us.

    ReplyDelete
  3. Enjoy the online casino games.
    Holiday Palace It is a website where you will be able to open a new dimension of gaming. The novelty does not exactly match. We provide service to all customers with sincere and voluntary service.
    We have cutting edge technology. Compensation for all the wishes of all consumers. With the image and the sound that is reliable. The world of online gambling games we have searched for a great over 500 accounts, such as live baccarat games. Dragons, tigers, roulette and so on. More than that, we also have a live broadcast direct from the real betting gambling in Poipet. Cambodia Come to the screen of all gamers. The more you understand, the more virtual. The gambler's passion is fully appreciated.
    It's great that you have the desire to participate in fun betting with us. We have a 24-hour telephone service. We have a job to solve the barriers to the user as well. Gclub

    ReplyDelete

Post a Comment