BT

Kent Beck on Implementation Patterns

| by Niclas Nilsson Follow 0 Followers on Feb 06, 2008. Estimated reading time: 2 minutes |

What does good code look like? In this InfoQ interview, Kent Beck gets questions about his new book, Implementation Patterns, that deals with this very question. Kent talks about the core of the book, explains that the canonical example is Compose Method and describes why that pattern is so important.

You have to work at composing the methods which is why they‘re “for free” in quotes, but once you’ve done it people can read an understand what you have done, people can extend what you’ve done more easily, people can modify what you’ve done more easily and it’s easier to eliminate duplication, because of these little bits of functionality where the way you compute X is these 2 or 3 operators. If that’s in a method somewhere then it’s easy to change, the assumptions in one place is easy to change. If you just say, that is just going to be a one line method what’s the point of making it into a method of its own then you get this proliferation of the design information that assumption that “here’s how you compute…” whatever it is goes a bunch of places in your code and if you want to change it you’re stuck. So for me the central pattern in the book is Compose Method. There is 76 other ones, they are obviously really important or I wouldn’t have put them in, but that is the one that’s kind of the heart of it.

InfoQ’s Amr Elssamadisy reviewed the book when it came out and he concluded:

This is a book that is useful for both junior as well as senior developers - each will come away with something different. Those new to software development will see development through the eyes of one of the most talented developers today. Others with more experience will be able to reflect on why they do things the way they do - practices take on a different meaning by focusing on why they are done. Finally, tying the values and principles (but especially the values) to software development makes everything different - in a very good way.

In the interview, Kent also talks about the relationship between implementation patterns and XP, how patterns came into the software industry and various other things such as his view of the current state of the patterns community and why he believes that the Shu-Ha-Ri description of learning which Alistar Cockburn uses, is naïve and simplistic.

View the 30-minute InfoQ exclusive interview with Kent Beck on Implementation Patterns.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Wow. Kent Beck's Answers Are Great! by Mike Finney

Kent Beck's work changed my life for the better. Sure, others have too. He is a key person who has. Here he does it again.

Kent Beck comes through in this interview with deep insights about patterns, agile, Extreme Programming, and responsibility. I think this should be listened to more than once.

Kent Beck is so inspirational in this interview that I allocated hours of precious time to reflect on what I heard. I even wrote a blog about one small yet important part of it at finneycanhelp.blogspot.com/2008/01/xp-principle...

Note: There are typos in the transcription of the interview. So... listen carefully. :)

Michael Finney

Amazing by Arash Bizhanzadeh

This is really amazing. It is not just about the book but more like a philosophical insight to the programming

The Importance of Context by Franco Martinig

The main point in Kent Beck’s words is that you cannot use software development methods and tools without knowing the context in which you should use them. Every time you find something interesting and new, you should ask yourself why and when you could use it, and why and when you should not use it.

Kent Back is a SCRUM Monster :) by Sasha Milenkovic

Kent is one of philosophical leaders of our community, and now it is exciting time for our industry. The final goal is to bring computer interaction to final user without using programmers as a middle tier.

The story is related to religious and political questions, such as being selfish, or being equal. The revolution at the moment is about dropping the concept of metodologies, and accept patterns as replacement. Kent's prior books was really inspiring, and I think this book will be interesting too. I am just afraid of so much patterns if I could ever digest them all. All best to Kent. He and his friends brought us revelation.

Re: The Importance of Context by Remember Objective

hm, but why for so many years were the main exponents of xP repeating that xP was simply the best way to develop software, regardless of context?

The new context-driven attitude originates from Kaner/Bach/Pettichord, deep philosophical testers, not developers. Testers trying to throw off parasitic, useless formalism. Thank god for them, but they are still too formal for applications work.

Re: The Importance of Context by Ilja Preuß

why for so many years were the main exponents of xP repeating that xP was simply the best way to develop software, regardless of context?


I don't remember that they ever did that.

Also, to me, XP is at its core not about a method or tools, but about values and principles - which are much less context dependend.

shuhari by will gage

Kent Beck's answer to the shu ha ri question toward the end was on point -- namely the point that people don't truly learn by aping the rules until they have internalized them and then subsequently learning when to break from the rules. In fact, I have often found it rewarding to learn new techniques or problem domains without exhaustively learning all of the assembled wisdom about that area first. It can be really useful to just start, make your mistakes, form your own opinions first. Then go back and read up on what the experts have already pieced together about X (game programming, gui programming, whatever). At that point, your reading and learning is much more of a rapid sequence of "Aha!" moments because you see clearly why a given pattern works, rather than having to accept it blindly.

Re: shuhari by Olivier Gourment

I loved the talk. This short piece about Shu-ha-ri was good and certainly fun to watch :) What the Shu-ha-ri reference has brought to the table, was the fact that it takes time to learn and master an art, that you don't teach to a novice the same way as you teach an expert, that you never (and never should) stop learning and perfecting your skills. But Kent is right in saying that the repetition-practice is *just* one technique, among others. If you don't understand why you are using a technique, and nobody is explaining the reason to you, then you won't "get" it.
There are so many other things Kent says here that make sense, and are well said. This talk is definitely worth hearing.

Great passion by Elnur Abdurrakhimov

Man, Kent is so passionate about what he does, he almost cried at the end of this video. I respect him for that and wish to have more people in our industry with such a passion.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

9 Discuss
BT