Ipersonally think they're awful because their explanations are way too long and very off topic most of the time. They're big books with not so much content. They feel like books for kids (or childish adults).
Note that there are many Head First books and many Head First authors. The most famous ones are "Head First Design Patterns" and "Head First Java". And they also have books which aren't related to programming (about physics and statistics). So you cannot really say anything about the whole "Head First" series. The only "Head First" books I'v tried reading are "Head First Design Patterns", "Head First iPhone Development" and "Head First Servlets & JSPs". I didn't like them (found their explanations, metaphors and jokes annoying) but I know about people who did like them.
A C++ programmer wants to dive into web development, using PHP. I would recommend one of the mid-level books also by O'Reilly, like "Learning PHP, MySQL and Javascript". Those are still very careful (borderlining on the pedantic) in explaining how the language works, and full of examples: still, if you have the right attitude towards learning new technologies, one of them would suffice to let you build solutions for almost anything within the standard scope of that technology. Also, they can be used as a reference.
A web designer wants to learn some Javascrtipt to liven up his pages. He is a nice specimen, so he prefers having an idea, albeit vague, of what he's writing rather than copypasting around. Nevertheless, he does not want to master that technology and he never read a programming manual - so there would be a steep learning curve for language and conventions themselves with a nice course/reference book, and it's not worth it. In that case, Head First manuals are definitely the best option.
They are great, you can definitely start a new topic with those books without any pre-knowledge on those topics, But, If you are already familier about those topics, then sometimes, you will feel a slow learning. Simple, for beginners, those are great!
I'm not terribly fond of them personally: I prefer denser texts that allow me to absorb information very quickly. However, I've been coding since age 6 and am accustomed to picking up new skills/languages on the fly. The exercises are a waste on me (if I'm learning foo, it's because I need to use foo for something -- that is my exercise).
Many newbies I know swear by the Head First series, for exactly the reasons I dislike it: the language isn't very dense, so (to the newbie) it feels more approachable, and there are plenty of exercises to practice with.
So, it comes down to your learning style: do you like to wander around a subject to get your bearings, try some exercises, and take it slow, or do you want a dense manual from which to launch into some project-at-hand? Head First books are good for the former, not for the latter.
Yes -- buy one, they are excellent. I read the Head First Design Patterns book, and I found it to be helpful with examples I could understand. I also didn't get bored because of the fun style. I recommended Head First Javascript to a friend, and she has also found it to be a great book.
The first half of the book is definitely great, hands down. They explained the concepts in a straight-forward fashion through pictures and stories. As a developer who built a J2EE web app in the wrong way as a way of diving in, I found the book really helpful in patching up some of the holes in my knowledge of J2EE. Most of the questions I find myself asking when I was still starting out was answered by the first half of the book.
However, I find the remaining half of the book to be written as if it was intended for advanced developers already. The book makes you dive into several advanced topics and concepts without really explaining how everything happened in words that beginners can understand. The book tosses you several topics at once, so it's giving me a hard time to understand everything. I even find the diagrams, and pictures to be confusing as well.
I'm still on the process of reading the book right now, but I'm now under the impression that the book was rushed, because the book failed to explain the topics clearly that I can't piece everything in my head together now. This dilemma led me to ask this question.
The Head-First series books are my favourite. They make learning both easy and interesting with humour and great conversation style. Every book begins with an illustration of how our brains work and how to get maximum out of our brain's capacity. I try to adopt them. They made learning design patterns very easy for me.
I have read both Head First Java and Head First Design Patterns. The style used is indeed unique, and is something of a love/hate for most people. What everyone should, in my opinion realize, is that these kind of books make things very clear and simple, but at a cost. The cost is the overhead that this way of explaining things imposes. Things are explained over and over again, with multiple examples and metaphores. It is a significant overhead, that does not let you dive immediately into the core of the problem.
I thought that this style suited the Head First Java book very well. I liked everything about that book, and it was extremely helpful for me, in grasping the concepts and developing an intuition about them.On the other hand, I did not like Head First Design Patterns at all. My impression was that it becomes way to verbose, and at times, totally misses the point. There was too much meta-information, but not a lot of real useful information.
LinkedIn and 3rd parties use essential and non-essential cookies to provide, secure, analyze and improve our Services, and to show you relevant ads (including professional and job ads) on and off LinkedIn. Learn more in our Cookie Policy.
Recent past, I finished reading the book named "Dive Into Design Pattern" by Alexander Shvets and long ago "Head First Design Pattern" by Eric Freeman and Elisabeth Robson. So I would love to share the review and takeaways from these books with all of you. So let's start...
After publishing the book it becomes very popular for its simplicity and fun way of presentation. It demonstrates and simplifies complex topic like design pattern by its strong visuals and narrative styles. Also unlike other books its only discuss the most used 13-15 design patterns. Its very beginner friendly book for learning design patterns. Just love it.
"Dive Into Design Pattern" by Alexander Shvets is also about the design patterns first published in 2018. It is can be say as a hard copy version of refactoring.guru website. It is a intermediate level book.
After publishing the book it also becomes very popular because of the content and its target audience. This book also use visuals, drawings and diagram which is so intention reveling. It is a complete package of GOF design pattern explanation.
Alexander Shvets is the author of "Dive Into Design Pattern" and the owner, maintainer of refactoring.guru website. He is also the author of "Dive into Refactoring" book. Besides this, he is the CEO of Shvets Group.
Eric Freeman creates and produces content for today's leading educational channels. His content is available on the premier O'Reilly and LinkedIn Learning/Lynda.com content channels, and he produces content for a number of private-label clients. Eric also co-directs the Head First series at O'Reilly Media. Previously Eric was CTO/Vice President of Technology for Disney Online. He's also the co-author of several bestselling technology titles, including Head First Design Patterns and Head First HTML & CSS.
It aims to introduce design patterns in software development in an engaging and accessible manner. The book utilizes a unique approach that blends visual aids, humor, and practical examples to convey complex concepts effectively.
Introduction to Design Patterns: The book starts with an introduction to design patterns, explaining why they are essential in software development and how they help in creating flexible, reusable, and maintainable code. Understanding Design Principles: Before delving into specific patterns, the book covers fundamental design principles such as encapsulation, inheritance, and polymorphism. These principles lay the groundwork for understanding design patterns effectively. Categorization: The book then explores creational design patterns, which focus on object creation mechanisms. Next, the book dives into structural design patterns, which deal with object composition and class structure. Then proceeds to discuss behavioral design patterns, which focus on communication between objects. Real-World Examples and Case Studies: Throughout the book, real-world examples and case studies are provided to illustrate how design patterns are used in practical software development scenarios. These examples help readers understand how to apply patterns in their own projects. Anti-Patterns and Pitfalls: The book also highlights common anti-patterns and pitfalls that developers may encounter when applying design patterns. By understanding these pitfalls, readers can avoid potential pitfalls and make better design decisions. Design Patterns in Context: Towards the end, the book discusses how design patterns fit into the larger context of software architecture and development methodologies. It emphasizes the importance of choosing the right pattern for the problem at hand and integrating patterns into the overall design strategy. Review and Reinforcement: Throughout the book, review exercises, quizzes, and puzzles are included to reinforce learning and help readers solidify their understanding of design patterns.
It is a comprehensive guide aimed at software developers seeking a deeper understanding of design patterns and their practical applications. The book delves into various design patterns commonly used in software development, providing insights into their purposes, implementations, and best practices.
3a8082e126