It is a very interesting book. Anyone having been involved in a large scale software development projects will recognize typical problems often seen in this type of projects while reading this book and by experience we have developed an intuition about how to deal with the complexity inherent to large scale projects. Mr Lakos book is the first, to my knowledge, that address this subject and it formalize extremely well the problems of large scale projects and propose a methodology and principles to apply to keep the development and maintainability of these projects manageable. It is a very refreshing C++ book and I recommend it to any C++ professionals not having read it yet.
The most interesting chapters in my opinion are chapter 5 and chapter 6. Chapter 5 presents refactoring methods to remove cyclical dependencies among components, reduce inter dependencies and how to layout components into software layers that will ease reusability and maintainability. Chapter 6 discuss about component insulation. Its difference with encapsulation, the benefits of component insulation and its cost and when it is wise to avoid insulation.
I have got interested in this book because I have read from many sources on Mr. Koenig involvement in several key elements of the C++ language such as argument dependant lookup (ADL), also called the Koenig lookup, and the intersect rule for function overloading. In fact, if you read the book 'The design and evolution of C++', Andrew Koenig name is omni present throughout the book. So I was curious to see what Mr. Koenig had to say on C++.
Reading this book has been like a roller coaster ride. First, the cover is intriguing with its recursive pattern where you can see a girl under a tree in a field with cows in the background reading the 'Ruminations on C++' book with the same cover repeating itself over and over. Then the book is divided into six parts and, in my opinion, not all parts are equally good. The first part is taking a more philosophical view on what the C++ language aims to achieve. This part is not too technical and it has somehow a lot of appeal to my eyes. While reading this part, I was thinking that this was very promising for what was to come.
Then at the second part, it is where things are getting spoiled. Part 2 is describing basic C++ techniques. It is not bad but by having read tons of C++ books, to appreciate one of them, I must find some originality that I haven't found in part 2. This part of the book is average.
Finally, I have changed another time my opinion on the book when I have reached part3. Part3 covers templates and more specifically it recreates the whole though process that the STL designers went through to create STL. I see a lot of value to this kind of activities as I believe that understanding why certain things are done in a certain way can help you to better use those things.
In conclusion, I can recommend this book because I feel that mister Koenig goes beyond just the language syntax and try to teach a though process that someone has to go through to solve programming problems. This is a pedagogical approach not found in every programming book.
I had to create a XML schema at my job for the very first time. This is something that I have never done before and I was a total neophyte on XML schemas. A coworker has lent me this book and I would say that after having been through the book in 2 days, it did its job. I have been able to complete my task and I have created a fairly complex XML schema. One quality that I appreciate in technical books is when the book is entertaining and interesting to read. I know that for the non initiated, technical and entertaining might seem incompatible but I have read such books. XML Schema does not have that quality. However, it has the quality to be extremely good to make its readers learn XML schema. If you need to learn XML schemas, you can read this book. It will not be fun but once you are done with it, you should have a pretty decent understanding on the topic.
Another aspect that I have noted is that on very rare circumstances, that book was lacking clarity in my opinion. There are few sections that I was really trying to understand what the author wanted to explain but after many readings of the same section, I did gave up on trying. The section named 'Asymmetry of these two methods' in chapter 7 is one example of what I am describing.
In conclusion, after weighting in the qualities and the problems of this book, I can recommend this book with confidence for anyone that must learn XML schemas.
This is considered by many as the TCP/IP application programming bible and I am among them. This book is simply the most complete and detailed book on Socket programming. It describes every option under all their small details. This makes the book reading lengthy and tedious but it also makes it an excellent reference. Even experienced socket programmers will most likely learn something from this book. For myself, I got a better understanding of the listen() parameter purpose, a better understanding of socket lingering behavior and I refer the book from time to time to refresh my memory on topics such as how to time out a TCP connection attempt.
After having borrowed the second edition from someone at my work, I have decided to get myself a copy of the book. I have purchased the third edition. As of the time of writing this review the price for a used copy of the second edition is 6$ compared to 60$ for the third edition. Since I had the chance to compare the content of both editions, you might be interested to know that beside 1 bug fix in the sample code that I have noticed, the content of both edition is identical to 90% in my estimation. The changes are very minor. Some unimportant topics from the second edition such as XTI have been replaced by very specialized new topics. This means that, in my opinion, purchasing the older second edition which is still very accurate is a very good purchase.
I have slightly revamped the fractal section of my website. More specifically, I added menus to help the navigation in it.
However, there is also a small addition. There is a new page with an embedded player that allows you to watch videos of fractals.
It has been a while since I have played with fractals but if you have never looked at my fractals, it might worth it for you to take a look.
:: Next Page >>
I want you to find in this blog informations about C++ programming that I had a hard time to find in the first place on the web.
| Next >
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| << < | > >> | |||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | ||