|
Browse categories
Software Design & Development
|
 |
 |
 |
|
|
 |
|
|
Customer Reviews
The best so far!, 11 Dec 2008
After being thoroughly disappointed with Erica Sadun's contribution to the iPhone development book scene I stumbled on this gem.
The writing style is fantastic, and the way it is put together works very well for teaching - at each stage you learn things and they seem to stick. The way it progresses and builds on the knowledge you have works very well, and I really enjoyed all the tips and tricks the dropped in for Xcode and Interface builder - I've been using these tools for traditional OS X development for a few years now and still learned a lot.
About the only thing I could ask for from this book is 'more' - just keep going instead of ending :)
The best book on the iPhone development so far, 10 Dec 2008
I've got all the books on the iPhone development that were published so far, and this one is definitely the best. The authors' style is unique, I am tempted to say that style-wise this might be the most enjoyable book on software development I've read in my life.
The book presents a lot of material, it is definitely sufficient to start developing for the platform for a complete novice to iPhone or Mac development like myself. What is cool is that the book feeds its knowledge with exactly the right pace. Well, sometimes that feels a bit slow, but you do feel confident all the way along, and the authors encourage you to go faster if you wish.
Regarding the language: I am new to the Objective-C, still remember a few bits and pieces from C and I work professionally with Java and C#. I want to say that I had absolutely no difficulties with understanding this book, but recently I've read a few chapters in various books on Mac programming, so I had an idea of the Objective-C syntax.
I was so impressed with this book that ordered another two of this 'citrus' series that are coming soon, on learning C and Objective-C on the Mac.
Lovely Writing Style and Very Informative, 07 Dec 2008
Dave and Jeff have a very relaxed writing style (perhaps even more so that Aaron Hillegass) and the book reads as if they are actually talking you through the process. The result is something which is very readable and easy to follow and the concepts behind the code are clearly and well explained.
The only thing I feel worth warning people about is that if you have no prior experience of Objective-C or Cocoa then you may be a bit lost and so I'd recommend at least a good introductory book. I believe that Apress have some coming out soon so they may be worth a look.
|
|
 |
 |
|
|
Customer Reviews
The best so far!, 11 Dec 2008
After being thoroughly disappointed with Erica Sadun's contribution to the iPhone development book scene I stumbled on this gem.
The writing style is fantastic, and the way it is put together works very well for teaching - at each stage you learn things and they seem to stick. The way it progresses and builds on the knowledge you have works very well, and I really enjoyed all the tips and tricks the dropped in for Xcode and Interface builder - I've been using these tools for traditional OS X development for a few years now and still learned a lot.
About the only thing I could ask for from this book is 'more' - just keep going instead of ending :)
The best book on the iPhone development so far, 10 Dec 2008
I've got all the books on the iPhone development that were published so far, and this one is definitely the best. The authors' style is unique, I am tempted to say that style-wise this might be the most enjoyable book on software development I've read in my life.
The book presents a lot of material, it is definitely sufficient to start developing for the platform for a complete novice to iPhone or Mac development like myself. What is cool is that the book feeds its knowledge with exactly the right pace. Well, sometimes that feels a bit slow, but you do feel confident all the way along, and the authors encourage you to go faster if you wish.
Regarding the language: I am new to the Objective-C, still remember a few bits and pieces from C and I work professionally with Java and C#. I want to say that I had absolutely no difficulties with understanding this book, but recently I've read a few chapters in various books on Mac programming, so I had an idea of the Objective-C syntax.
I was so impressed with this book that ordered another two of this 'citrus' series that are coming soon, on learning C and Objective-C on the Mac.
Lovely Writing Style and Very Informative, 07 Dec 2008
Dave and Jeff have a very relaxed writing style (perhaps even more so that Aaron Hillegass) and the book reads as if they are actually talking you through the process. The result is something which is very readable and easy to follow and the concepts behind the code are clearly and well explained.
The only thing I feel worth warning people about is that if you have no prior experience of Objective-C or Cocoa then you may be a bit lost and so I'd recommend at least a good introductory book. I believe that Apress have some coming out soon so they may be worth a look.
A valuable text, but needs a clean-up, 30 Nov 2008
Clean Code is a valuable book for any programmer's bookshelf. Although a lot of the information can be found in other books on software development, particularly those covering "agile" techniques, the text brings everything into one place with a very readable and enjoyable style. I could've done with this about fifteen years ago, rather than learning many of the lessons the hard way over the years.
The book does have some minor issues though. As mentioned by a previous reviewer, it uses Java exclusively for the examples and assumes you are an experienced Java developer. Some of the examples can be heavy going for those unfamiliar with the language.
The book could also do with a bit more proof-reading. Ignoring a copyright of 2009, the words "it's" and "its" seem to have been swapped throughout the book, "an" replaces "and" in a handful of sentences, and there are even some words in the text that are completely wrong. A bit of shame considering.
Don't let the Java or proof-reading put you off though.
Page turner, 28 Nov 2008
This book is, believe it or not, a page turner! Yes, dear friends, you heard me. I know how boooorrriiing and dry can technical books of this sort be, but this one -- I actually read the whole of the Introduction chapter (which I do very rarely), then continued on to the first chapter, then the next, and next,... I read through the first 52 pages of the book in just a couple of hours!
The book is very reader-friendly, witty, interesting, and simply great!
I am now in the third year of a Software Engineering course and this book is certainly very helpful. With its help I hope to submit an extremely well readable and structured code to my final year project. I recommend this book to everyone!
Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art!
|
|
 |
 |
