Found in 2 comments on Hacker News
IgorP · 2012-12-30 · Original thread
If you don't mind, I would like to share two more books that I have found to be extremely useful:

Illustrated C# 2012 (And previous version: 2010, etc). http://www.amazon.com/Illustrated-C-2012-Daniel-Solis/dp/143...

Of all of the books I have read/browsed regarding C#, this has to be the clearest, most concise on that I have had the pleasure of reading. The material is presented in an understandable manner and the author provides the reason "why" you are doing something rather than just list a series of "do this" steps.

To me, this is the most important quality in a book: Succinctly convey your point so that the reader can truly learn what you are trying to get across.

I do have one other book to recommend for you Rubyists. While I say this is for Rubyists, the concepts in the following book are extremely helpful for other OOP languages as well:

http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-...

I hope this helps; I have spent many hours going through books that sort of meander around the point, have extra fluff, etc. So when I come across two truly stellar gems like the above, I would like to share with others so that they, too, can save some time learning a programming language or paradigm.

IgorP · 2012-12-26 · Original thread
I am currently reading Practical Object-Oriented Design in Ruby: An Agile Primer by Sandi Metz (http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-...)

I am finding this book to be very helpful in understanding proper Object Oriented Design. It explains concepts that I have struggled with previously regarding Object Oriented Design and Programming.

So far, the main point I have taken from this book is: Pay more attention to the messages being sent between objects rather than focusing solely on classes.

As someone who is learning Ruby, it is taking me some time to understand these concepts. However, this book is providing me with some valuable insights into Object Oriented Design and Programming.