I didn't mention Lua for a couple reasons. #1 its Objects are abysmal, and Object Oriented programming is important to learn. #2 everything is a map (table). That's fine for scripting, but not for learning. Learning data structures is important. #3 its library support isn't great. It doesn't need to be for its primary purpose, embedding. But learning, at some point you're going to want to write a GUI or web server. Lua has 3rd party libs for these, but they're not nearly as common or well-supported, and hence not easy. Lua is a great language for embedding (and disconcertingly fast), but it's not going to teach you a lot of fundamentals you really need to know. That said, if you want to write a WoW or LuaCraft thing, by all means, teach yourself Lua and do it. Having fun is the best way to learn. I agree, both Python and Ruby have a lot of features learners don't need to think about. But I'm not sure there's a better language. Basic comes to mind, but Basic has some dreadful stuff. Goto? On Error Resume Next? Do not want. There's a reason VB has such a bad rep. Alternatively, you can just dive into Java. Alternatively, start with the SICP and Scheme and get a reputation as a misunderstood genius (I'm kidding – don't do that).Python is that it might seem quite daunting to newbies