| Not JavaScript – Prototypal inheritance is interesting and powerful. However, overall JavaScript does not afford good programming practices and does not cleanly expose important re-usable programming concepts. Between the good parts of JavaScript, there are nasty surprises. I think python is a good first language for a few reasons. 1. Overall the syntax is clean, concise, and readable in the sense that the actual code can be close to "sudo" code, or that it is somewhat similar to what what you might encounter in a mathematics class. 2. From Wikipedia: "Python supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library." All of those programming paradigms are important to understand and few languages capture all of them as nicely as python. Also, static typing and memory management are important to understand – yet, mostly distracting while learning a first language. Python removes the distraction. 3. Python's strict white space rules will force you maintain a somewhat consistent code style – something that many new programmers are awful at. This list is not exhaustive, just some thoughts. |