Head First Design Patterns
|
Eric FreemanElisabeth FreemanBert BatesKathy Sierra;
;
|
|
Usually dispatched within 1-2 business days *Best price found from Amazon Marketplace seller
|
*Amazon: £15.99
|
|
Customer Reviews
The best so far!, 11 Dec 2008
After being thoroughly disappointed with Erica Sadun's contribution to the iPhone development book scene I stumbled on this gem.
The writing style is fantastic, and the way it is put together works very well for teaching - at each stage you learn things and they seem to stick. The way it progresses and builds on the knowledge you have works very well, and I really enjoyed all the tips and tricks the dropped in for Xcode and Interface builder - I've been using these tools for traditional OS X development for a few years now and still learned a lot.
About the only thing I could ask for from this book is 'more' - just keep going instead of ending :)
The best book on the iPhone development so far, 10 Dec 2008
I've got all the books on the iPhone development that were published so far, and this one is definitely the best. The authors' style is unique, I am tempted to say that style-wise this might be the most enjoyable book on software development I've read in my life.
The book presents a lot of material, it is definitely sufficient to start developing for the platform for a complete novice to iPhone or Mac development like myself. What is cool is that the book feeds its knowledge with exactly the right pace. Well, sometimes that feels a bit slow, but you do feel confident all the way along, and the authors encourage you to go faster if you wish.
Regarding the language: I am new to the Objective-C, still remember a few bits and pieces from C and I work professionally with Java and C#. I want to say that I had absolutely no difficulties with understanding this book, but recently I've read a few chapters in various books on Mac programming, so I had an idea of the Objective-C syntax.
I was so impressed with this book that ordered another two of this 'citrus' series that are coming soon, on learning C and Objective-C on the Mac.
Lovely Writing Style and Very Informative, 07 Dec 2008
Dave and Jeff have a very relaxed writing style (perhaps even more so that Aaron Hillegass) and the book reads as if they are actually talking you through the process. The result is something which is very readable and easy to follow and the concepts behind the code are clearly and well explained.
The only thing I feel worth warning people about is that if you have no prior experience of Objective-C or Cocoa then you may be a bit lost and so I'd recommend at least a good introductory book. I believe that Apress have some coming out soon so they may be worth a look.
A valuable text, but needs a clean-up, 30 Nov 2008
Clean Code is a valuable book for any programmer's bookshelf. Although a lot of the information can be found in other books on software development, particularly those covering "agile" techniques, the text brings everything into one place with a very readable and enjoyable style. I could've done with this about fifteen years ago, rather than learning many of the lessons the hard way over the years.
The book does have some minor issues though. As mentioned by a previous reviewer, it uses Java exclusively for the examples and assumes you are an experienced Java developer. Some of the examples can be heavy going for those unfamiliar with the language.
The book could also do with a bit more proof-reading. Ignoring a copyright of 2009, the words "it's" and "its" seem to have been swapped throughout the book, "an" replaces "and" in a handful of sentences, and there are even some words in the text that are completely wrong. A bit of shame considering.
Don't let the Java or proof-reading put you off though.
Page turner, 28 Nov 2008
This book is, believe it or not, a page turner! Yes, dear friends, you heard me. I know how boooorrriiing and dry can technical books of this sort be, but this one -- I actually read the whole of the Introduction chapter (which I do very rarely), then continued on to the first chapter, then the next, and next,... I read through the first 52 pages of the book in just a couple of hours!
The book is very reader-friendly, witty, interesting, and simply great!
I am now in the third year of a Software Engineering course and this book is certainly very helpful. With its help I hope to submit an extremely well readable and structured code to my final year project. I recommend this book to everyone!
Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art!
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability.
Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk.
Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot.
Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read.
A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now.
|
|
 |
 |
