Table driven programming was the cornerstone of my existence. I created tables to drive the logic. Then I handed the tables off to the junior people to maintain. That meant I had to create an interpretive engine for the logic but it worked for me.

But then I saw things that were OOP intrinsic. IBM built a printer stream language based on OOP inheritance. It matched the language perfectly. So then my brain fell into applying OOP to the problem. Then it enabled me to think that way. I could see where it was incredibly productive for this particular problem.

But not most of my problems. Most of my problems were straight code or table driven. But in occasional problem really loved an OOP approach.