hidden killer = right
Game maker is good for working on amateur work, prototypes and such but it takes up a lot of the computers processing time, I like game maker as this isn't something that concerns the average user, but in a professional sense you wont get that far it is a good learning tool though. Java is good in some ways as it is relatively easy to learn but again it has problems. The advantage of Java is that it is used on mobile games and is easier then C and C++, if you understand game maker code then you will pick up the basics fairly quickly. C++ however (specifically visual C++ as this one i know supports direct X SDK's etc.) is probably the best for game development it is used in all the higher quality games, it's not too hard to pick up once you understand Java. The main problems you will have with Java, C and C++ as far as working on games is that you have to make a big jump from game maker as you need to learn how to handle graphics and an engine more in depth.