I don't know if this helps, but when I was at University, many years ago, I had a data structures class and decided to use Lisp for the course-work. We could use any language, and most used C or Pascal (C plus-plus was young then, and Python not yet born). The major project was red-black search tree implementations. My code was vastly smaller than that of my peers (but probably not faster), and it was very elegant, but not at all easy to fathom. Others would turn in thousands of lines of code, and mine was rarely more than could be printed on one or two pages. It was an amazing experience. The recursive nature of a lot of data structures lend themselves well to the inherent recursive nature of Lisp and Lisp-like languages.
[ mk, I had to spell out C plus plus. Is there a way to not have the plus signs swallowed by the markup? ]