Функциональные указатели в C.
Сначала я выучил C, но не указатели функций.
Затем я начал программировать на ассемблере около семестра в университете. Тогда я использовал указатели на функции, даже не зная о них. Почему-то они кажутся мне естественным в ассемблере. Мне приходилось объяснять их учителям несколько раз, потому что они их не понимали:).
Затем я вернулся к Си, и откровение поразило меня.
Теперь я хваляюсь в методах Java, дженериках, позднем полиморфизме и подобных "волшебных" вещах.