So I guess most (all?) programmers start out learning a mainly imperative/ procedural programming paradigm, and probably learnt some form of object-oriented programming fairly shortly after that. I've read plenty of questions on stackoverflow suggesting functional programming is increasingly important for improved concurrency/ parallelism. Also that programmers should learn many paradigms to improve their skills and broaden their perspectives.
What are some other paradigms (and languages that use it) that are really beneficial to development skills?