What book(s) will you recommend if the goal was to learn
- Different language paradigms (OO, functional, ..)
- Different concepts (dynamic/static typed, immutability, ..)
In short, i'm looking for a book which describe and compares different language paradigms and concepts possibly with examples for real languages like Java, Lisp, Erlang, Ruby, Prolog, etc.