tags:

views:

196

answers:

3

I have a great manager who was a procedural coding wizard in his day. He is now faced with managing a team which uses object oriented programming in both .Net and Java. He struggles to understand a lot of the patterns and terminology we discuss. I am wondering what experiences SO members have had with helping others with this transition.

I am also looking for great procedural -> OOP code examples that can show him how procedural code can be rewritten to be OOP. I have provided him with the opposite, meaning I took OO code and turned it into procedural but I am looking for code examples others may have used that were found to be effective for learning.

Finally, any books that people can recommend that are written for people going through this transition would be appreciated.

I was not sure if this constitutes as a community wiki. If so I can change it.

Thanks!

+6  A: 

Martin Fowler's Refactoring book is all about how to take procedural code and refactor it to be more object-oriented in small, manageable steps. I found it very useful for just the sort of thing you describe. If I recall correctly, the examples are all in Java, but are easy to apply to other environments.

Joel Mueller
Great Book, thanks!
northpole
+2  A: 

I've never understood why people talk about OOP or procedural as if they are mutually exclusive. I mean, in OOP you have your classes etc but the class methods are usually procedural in style. They are just fancy function calls. I used C/Pascal for years and most of that stuff is still applicable in OOP languages. Any intro Java or .NET book will have enough examples to bring him up to speed on basic OOP terminology.

20th Century Boy
A: 

My best experiences were being involved with discussing code. Presuming you have code reviews, or design meetings, these are the settings where the constrast is likely to be the most telling.

(Assuming you are doing excellent OO design, and not just wrapping procedural code up into namespace classes. But Fowler's "Refactoring" book is going to diagnose that nicely for you.)

Note: Not necessarily a CW, IMHO.

le dorfier
Prithee, what's a CW?
steamer25
Community Wiki methinks.
20th Century Boy
Hams will recognize it as Continuous Wave (i.e. Morse Code) :)
JoelFan