I've used C++, VB, GML, Java, and I prefer VB. I started off my computer experience with QBasic, so that helped me get the logic part of programming down... C++ was boring to learn because my classes never got around to the graphics side of it (bubble sorting, oh yey ). Java was taught to me by an Asian professor with a thick accent, so I didn't really get far in it... Plus, I had to keep referencing the commands on Java's site, which was tedius. GML, I don't have much experience with.
VB just seems to make most sense. I like the built in controls, and you can see what you're creating (In form design).
I don't know how easy it is to program DirectX games, (or openGL) in VB though, I know most game programmers use C and C++ for that, so it has to have some positive aspect to it
Bubble sorts are awesome.
As for which language you should learn, it entirely depends on how much you're planning on doing with it. As you said, C and C++ are great for games because of DirectX. I'd imagine you can make pretty much anything you like out of most major languages, but some are better suited to certain types of job than others. For quick, simple games Game Maker is fantastic. If I wanted to make, for instance, a Pacman clone I'd use Game Maker simply because it's ideal for that sort of game. Sure C/C++ could do it as well, but why bother going for that layer of complexity when you don't need to?
Similarly, for multiplayer games (online), GM is far outclassed by pretty much every other language out there. If you use some DLLs for it then you can make a pretty decent game, but that's only because you brought another language in to make the DLL. The difficulty of a programming language compared to another depends on what you want out of it. Machine code is capable of doing everything, and is almost certainly more efficient at it than any language you care to mention, but the difficulty in making anything out of it when there's other methods of doing it out there just doesn't make it worthwhile for most projects. In terms of learning a programming language, the more complex languages will, of course, be harder to learn than simpler ones. It opens up more doors for those who want to do more, however, so I reckon it's still worth it. I wouldn't dream of making a MMOFPS with GML, for example.