@dabeaz

Several did this for me. They won't be too surprising, as they are paradigm shifts for many people.

To a small degree, object-oriented programming was such a shift.

To a larger degree, functional programming.

Event-based programming.

Generator expressions.

A whole parcel of concepts from statistics.

Promises, futures, and other collaborative asynchronous programming.