Reasonably comfortable in Java though not used it much for the last few years, much more comfortable in C#.
I decided to go the book route because I've found that when learning a new language the book route works better for me since it gives a structured walkthrough of the language rather than a piecemeal one and it's more time efficient.
YMMV but for me you still can't beat a good programming language book.
Both allow the massive freedom of something like a Lisp but you get to leverage the massive existing codebases in both environments.
Reason I ask is because I'm just starting to learn Kotlin (or will when the book turns up from Amazon) and I'm curious.