I would certainly agree that if we are talking about programming you cannot really expect everything to end up being web applications. As an extreme example I am working with SIM cards and sometimes have to write code in pure Hex. Why? Because in some occasions is much faster since the tools used are not perfect. The same concept that if you had a micro-controller where you couldn't write C code but you had to write asssembly code you would do so. Maybe it is not cost-effective to have a compiler/program to support C code for example. Maybe your company will develop it at a later stage.
Web apps have some downsides and limitations. Speed was already mentioned. Loading speed for your browser might be another. Making Need for Speed a web-app instead of a desktop application would be ridiculous. You get my point. It is nice to be able to run a program as a web app, but if you are actually going to use it everyday then I think you would prefer it as a desktop app. MS went towards the web app with Silverlight, but I don't think they would actually stop having MS Office or Visual Studio as desktop apps.
But of course both have their place. Web apps are mostly suited as small apps, that you might not use a lot of times or for apps that are tied with the internet.
The value of web applications has been overstated, mostly by web developers looking to create some get-rich-quick Web 2.0 abomination. I'm probably just bitter because the timesheet software I have to use for work is fairly unreliable.
Anyway: C / C++ / C# still seems to be the modern programmer's power triad
Personally, I use C++/CLI for legacy support and the use of template libraries. Being able to use metaprogramming techniques with the relatively well-tested .Net libraries leads to some pretty sweet code. In my mind, you've got so many options with C++/CLI. Got a C++ library and a .Net library that you need to put together? Write a mixed-mode assembly that uses them both.
The only thing in C++/CLI that I miss from C# is anonymous methods. Writing your own closure capture classes isn't difficult; it's just boring, time-consuming boilerplate code. Anonymous methods saved you from that.
If I did your homework for you, then you might pass your class without learning how to write a program like this. Then you might graduate and get your degree without learning how to write a program like this. You might become a professional programmer without knowing how to write a program like this. Someday you might work on a project with me without knowing how to write a program like this. Then I would have to do you serious bodily harm. - Jack Klein
FYB: IIRC, you were the one writing simulation code in ADA for Raytheon at one point?
(I also seem to remember a separate side project called Vinculum, but I don't remember).
I'm not immature, I'm refined in the opposite direction.