Even the technical sides are of dubious quality. Let's take Computer Science, my field, a lot of schools are pushing OOP-philosophies w/o instilling a proper understanding of what they're for and where they're useful, this to the point where many new field-entrants (graduates/new job seekers) cannot see the value in something like Ada's subtypes, which focuses on excluding values rather than including [new] values. This is particularly disturbing given that any CS course should expose a student to enough math that they instinctively see the value of excluding values. (Excluding values is used all the time in mathematical proof; e.g. "for all positive integers..." excludes negative integers as well as all non-integrals & zero.)
Another indictment is the popularity of C-like languages in the professional field, to the point that many non-C-style languages are dismissed out of hand by hiring companies because "we can't find programmers for language X". {For example, LISP was used for Yahoo's stores but then recoded in C++ & Perl} -- if the universities were doing their jobs then new graduates would be able to see why C-like languages are terrible for production code (some companies have even developed their own version of the C++ Standard Template Library [STL] to address some of these deficiencies: link.)
Even the syntax is geared against humans who are prone to miss '=' vs '==' when typing (or reading) fast and, combined with another misfeature (allowing integers [and pointers] to directly control if-statements), means that if (x = 32) ... will perform the assignment and execute the TRUE portion of the conditional, creating a particularly irksome bug; and then there's many, many "implementation defined" things (like the sizes of int & long int, they could even be the same) at the base level that render code very unportable.
If you want an app that runs almost as fast as assembly language then C is the way to go. If an app is handling extremely high volume and throughput C is the best.