The idea that one should experience different types of programming languages is fairly well known. But there are wrong and right ways to use any given language and reaping benefits depends on you using it the right way. But how one should know whether s/he is using a language correctly? I suggest the following, decreasing order of effectiveness (1) find a mentor who deeply understands the language, (2) read programs by those who deeply understand the language, and (3) read writings by those to deeply understand the language. As you might expect, a mentor is by far the most effective method. However, you can still do quite well without one. Between Paul's
On Lisp [1] and various online resources [2, 3] one can still do quite well.
The above actually applies in most areas of our profession. For example, how sure you are that you are using Vim/Emacs in the right way? Do you actually understand how to think in the way these editors want you to think [4]? I find these thoughts deeply humbling. There is a reasonable chance that you don't fully understand the languages or the tools you use and thus always an opportunity to improve.
[1] http://www.paulgraham.com/onlisp.html
[2] http://www.xach.com/naggum/articles/ (a filter: http://xach.livejournal.com/221433.html)
[3] http://lists.common-lisp.net/pipermail/pro/
[4] http://stackoverflow.com/questions/1218390/what-is-your-most...