In October 1995 I had the good fortune to attend a workshop on Design Patterns given at the OOPSLA
Conference in Austin Texas,
given by Erich Gamma, John Vlissides and Richard Helm.
This workshop had a profound effect on my subsequent work.
Despite much experience, I had found OO and C++ difficult and unrewarding. It was hard to get the code generic.
Design patterns felt like discovering recursive descent
or variant records (or indirect go-subs in the mists of time).
Finally there were ways of programming generically and, what is more, being able to talk about it with a standard vocabulary.
Once you start to use factories and composites there's no looking back.
Add to this the workshop on Java given by James Gosling at the same conference and it was time to leave C++ behind.
What would Alan Kay say to that?