Originally posted by Michael Hunger:
[QB]Dear Kent,
thanks for your positive reply. Perhaps building a kind of online Implementation Patterns community with wiki like pattern collection (this was the thing Ward inventend the wiki for wasn't it?) would enable people with experience in the fields you can't cover to contribute?
*** That could be an interesting project. The challenge we've always had with shared pattern repositories is maintaining a consistent voice.
Regarding the collection example. The measurements you did are all correct. But the point you make about initializing sizes of collections is not covered by the tests of list operations. It is relevant for the build up of the collections which is not measured at all. (And there it may increase the time and memory needed manifold).
*** You are absolutely right. I need to remeasure and include some operations.
How do you see the implementation patterns? Do they stand alone at the lowest level or are the intricately immersed in the fabric of techniques used creating or changing code? So the question is: Would the references to the mentioned sources of these techniques help putting the patterns into context or disturb the reader while grasping them?
*** If Implementation Patterns were a scholarly work, it would make sense to track down all the antecedents (as some people have with, for example, pair programming). I have no idea where I learned most of the patterns, however, and Implementation Patterns is my personal perspective on programming. I can see the value of the implementation pattern equivalent of the Oxford Dictionary of the English Language, tracking down the first instances of the patterns.
What do you think about the intended audience of the book? And what should the (different?) types of people who read the book learn from it?
*** I wrote it to people who care about programming and care about communicating. I hope there is something there for programmers at every level of skill. I have seen some unintentionally ironic reviews from expert programmers who say, "This is all really beginner stuff, but the book pointed out that I consistently make the following mistake..."
*** Some people come to the book expecting wizard tricks, and they seem to go away disappointed. This isn't another Design Patterns where you can spend many happy hours understanding the details of the patterns. The patterns themselves are mostly pedestrian. Their effective application is what takes a long time to master.
What would be great is a course developed to teach the implementation patterns (the real pattern not just language syntax).
*** Thanks for the recommendation. I will certainly be writing a talk about the book. The best format for learning the patterns I know of is to sit down with someone and some code, talk about how the code does or doesn't use the patterns, retrofit the patterns that are missing, and reflect on the results. Unfortunately I don't know how to do that with 100 people at a time.
Regards,
Kent