4 ms·
I would recommend Python or if the Unix/Linux component isn't as important, JavaScript. JavaScript would allow your brother to share his creations with friends
by anotherjesse 18y ago
I would recommend Python or if the Unix/Linux component isn't as important, JavaScript.
JavaScript would allow your brother to share his creations with friends and learning the amazing (and at times frustrating world) world of the web.
- andrewljohnson 18y agoGo with Python. I taught my 7-year old nephew Python in an hour, but failed to teach him javascript. There's just too much to type and explain. Also, it's easier to explain to someone if you have an interpreter going and they can see the results.
- racyrick 18y agoYes, I second that the interpreter is easy to show people basic things. The cocos2d stuff with the interpreter are really informative.
- amichail 18y agoI would say Python also. But why do you care about the Unix/Linux component? Better to focus on non-OS specific stuff. After Python, you could also try teaching him Scala.
- russell 18y agoPython is a good choice because it is clean, easy to learn, and has a large choice of libraries like pygame. It is important to choose a language that encourages good programming practices. For that reason PHP and Basic are bad choices. Some of the worst code in the world is written in PHP or Basic. I would also stay away from languages like perl. Avoid languages like C++ or Java because there is so much to learn before you can produce a simple Hello World. There is no reason to learn OOP to do a simple task. I think JavaScript would be a reasonable second language. He should learn programming firs before having to deal with browsers, the DOM model, and OOP.
- bprater 18y agoI think many of you have completely forgotten what sucked you into hacking. Here's how to get a kid hooked on programming: 1. Programming should be fun. 2. Programming should be fun. 3. Programming should be fun. Who really cares if a child isn't using "good programming practices"? When I started writing code, it was downright shameful. But in time, my internal desire to advance my art led me to nuking my globals and having some kind of naming standard. Eventually I fell in love with elegant languages. Give the kid a fire. Let him decide if he wants to improve himself over time. When I started, I just wanted to make games. Not learn Greek. Kids just don't care about Python or Ruby's elegance.
- walterk 18y agohttp://processing.org/ http://processing.org/
- manvsmachine 18y agoReinforcing good practice shouldn't need to negatively impact having fun; some would argue that Python's strict enforcement of syntax and structure means one less thing for the kid to worry about deciding for himself, thereby reducing the complexity of learning. When you're just starting out, having some (meaningful) rules in place can be a good thing.
- bprater 18y agoI would suspect a good IDE might be better than a headful of little things a kid has to remember. ("Hey buddy, see how you missed the ; here, better add that!")
- Scriptor 18y agoJavascript is interesting but it has many quirks and powerful features. I'd say start with Python first, since you can start off with just the language. I actually enjoy writing in Python myself because I feel that it pushes me to stick to coding standards. Also, Python's class-based OOP might make more sense at first to Javascript's prototype system. Good Javascript programming requires coding differently than you would in Python and C, you have to understand and use strange but cool features like closures and prototypal objects.
- andreyf 18y agoClosures aren't that weird, and JavaScript makes them a lot more easy to understand than Python...
- nailer 18y agoSince making stuff should be fun, I'd recommend Python with the Facebook API. It's really easy to learn and allows him to show off to his friends.
- eru 18y agoOr go with the PyGame API.
- michaelneale 18y agoI think the ability to "show" something is important for probably 90% of people - that doesn't mean they won't become deeply interested in programming in general, its just that they view it as a means to an end, and I think people underestimate how hard it is for beginners to make something that "works" in a cross platform way, enough to inspire them to keep going anyway. In some ways I almost think javascript in a browser is enough, you have firebug and its shell, and you can immediately show hacking around etc.. Of course, there are some who the mathematical pleasure is really what they are after, in which case I would think haskell - and it has the bonus of a very simple syntax that really doesn't look like a "programming language" - at least what most people think.
- alnayyir 18y agoI'll second python, even though I learned the C route. I'm a stubborn bastard, only reason I kept going.
- racyrick 18y agoI also recommend Javascript. Go through a tutorial manual (yes, because that is how he will learn without you) and then learn stuff about canvas or use an api like jquery. There is a lot of explanation for any language, but with javascript there is a compiler/runtime on every computer.