3 ms·
For me the best bit on that page was in the comments: “I’d be very careful not to underestimate kids. If you don’t tell them something is supposed to be hard,
by imurray 17y ago
For me the best bit on that page was in the comments:
“I’d be very careful not to underestimate kids. If you don’t tell them something is supposed to be hard, they will astound you.”
Yes! The first step to achieving something, is believing it is possible. Seeing good motivational examples can help with that, so I agree: suggest widely-used languages to kids.
- ajross 17y agoBut there are limits. Kids aren't going to understand decorators or list comprehensions. They aren't going to get the point of doc strings. They don't want to deal with packages and namespace issues in every piece of code they write. None of this stuff existed in BASIC. As a kid in the 80's, I could read code in magazines written by professionals (of sorts) and understand every line. There's nothing like that in the modern world.
- stevejohnson 17y agoKids aren't going to understand decorators or list comprehensions. They aren't going to get the point of doc strings. Define "kid." I know middle schoolers who could get this stuff. I reject the idea that loops and functions are "easy" and other various language features and concepts are "hard." There are some things which are going to be out of reach, but it's not going to be the same for everyone, and what those things actually are might surprise you. And seriously, how are list comprehensions difficult to understand?
- ajross 17y agoIt's not whether it's "hard" or not. It's the sheer volume of complexity in a modern development environment. Seriously, look at the manual to Micro-soft BASIC c. 1980. It's about 12 pages long! I know professional python developers who sometimes have trouble reading the "new" stuff in code they see on the web. Someone just learning the language is going to be totally lost. That's just not a problem in Applesoft; read your 12 pages and you're done. Go code.
- mechanical_fish 17y agoHuman languages like Chinese or Hungarian or English have a greater volume of grammatical constructions, irregular forms, vocabulary, and semantics than any computer language, and yet toddlers learn them all the time. Now, I wouldn't claim that humans are wired to learn Python the way they're wired to learn a human language. Nor would I claim that every child under ten should necessarily be able to navigate Python -- the majority of adults I know cannot navigate Python, or even BASIC. But: I’d be very careful not to underestimate kids. If you don’t tell them something is supposed to be hard, they will astound you. I'm only about four chapters in to Coders at Work, and yet I've already encountered Brad Fitzpatrick, who claims to have learned to program before he was five. When I was a high school senior I met one or two nine-year-olds who could kick my ass in mathematics competition. I myself will never know how much Python I could have learned before age ten -- I encountered my first computer, a C64, when I was about eleven -- but I do know that by age 14 I had gotten bored reading about BASIC and had taught myself assembly and Pascal (though I had to learn Pascal entirely from books, writing programs on paper, because I didn't encounter my first Pascal compiler until I was 15, several years later).
- AlSweigart 17y agoYou can be blissfully ignorant about the advanced features of Python and still program small games, just as you don't need to know everything about BASIC's syntax in order to code in BASIC. The problem is that most books about Python are aimed at adults, when you can just as easily make them for kids. (Which is what I did, and released it for free under a Creative Commons license at http://inventwithpython.com http://inventwithpython.com )