I've taught myself programming using Game Maker. I got really good at the Game Maker language (gml), and then decided to try a new language. I've since been fooling around with JavaScript and all this canvas hype. Now I'm pretty fluent in Java, golang, and C++. Can t wait for Rust-lang to finish because I'm getting sick of C++ for game making.