and do real development in it for 3 years. It changed my perspective on everything. I also took a programming languages in grad school which also at least introduced me to some other paradigms. These kinds of things really expand your thinking. For example, most of the Java programmers that I work(ed) with find absolutely nothing wrong with primitive types, they don't even realize that other languages have no such concept and that this might be a good idea.
When I used to interview people for Java programming positions one of the questions I used to ask was "Do you think primitive types are a good thing in Java?" If they could at least explain the issues involved it showed that they had some understanding of things. You wouldn't believe how many people did not understand the question.