One mandatory course I took in uni was about functional and logical programming languages (Haskell and Prolog). It was mildly interesting, and most I talked to showed even less interest to the course (or even to learning any very-high-level languages, for that matter). The general consensus was that it is enough to know the common languages such as C, C++, Java, Python, etc.
But are these kinds of languages underestimated? Should all programmers learn at least one very-high-level language, even though he or she may never have any practical use of it?

bashorcmd? Those are pretty high-level. – Mechanical snail Oct 11 '11 at 3:55