I think it comes down to this
a) People have their preferences - Totally unrelated to whatever the current hip buzzwords are (or driven by them)
b) People have their own personal/professional experiences which usually reinforce their view on the software world
c) Based on this, 2 people with vastly different experiences can have two completely different outlooks which while at first glance seem polar opposites BOTH are valid and have a place.
NextGen seems to be coming from a world where the emphasis is on using the latest and greatest so to speak to deliver (webbased/webenabled) user-end "applications" while arhks perspective is more from the lower level device/systems development arena. It's very similar to 3-tier application development - You've got your Front End UI, your business logic and your database backend. If you were to talk to people who work on these layers you'd get 3 different viewpoints on the world, which while seeming different all are valid. (I've been all over this map so it's easy for me to see all angles)
I personally disagree C++'s portion will be minimal. Yes there's a lot of 'new' projects going on with other languages, but go walk around at the MS Campus, Amazon, Intel or any of these places and what you run into is boatloads of C++. (even if you look at jobs at google itself they ask for tons of C++). I still get inundated with emails and calls for C++ projects. Also with languages like VB being 'easier to pickup' for people who may not have the natural inclination/talent for it (I'm sure you know quite a few people like this where you wonder why they even do this for a living since they suck so badly at it,nor do they seem to enjoy it...), there's way more people doing those types of jobs than C++ jobs which makes it fairly easy to find something to do in C++.
I think the lines between 'application development' vs 'Web development' have gotten blurred over the last few years (on purpose, especially nowadays with ajax etc). A lot of the items NextGen Mentions, to me are (or at least a few years ago were) considered 'web development' and not application development (which to me implied to reside on the client machine instead of served up in a browser etc). I've done plenty of web development over the years (asp/
asp.net/php/perl/JS/java / lamp stack etc) even at one point - before google even existed - wrote my own searchengine. (should've sold it! lol) I just didn't like it as much as straight up C++ development.
Also even in that realm - UI Development is boring to me - any idiot can slap some boxes on the screen, or do some fancy drawing - I get more satisfaction from a good architecture of the project, proper design patterns and efficient algorithms etc. (the stuff most users would never even see). So instead of switching what I did every time a new popular thing came out I decided to simply stick with C++ and make my living that way. Only the last 5 years or so have I voluntarily moved into the C# realm for windows development since it made my day to day work of windows based apps so much easier.
Even using that though is sometimes a struggle with customers who are so locked down that they don't allow much of anything to happen on a machine or have a outdated system requirement of nothing above win2k SP1 etc. A simple webservice call? Forget it.. auto download an update? forget it - Running an app in a webbrowser that interacts with contents or hardware devices on the local machine? no way in hell. I've even had request to 'rewrite' our current software to use straight up C++ so that the customer would not have to install the .NET Framework, or add support for 'Office 97' (talk about taking a step or 5 backwards to support 13+ year old software) lol
As far as HTML5/Java? If that's your market, then yes that's what's up & coming and good to learn. For me though it's not applicable - I can't run HTML5 or Java on a 2kb embedded EEPROM of a device that only supports C++ & Assembly, nor do a lot of my customers want anything to run in a webbrowser for their actual client applications. I've been told many times to my face - "I don't care if you have a web-app that works with multiple devices in a browser (which I did make & offered)- we want a 'native' solution".
All that said - I again want to iterate everyone is 'right' here , because it applies to them and part of the software dev market they deal with;
In the end the actual language is just a 'tool' like a wrench is to a mechanic. The good "mechanic" can switch tools when required (by market or requested by the client) with relative ease because the principles & foundation of software development carry over. However, if you have a favorite tool that you like to use there's nothing wrong with that (be it C++, HTML , Java or ASM).
And there's plenty of work for everyone so that everyone can use whatever tools/languages they please and still make a living. And the more languages you know, the more flexible you are and the more projects open up to you - I'm just a stubborn guy who prefers his C++ & C# with a sprinkling of ASM and says : screw the other projects... I'm too busy anyway for more work! lol

(But when I need to fix someone else's work it sure is handy to know PHP/JAVA etc etc)