|
|
Customer Reviews
The best so far!, 11 Dec 2008
After being thoroughly disappointed with Erica Sadun's contribution to the iPhone development book scene I stumbled on this gem.
The writing style is fantastic, and the way it is put together works very well for teaching - at each stage you learn things and they seem to stick. The way it progresses and builds on the knowledge you have works very well, and I really enjoyed all the tips and tricks the dropped in for Xcode and Interface builder - I've been using these tools for traditional OS X development for a few years now and still learned a lot.
About the only thing I could ask for from this book is 'more' - just keep going instead of ending :)
The best book on the iPhone development so far, 10 Dec 2008
I've got all the books on the iPhone development that were published so far, and this one is definitely the best. The authors' style is unique, I am tempted to say that style-wise this might be the most enjoyable book on software development I've read in my life.
The book presents a lot of material, it is definitely sufficient to start developing for the platform for a complete novice to iPhone or Mac development like myself. What is cool is that the book feeds its knowledge with exactly the right pace. Well, sometimes that feels a bit slow, but you do feel confident all the way along, and the authors encourage you to go faster if you wish.
Regarding the language: I am new to the Objective-C, still remember a few bits and pieces from C and I work professionally with Java and C#. I want to say that I had absolutely no difficulties with understanding this book, but recently I've read a few chapters in various books on Mac programming, so I had an idea of the Objective-C syntax.
I was so impressed with this book that ordered another two of this 'citrus' series that are coming soon, on learning C and Objective-C on the Mac.
Lovely Writing Style and Very Informative, 07 Dec 2008
Dave and Jeff have a very relaxed writing style (perhaps even more so that Aaron Hillegass) and the book reads as if they are actually talking you through the process. The result is something which is very readable and easy to follow and the concepts behind the code are clearly and well explained.
The only thing I feel worth warning people about is that if you have no prior experience of Objective-C or Cocoa then you may be a bit lost and so I'd recommend at least a good introductory book. I believe that Apress have some coming out soon so they may be worth a look.
A valuable text, but needs a clean-up, 30 Nov 2008
Clean Code is a valuable book for any programmer's bookshelf. Although a lot of the information can be found in other books on software development, particularly those covering "agile" techniques, the text brings everything into one place with a very readable and enjoyable style. I could've done with this about fifteen years ago, rather than learning many of the lessons the hard way over the years.
The book does have some minor issues though. As mentioned by a previous reviewer, it uses Java exclusively for the examples and assumes you are an experienced Java developer. Some of the examples can be heavy going for those unfamiliar with the language.
The book could also do with a bit more proof-reading. Ignoring a copyright of 2009, the words "it's" and "its" seem to have been swapped throughout the book, "an" replaces "and" in a handful of sentences, and there are even some words in the text that are completely wrong. A bit of shame considering.
Don't let the Java or proof-reading put you off though.
Page turner, 28 Nov 2008
This book is, believe it or not, a page turner! Yes, dear friends, you heard me. I know how boooorrriiing and dry can technical books of this sort be, but this one -- I actually read the whole of the Introduction chapter (which I do very rarely), then continued on to the first chapter, then the next, and next,... I read through the first 52 pages of the book in just a couple of hours!
The book is very reader-friendly, witty, interesting, and simply great!
I am now in the third year of a Software Engineering course and this book is certainly very helpful. With its help I hope to submit an extremely well readable and structured code to my final year project. I recommend this book to everyone!
Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art!
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability.
Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk.
Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot.
Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read.
A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now.
The wrong way to teach (programming), 04 Jan 2009
I really wanted to like this book. The title alone seems so appealing. Instead of the usual, often dry, approach to teaching functional programming by means of mostly mathematical examples, this book takes a completely different approach by using realistic problems. At the same time the book seems targeted at people new to both Haskell and functional programming in general. Sadly, after reading this book I no longer think this is a viable approach to teaching.
Subjects are introduced as a "side-effect" (no pun intended) of developing fairly complex realistic programs. The authors seem eager to prove that Haskell can indeed be used for this. Unfortunately, this means they lose track of the teaching aspect. Not only do you have to learn difficult programming subjects (such as monads), you also have to understand the individual problems in the book. And quite frankly, I have little interest in learning how to build a "bar-code reader".
This makes the book more confusing than necessary. Many chapters in the book refer back to earlier (large!) examples. Even if you read the book from start to end, it becomes a problem having to remember and understand each of these problems. But the worst effect is that it becomes nearly impossible to use the book as a reference.
One positive point about the book. Unlike most (all?) other books on Haskell it focuses on GHC with all of its extensions instead of restricting itself to the uselessly outdated Haskell-98 standard. Thank you for that!
|
|
 |
 |
|
 |
 |
