I highly recommend learning either Python or Java first; they are both easy languages to grasp and have massive support communities. Java also forces you to understand object oriented programming, which is very prevalent.
Knowing C is far less necessary than it used to be, but learning assembly is almost useless now.
The only people who need to know assembly are people trying to modify programs with no available source, and people working on very specific applications for embedded systems. It is nothing like C or any other language, and it takes years to become comfortable with it, let alone proficient.
The idea of recommending assembly to a beginner who works in QA is ridiculous.
I recommended C first, and then assembly.
More people need to fucking learn assembly. The fact that nobody is learning it is killing game piracy and cracking. It is anything but useless.
Anyways, my point is, if you know all of those things I mentioned, then learning anything else is cake. There's almost nothing you'll come across in other languages that aren't in those.
Anyways, I'm not proficient in assembly, myself, but it took a few weeks to learn the basics, which is all I'm recommending to OP. It helps to know how things operate behind the scenes.
Telling someone with minimal coding skills to learn ASM and C++ is like telling a baby to fly a jumbo jet.
Also yes Java is still very popular in business applications. Not sure why you'd want to learn HTML5 unless you are developing websites. Might as well throw CSS on that list of everything.
Also what purpose does knowing ASM have unless you plan on cracking software. Your suggestions are confusing and misinformed.
Yeah, forgot CSS. I did already clearly state that HTML5 (along with PHP and JavaScript) is for people who want to learn web development.
And Jesus Christ, what a bunch of fucking pussies in the development world today. C++ is easy as fuck to learn; you don't need any prior experience for that.
ASM is hard, but not *that* hard. A couple weeks dedication and you'll have the basics down, at least. The shit's not rocket science. Start by learning to code for the c64 or something; even if the code isn't portable at all, once you have the basics of one instruction set down, it's not so hard to wrap your head around the others. ASM is weird as fuck and complicated as shit, but it's not that terribly different than using a compiled language otherwise. I wouldn't want to have to write a decent program in it, but I feel like it's good to know how it works, because you will come across it.
Is good for cracking software, yeah, but it's also good for plenty of other stuff: writing homebrew for unfamiliar hardware, making retro games, ROM hacking, playing around with operating systems...