I would say that learning a few languages is necessary to realizing what type of things different languages excel at. For instance I didn't understand why java would never allocate objects on the stack until I read about using object pointers in C++ to lower compilation dependecies. This helped me to understand the trade-offs involved. I also used to like perl until I got to know Pythons compactness (perl sucks by the way). On a broader stroke, learning a language is NOT about learning the syntax (although that is a requirement) it is about learning that languages style, coding practices and what API's are useful in your domain. That should be your guide as to when you have "learned" a language, when you can answer more questions than you have about a language's style, coding practices, and API.
-- Jeremy Greenwald __________________________________ Yahoo! FareChase: Search multiple travel sites in one click. http://farechase.yahoo.com -- http://mail.python.org/mailman/listinfo/python-list