|
|
Product Description
Design Patterns is based on the idea that there are only so many design problems in computer programming. This book identifies some common program-design problems--such as adapting the interface of one object to that of another object or notifying an object of a change in another object's state--and explains the best ways (not always the obvious ways) that the authors know to solve them. The idea is that you can use the authors' sophisticated design ideas to solve problems that you often waste time solving over and over again in your own programming. The authors have come up with some ingenious ways to solve some common vexations among object-oriented programmers. Want to build a page-layout program that embeds inline images among characters of various sizes? How about building a program that converts files of one format to another? Chances are, some programmer already has thought of a better solution than you will and the recipes you need are here. Solutions are presented in generalised diagrams of data and logic structures. The idea is that you can take the concepts presented here and adapt them--in whatever language you use--to your individual situation. You may have to read some of the chapters several times before you fully understand them, but when you find a solution in this book, it will make your job easier and your results more elegant. --Jake Bond
Customer Reviews
The best so far!, 11 Dec 2008
After being thoroughly disappointed with Erica Sadun's contribution to the iPhone development book scene I stumbled on this gem.
The writing style is fantastic, and the way it is put together works very well for teaching - at each stage you learn things and they seem to stick. The way it progresses and builds on the knowledge you have works very well, and I really enjoyed all the tips and tricks the dropped in for Xcode and Interface builder - I've been using these tools for traditional OS X development for a few years now and still learned a lot.
About the only thing I could ask for from this book is 'more' - just keep going instead of ending :)
The best book on the iPhone development so far, 10 Dec 2008
I've got all the books on the iPhone development that were published so far, and this one is definitely the best. The authors' style is unique, I am tempted to say that style-wise this might be the most enjoyable book on software development I've read in my life.
The book presents a lot of material, it is definitely sufficient to start developing for the platform for a complete novice to iPhone or Mac development like myself. What is cool is that the book feeds its knowledge with exactly the right pace. Well, sometimes that feels a bit slow, but you do feel confident all the way along, and the authors encourage you to go faster if you wish.
Regarding the language: I am new to the Objective-C, still remember a few bits and pieces from C and I work professionally with Java and C#. I want to say that I had absolutely no difficulties with understanding this book, but recently I've read a few chapters in various books on Mac programming, so I had an idea of the Objective-C syntax.
I was so impressed with this book that ordered another two of this 'citrus' series that are coming soon, on learning C and Objective-C on the Mac.
Lovely Writing Style and Very Informative, 07 Dec 2008
Dave and Jeff have a very relaxed writing style (perhaps even more so that Aaron Hillegass) and the book reads as if they are actually talking you through the process. The result is something which is very readable and easy to follow and the concepts behind the code are clearly and well explained.
The only thing I feel worth warning people about is that if you have no prior experience of Objective-C or Cocoa then you may be a bit lost and so I'd recommend at least a good introductory book. I believe that Apress have some coming out soon so they may be worth a look.
A valuable text, but needs a clean-up, 30 Nov 2008
Clean Code is a valuable book for any programmer's bookshelf. Although a lot of the information can be found in other books on software development, particularly those covering "agile" techniques, the text brings everything into one place with a very readable and enjoyable style. I could've done with this about fifteen years ago, rather than learning many of the lessons the hard way over the years.
The book does have some minor issues though. As mentioned by a previous reviewer, it uses Java exclusively for the examples and assumes you are an experienced Java developer. Some of the examples can be heavy going for those unfamiliar with the language.
The book could also do with a bit more proof-reading. Ignoring a copyright of 2009, the words "it's" and "its" seem to have been swapped throughout the book, "an" replaces "and" in a handful of sentences, and there are even some words in the text that are completely wrong. A bit of shame considering.
Don't let the Java or proof-reading put you off though.
Page turner, 28 Nov 2008
This book is, believe it or not, a page turner! Yes, dear friends, you heard me. I know how boooorrriiing and dry can technical books of this sort be, but this one -- I actually read the whole of the Introduction chapter (which I do very rarely), then continued on to the first chapter, then the next, and next,... I read through the first 52 pages of the book in just a couple of hours!
The book is very reader-friendly, witty, interesting, and simply great!
I am now in the third year of a Software Engineering course and this book is certainly very helpful. With its help I hope to submit an extremely well readable and structured code to my final year project. I recommend this book to everyone!
Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art!
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability.
Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk.
Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot.
Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read.
A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now.
The wrong way to teach (programming), 04 Jan 2009
I really wanted to like this book. The title alone seems so appealing. Instead of the usual, often dry, approach to teaching functional programming by means of mostly mathematical examples, this book takes a completely different approach by using realistic problems. At the same time the book seems targeted at people new to both Haskell and functional programming in general. Sadly, after reading this book I no longer think this is a viable approach to teaching.
Subjects are introduced as a "side-effect" (no pun intended) of developing fairly complex realistic programs. The authors seem eager to prove that Haskell can indeed be used for this. Unfortunately, this means they lose track of the teaching aspect. Not only do you have to learn difficult programming subjects (such as monads), you also have to understand the individual problems in the book. And quite frankly, I have little interest in learning how to build a "bar-code reader".
This makes the book more confusing than necessary. Many chapters in the book refer back to earlier (large!) examples. Even if you read the book from start to end, it becomes a problem having to remember and understand each of these problems. But the worst effect is that it becomes nearly impossible to use the book as a reference.
One positive point about the book. Unlike most (all?) other books on Haskell it focuses on GHC with all of its extensions instead of restricting itself to the uselessly outdated Haskell-98 standard. Thank you for that!
Plausable, 20 Dec 2008
I think that a good way to handle this book is to read it from cover to cover, then think about the patterns for a few weeks and then read relevant chapters once again when you are about to implement a given pattern.
Also, one thing to be aware of is that this book has been written before the template era, therefore many implementation examples are outdated and can be replaced with much more elegant template based solutions. For example boost::shared_ptr can be used to safely return a dynamically allocated Iterator object without worrying about memory leaks.
I can't wait to use all this stuff in my next project!
The 5 stars it gets are for historical contribution to the art of software only. Buy a more readable book on the subject!, 17 Dec 2008
My subject title says it all. These guys are to developers and architects what geeks are to business people. Ever heard business people complain they can't speak tech speak and we'd better shape up and learn the language of business if we want to keep our jobs? Well you'll be complaining about how these guys try to explain their subject to you.
These guys would have been first out the door in your business as they can't explain how to boil and egg without shrouding it in mystery and science. Talk about surrounding yourself in importance then this book is probably aimed at that because the patterns are simple and easy to understand in practice, BUT NOT IF YOU READ THIS BOOK! No doubt if they had written it simply in the first place it would no doubt have not been received in the academic world and would not have its place in history today. As it is, if you want to look important and well clued up then buy this book to show off on your shelves and while your at it put it next to a Charles Petzold book.
These guys get 5 stars for their research and nothing for authorship. If you really want to do your job well, steer clear of this and look elsewhere for real examples of how to make patterns work for you.
The language of software development, 13 Dec 2008
I've owned this book for a number of years and still refer to it on a regular basis. Although it can be a hard read the value of the content is the common language it has introduced to the industry.
The code constructs in the book were not new even when it was written. In order to qualify as a pattern any particular construct has to be proven as a good solution to a recurring problem. What this book did was describe the best and most commonly used patterns and give them names. Those names have become part of the fundamental underpinnings of modern object orientated software development.
Every software developer should have this book, even if just to be able to understand what everyone is talking about when they mention adapter, facade, factory, composite, visitor and the rest.
All current comments are valid, 31 Jan 2008
Because I was advised to read this book and had good comments about it, I was really surprised to see even 1 single negative comment when starting my order process. I therefore started my reading with a sort of bitter feeling i was going to get either bored or over flooded with information.
Anyway, in the end I just want to point that yes it is a must read, but its writing could really be simplified. They also tend to repeat things alot, and suprisingly with the same words in a different order, which makes it very confusing, it's like finally understanding how something works and then looking at it in a mirror... I believe they wrote a very complex algorithm to write more pages ;)
If I could give it 6 stars..., 06 Jun 2007
For the last 5 years I have been writing C++ code, and discovering coding 'patterns' for myself. Each time, I thought that there must be a book out there which documents these 'patterns', and would save me months of work figuring them out for myself. This is that book, and it does not disappoint.
The 23 patterns are built on a set of core principles. I was aware of these principles before, but seeing their application in pattern after pattern has given me a much better and deeper understanding of how and why to apply these principles in my own code.
I would probably have used some of the patterns, some of the time. But after such a clear and deep explanation of each one, I now see opportunities to use the patterns frequently. And in each case, I realise why my code will be better with them than if I hadn't used them.
Reading this book immediately improved my coding skills by an order of magnitude.
This book belongs on the shelf of every C++ coder, alongside Meyers 'Effective C++' and Beck's 'Extreme Programming Explained'.
|
|
 |
 |
