If you're looking for Java or C/C++/C#, then you will have a much harder time with this than if you looked at R, Matlab, or Python (with Scipy).
For those other languages, I recommend:
- Java: Weka is one of the most complete data mining libraries out there. Fortunately, it also comes with a very good book -- "Data Mining: Practical Machine Learning Tools and Techniques" -- that covers the field of data mining. They just came out with a new edition.
- C++: In my experience, the most complete, well-documented library for this is Shark. Just one note there: it currently going through a pretty major revision as they start to use Boost to replace their existing Array library.
In general, I don't know why you wouldn't use R for this. It's freely available, very complete, has lots of documentation, and can be easily interfaced from Java (RJava) and C++ (Rcpp). Plus, if you're using "The Elements of Statistical Learning": that textbook used S-Plus/R to do all their analysis. And R is the only langauge that I know which includes all of the algorithms from the book (including things like lars, which was created by one of the book's authors). And I am starting to slowly reproduce most of the key examples from that book in R on my blog.