I'll take Java over C++ any day, especially as a teaching language, but I'm very disappointed by how difficult it is to use the standard open source Java web programming toolset in the classroom. Students of mine at U of Toronto are trying to build a baby version of SourceForge using Tomcat, Hibernate, Tapestry, Eclipse, Ant, and JUnit. They're in their final year, and all have strong GPAs and/or industry experience, but it took most of them 30-40 hours to build a (very) simple book lending system. Almost all of that time was spent wrestling with classpaths and XML configuration files, rather than learning anything useful about building modern web applications.
30-40 hours may not seem like much, but it's a third of the total time available for a one-term class. I don't think (and I don't think most other instructors think) it's either fair or sensible to spend a third of a course just getting stuff set up. In my opinion, if this "learning wall" (it's more than just a curve) isn't fixed, Java will never be a sensible choice for college-level courses on web programming. This means that students will never graduate already knowing how to use it, so companies will always be faced with the cost of training new recruits. The upshot will be that only the big ones will be able to afford Java, and since big companies mostly do conservative things...
University of Toronto