|
|
Customer Reviews
The best so far!, 11 Dec 2008
After being thoroughly disappointed with Erica Sadun's contribution to the iPhone development book scene I stumbled on this gem.
The writing style is fantastic, and the way it is put together works very well for teaching - at each stage you learn things and they seem to stick. The way it progresses and builds on the knowledge you have works very well, and I really enjoyed all the tips and tricks the dropped in for Xcode and Interface builder - I've been using these tools for traditional OS X development for a few years now and still learned a lot.
About the only thing I could ask for from this book is 'more' - just keep going instead of ending :) The best book on the iPhone development so far, 10 Dec 2008
I've got all the books on the iPhone development that were published so far, and this one is definitely the best. The authors' style is unique, I am tempted to say that style-wise this might be the most enjoyable book on software development I've read in my life.
The book presents a lot of material, it is definitely sufficient to start developing for the platform for a complete novice to iPhone or Mac development like myself. What is cool is that the book feeds its knowledge with exactly the right pace. Well, sometimes that feels a bit slow, but you do feel confident all the way along, and the authors encourage you to go faster if you wish.
Regarding the language: I am new to the Objective-C, still remember a few bits and pieces from C and I work professionally with Java and C#. I want to say that I had absolutely no difficulties with understanding this book, but recently I've read a few chapters in various books on Mac programming, so I had an idea of the Objective-C syntax.
I was so impressed with this book that ordered another two of this 'citrus' series that are coming soon, on learning C and Objective-C on the Mac. Lovely Writing Style and Very Informative, 07 Dec 2008
Dave and Jeff have a very relaxed writing style (perhaps even more so that Aaron Hillegass) and the book reads as if they are actually talking you through the process. The result is something which is very readable and easy to follow and the concepts behind the code are clearly and well explained.
The only thing I feel worth warning people about is that if you have no prior experience of Objective-C or Cocoa then you may be a bit lost and so I'd recommend at least a good introductory book. I believe that Apress have some coming out soon so they may be worth a look. A valuable text, but needs a clean-up, 30 Nov 2008
Clean Code is a valuable book for any programmer's bookshelf. Although a lot of the information can be found in other books on software development, particularly those covering "agile" techniques, the text brings everything into one place with a very readable and enjoyable style. I could've done with this about fifteen years ago, rather than learning many of the lessons the hard way over the years.
The book does have some minor issues though. As mentioned by a previous reviewer, it uses Java exclusively for the examples and assumes you are an experienced Java developer. Some of the examples can be heavy going for those unfamiliar with the language.
The book could also do with a bit more proof-reading. Ignoring a copyright of 2009, the words "it's" and "its" seem to have been swapped throughout the book, "an" replaces "and" in a handful of sentences, and there are even some words in the text that are completely wrong. A bit of shame considering.
Don't let the Java or proof-reading put you off though. Page turner, 28 Nov 2008
This book is, believe it or not, a page turner! Yes, dear friends, you heard me. I know how boooorrriiing and dry can technical books of this sort be, but this one -- I actually read the whole of the Introduction chapter (which I do very rarely), then continued on to the first chapter, then the next, and next,... I read through the first 52 pages of the book in just a couple of hours!
The book is very reader-friendly, witty, interesting, and simply great!
I am now in the third year of a Software Engineering course and this book is certainly very helpful. With its help I hope to submit an extremely well readable and structured code to my final year project. I recommend this book to everyone! Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages. The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art! Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability. Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk. Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot. Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read. A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now. The wrong way to teach (programming), 04 Jan 2009
I really wanted to like this book. The title alone seems so appealing. Instead of the usual, often dry, approach to teaching functional programming by means of mostly mathematical examples, this book takes a completely different approach by using realistic problems. At the same time the book seems targeted at people new to both Haskell and functional programming in general. Sadly, after reading this book I no longer think this is a viable approach to teaching.
Subjects are introduced as a "side-effect" (no pun intended) of developing fairly complex realistic programs. The authors seem eager to prove that Haskell can indeed be used for this. Unfortunately, this means they lose track of the teaching aspect. Not only do you have to learn difficult programming subjects (such as monads), you also have to understand the individual problems in the book. And quite frankly, I have little interest in learning how to build a "bar-code reader".
This makes the book more confusing than necessary. Many chapters in the book refer back to earlier (large!) examples. Even if you read the book from start to end, it becomes a problem having to remember and understand each of these problems. But the worst effect is that it becomes nearly impossible to use the book as a reference.
One positive point about the book. Unlike most (all?) other books on Haskell it focuses on GHC with all of its extensions instead of restricting itself to the uselessly outdated Haskell-98 standard. Thank you for that! Plausable, 20 Dec 2008
I think that a good way to handle this book is to read it from cover to cover, then think about the patterns for a few weeks and then read relevant chapters once again when you are about to implement a given pattern.
Also, one thing to be aware of is that this book has been written before the template era, therefore many implementation examples are outdated and can be replaced with much more elegant template based solutions. For example boost::shared_ptr can be used to safely return a dynamically allocated Iterator object without worrying about memory leaks.
I can't wait to use all this stuff in my next project! The 5 stars it gets are for historical contribution to the art of software only. Buy a more readable book on the subject!, 17 Dec 2008
My subject title says it all. These guys are to developers and architects what geeks are to business people. Ever heard business people complain they can't speak tech speak and we'd better shape up and learn the language of business if we want to keep our jobs? Well you'll be complaining about how these guys try to explain their subject to you.
These guys would have been first out the door in your business as they can't explain how to boil and egg without shrouding it in mystery and science. Talk about surrounding yourself in importance then this book is probably aimed at that because the patterns are simple and easy to understand in practice, BUT NOT IF YOU READ THIS BOOK! No doubt if they had written it simply in the first place it would no doubt have not been received in the academic world and would not have its place in history today. As it is, if you want to look important and well clued up then buy this book to show off on your shelves and while your at it put it next to a Charles Petzold book.
These guys get 5 stars for their research and nothing for authorship. If you really want to do your job well, steer clear of this and look elsewhere for real examples of how to make patterns work for you. The language of software development, 13 Dec 2008
I've owned this book for a number of years and still refer to it on a regular basis. Although it can be a hard read the value of the content is the common language it has introduced to the industry.
The code constructs in the book were not new even when it was written. In order to qualify as a pattern any particular construct has to be proven as a good solution to a recurring problem. What this book did was describe the best and most commonly used patterns and give them names. Those names have become part of the fundamental underpinnings of modern object orientated software development.
Every software developer should have this book, even if just to be able to understand what everyone is talking about when they mention adapter, facade, factory, composite, visitor and the rest. All current comments are valid, 31 Jan 2008
Because I was advised to read this book and had good comments about it, I was really surprised to see even 1 single negative comment when starting my order process. I therefore started my reading with a sort of bitter feeling i was going to get either bored or over flooded with information.
Anyway, in the end I just want to point that yes it is a must read, but its writing could really be simplified. They also tend to repeat things alot, and suprisingly with the same words in a different order, which makes it very confusing, it's like finally understanding how something works and then looking at it in a mirror... I believe they wrote a very complex algorithm to write more pages ;) If I could give it 6 stars..., 06 Jun 2007
For the last 5 years I have been writing C++ code, and discovering coding 'patterns' for myself. Each time, I thought that there must be a book out there which documents these 'patterns', and would save me months of work figuring them out for myself. This is that book, and it does not disappoint.
The 23 patterns are built on a set of core principles. I was aware of these principles before, but seeing their application in pattern after pattern has given me a much better and deeper understanding of how and why to apply these principles in my own code.
I would probably have used some of the patterns, some of the time. But after such a clear and deep explanation of each one, I now see opportunities to use the patterns frequently. And in each case, I realise why my code will be better with them than if I hadn't used them.
Reading this book immediately improved my coding skills by an order of magnitude.
This book belongs on the shelf of every C++ coder, alongside Meyers 'Effective C++' and Beck's 'Extreme Programming Explained'. One seminal essay. The rest, repetitive and out of date., 29 Jan 2008
For sure the Mythical Man Month was a seminal essay back then. This is worth reading for sure. But the rest of the book is very out of date, and very repetitive. It gets a bit wearing too hearing the old line that hardware has advanced a thousand fold and software hasn't. Er, played any computer games lately?
I'd recommend reading the Mythical Man Month elsewhere if you can find it online and save the time, money, and effort reading the whole book.
Time better spent reading a book on Agile, or XP I would think. A bit outdated..., 01 Aug 2007
Bought this book on the recommendation of a friend, bought "Debugging the Development Environment" on the recommendation of my boss and would probably recommend neither for todays fluidic environments. Mythical Man Month contains a somewhat outdated view of software development, more suitably apt for an age when only long time development projects for mainframes existed and Web/PC development had not been heard of.
Still relevant in parts to large waterfall based development projects, not helpful with RAD/Extreme and other more modern, small team development methods and probably only a useful read if you are new to project teams and/or have not worked in an IT environment Orinal text is brilliant, 03 Apr 2007
The 1975 text is genius like essay No Silver Bullets at the end part of the book. At the very final essay is completely different.
At the final pages (207 and onwards) for some reason Mr Brooks felt that he needs to start defending his original text against critics. Fighting with critics is pointless and makes one me only to feel a shamed behalf of Mr Brooks. The "absolute must read" in software engineering, 29 Aug 2006
I was working for several years in software development, exposed to systems engineering context before reading this book. I think Brooks was so right so long ago that this is "the absolute must read book" on software engineering for anyone interested.
Brooks writes in each chapter about different concerns that affect Software Engineering. The chapters include experiences the author had during his work in IBM back in the 70s. This makes it even more interesting since you actually learn about history of the craft. Note that the main content was written a while ago, but, much of it still applies in today's environment.
This edition includes the original essays and adds new content that comment on the book, the evolution of the field and what the author thinks is still applicable and what not.
As a whole it is very readable and many times fun to read. IMO this is a must read for anyone working in software engineering. A genuine classic - a truly seminal work, 17 Dec 2004
One of the best books ever written about software development and computing in general. Yes, it has dated in places but even so it is still very interesting and often incredibly insightful. The title essay (about how throwing additional people at an already late project simply makes it even later) and the essay about Second System Syndrome at particularly good. It ought to be (but rather sadly is not) a must read for everybody working in IT.
|
|
 |
 |
|
|
Customer Reviews
The best so far!, 11 Dec 2008
After being thoroughly disappointed with Erica Sadun's contribution to the iPhone development book scene I stumbled on this gem.
The writing style is fantastic, and the way it is put together works very well for teaching - at each stage you learn things and they seem to stick. The way it progresses and builds on the knowledge you have works very well, and I really enjoyed all the tips and tricks the dropped in for Xcode and Interface builder - I've been using these tools for traditional OS X development for a few years now and still learned a lot.
About the only thing I could ask for from this book is 'more' - just keep going instead of ending :)
The best book on the iPhone development so far, 10 Dec 2008
I've got all the books on the iPhone development that were published so far, and this one is definitely the best. The authors' style is unique, I am tempted to say that style-wise this might be the most enjoyable book on software development I've read in my life.
The book presents a lot of material, it is definitely sufficient to start developing for the platform for a complete novice to iPhone or Mac development like myself. What is cool is that the book feeds its knowledge with exactly the right pace. Well, sometimes that feels a bit slow, but you do feel confident all the way along, and the authors encourage you to go faster if you wish.
Regarding the language: I am new to the Objective-C, still remember a few bits and pieces from C and I work professionally with Java and C#. I want to say that I had absolutely no difficulties with understanding this book, but recently I've read a few chapters in various books on Mac programming, so I had an idea of the Objective-C syntax.
I was so impressed with this book that ordered another two of this 'citrus' series that are coming soon, on learning C and Objective-C on the Mac.
Lovely Writing Style and Very Informative, 07 Dec 2008
Dave and Jeff have a very relaxed writing style (perhaps even more so that Aaron Hillegass) and the book reads as if they are actually talking you through the process. The result is something which is very readable and easy to follow and the concepts behind the code are clearly and well explained.
The only thing I feel worth warning people about is that if you have no prior experience of Objective-C or Cocoa then you may be a bit lost and so I'd recommend at least a good introductory book. I believe that Apress have some coming out soon so they may be worth a look.
A valuable text, but needs a clean-up, 30 Nov 2008
Clean Code is a valuable book for any programmer's bookshelf. Although a lot of the information can be found in other books on software development, particularly those covering "agile" techniques, the text brings everything into one place with a very readable and enjoyable style. I could've done with this about fifteen years ago, rather than learning many of the lessons the hard way over the years.
The book does have some minor issues though. As mentioned by a previous reviewer, it uses Java exclusively for the examples and assumes you are an experienced Java developer. Some of the examples can be heavy going for those unfamiliar with the language.
The book could also do with a bit more proof-reading. Ignoring a copyright of 2009, the words "it's" and "its" seem to have been swapped throughout the book, "an" replaces "and" in a handful of sentences, and there are even some words in the text that are completely wrong. A bit of shame considering.
Don't let the Java or proof-reading put you off though.
Page turner, 28 Nov 2008
This book is, believe it or not, a page turner! Yes, dear friends, you heard me. I know how boooorrriiing and dry can technical books of this sort be, but this one -- I actually read the whole of the Introduction chapter (which I do very rarely), then continued on to the first chapter, then the next, and next,... I read through the first 52 pages of the book in just a couple of hours!
The book is very reader-friendly, witty, interesting, and simply great!
I am now in the third year of a Software Engineering course and this book is certainly very helpful. With its help I hope to submit an extremely well readable and structured code to my final year project. I recommend this book to everyone!
Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art!
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability.
Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk.
Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot.
Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read.
A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now.
The wrong way to teach (programming), 04 Jan 2009
I really wanted to like this book. The title alone seems so appealing. Instead of the usual, often dry, approach to teaching functional programming by means of mostly mathematical examples, this book takes a completely different approach by using realistic problems. At the same time the book seems targeted at people new to both Haskell and functional programming in general. Sadly, after reading this book I no longer think this is a viable approach to teaching.
Subjects are introduced as a "side-effect" (no pun intended) of developing fairly complex realistic programs. The authors seem eager to prove that Haskell can indeed be used for this. Unfortunately, this means they lose track of the teaching aspect. Not only do you have to learn difficult programming subjects (such as monads), you also have to understand the individual problems in the book. And quite frankly, I have little interest in learning how to build a "bar-code reader".
This makes the book more confusing than necessary. Many chapters in the book refer back to earlier (large!) examples. Even if you read the book from start to end, it becomes a problem having to remember and understand each of these problems. But the worst effect is that it becomes nearly impossible to use the book as a reference.
One positive point about the book. Unlike most (all?) other books on Haskell it focuses on GHC with all of its extensions instead of restricting itself to the uselessly outdated Haskell-98 standard. Thank you for that!
Plausable, 20 Dec 2008
I think that a good way to handle this book is to read it from cover to cover, then think about the patterns for a few weeks and then read relevant chapters once again when you are about to implement a given pattern.
Also, one thing to be aware of is that this book has been written before the template era, therefore many implementation examples are outdated and can be replaced with much more elegant template based solutions. For example boost::shared_ptr can be used to safely return a dynamically allocated Iterator object without worrying about memory leaks.
I can't wait to use all this stuff in my next project!
The 5 stars it gets are for historical contribution to the art of software only. Buy a more readable book on the subject!, 17 Dec 2008
My subject title says it all. These guys are to developers and architects what geeks are to business people. Ever heard business people complain they can't speak tech speak and we'd better shape up and learn the language of business if we want to keep our jobs? Well you'll be complaining about how these guys try to explain their subject to you.
These guys would have been first out the door in your business as they can't explain how to boil and egg without shrouding it in mystery and science. Talk about surrounding yourself in importance then this book is probably aimed at that because the patterns are simple and easy to understand in practice, BUT NOT IF YOU READ THIS BOOK! No doubt if they had written it simply in the first place it would no doubt have not been received in the academic world and would not have its place in history today. As it is, if you want to look important and well clued up then buy this book to show off on your shelves and while your at it put it next to a Charles Petzold book.
These guys get 5 stars for their research and nothing for authorship. If you really want to do your job well, steer clear of this and look elsewhere for real examples of how to make patterns work for you.
The language of software development, 13 Dec 2008
I've owned this book for a number of years and still refer to it on a regular basis. Although it can be a hard read the value of the content is the common language it has introduced to the industry.
The code constructs in the book were not new even when it was written. In order to qualify as a pattern any particular construct has to be proven as a good solution to a recurring problem. What this book did was describe the best and most commonly used patterns and give them names. Those names have become part of the fundamental underpinnings of modern object orientated software development.
Every software developer should have this book, even if just to be able to understand what everyone is talking about when they mention adapter, facade, factory, composite, visitor and the rest.
All current comments are valid, 31 Jan 2008
Because I was advised to read this book and had good comments about it, I was really surprised to see even 1 single negative comment when starting my order process. I therefore started my reading with a sort of bitter feeling i was going to get either bored or over flooded with information.
Anyway, in the end I just want to point that yes it is a must read, but its writing could really be simplified. They also tend to repeat things alot, and suprisingly with the same words in a different order, which makes it very confusing, it's like finally understanding how something works and then looking at it in a mirror... I believe they wrote a very complex algorithm to write more pages ;)
If I could give it 6 stars..., 06 Jun 2007
For the last 5 years I have been writing C++ code, and discovering coding 'patterns' for myself. Each time, I thought that there must be a book out there which documents these 'patterns', and would save me months of work figuring them out for myself. This is that book, and it does not disappoint.
The 23 patterns are built on a set of core principles. I was aware of these principles before, but seeing their application in pattern after pattern has given me a much better and deeper understanding of how and why to apply these principles in my own code.
I would probably have used some of the patterns, some of the time. But after such a clear and deep explanation of each one, I now see opportunities to use the patterns frequently. And in each case, I realise why my code will be better with them than if I hadn't used them.
Reading this book immediately improved my coding skills by an order of magnitude.
This book belongs on the shelf of every C++ coder, alongside Meyers 'Effective C++' and Beck's 'Extreme Programming Explained'.
One seminal essay. The rest, repetitive and out of date., 29 Jan 2008
For sure the Mythical Man Month was a seminal essay back then. This is worth reading for sure. But the rest of the book is very out of date, and very repetitive. It gets a bit wearing too hearing the old line that hardware has advanced a thousand fold and software hasn't. Er, played any computer games lately?
I'd recommend reading the Mythical Man Month elsewhere if you can find it online and save the time, money, and effort reading the whole book.
Time better spent reading a book on Agile, or XP I would think.
A bit outdated..., 01 Aug 2007
Bought this book on the recommendation of a friend, bought "Debugging the Development Environment" on the recommendation of my boss and would probably recommend neither for todays fluidic environments. Mythical Man Month contains a somewhat outdated view of software development, more suitably apt for an age when only long time development projects for mainframes existed and Web/PC development had not been heard of.
Still relevant in parts to large waterfall based development projects, not helpful with RAD/Extreme and other more modern, small team development methods and probably only a useful read if you are new to project teams and/or have not worked in an IT environment
Orinal text is brilliant, 03 Apr 2007
The 1975 text is genius like essay No Silver Bullets at the end part of the book. At the very final essay is completely different.
At the final pages (207 and onwards) for some reason Mr Brooks felt that he needs to start defending his original text against critics. Fighting with critics is pointless and makes one me only to feel a shamed behalf of Mr Brooks.
The "absolute must read" in software engineering, 29 Aug 2006
I was working for several years in software development, exposed to systems engineering context before reading this book. I think Brooks was so right so long ago that this is "the absolute must read book" on software engineering for anyone interested.
Brooks writes in each chapter about different concerns that affect Software Engineering. The chap | | |