Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Possible Duplicate:
What are some good tools for introducing kids to programming?
Explaining programming to a child

I have a 12 years old brother whom asks me how he can build a website, a game and other things like that. So, I decided to teach him how to program.

But, I honestly don't know how to do that.

Can I begin with a language like Ruby or it's better if I teach him C?

And, where can I found tutorials about this for him?

share|improve this question

marked as duplicate by gnat, MainMa, Matthew Flynn, Doc Brown, jmort253 Aug 19 '12 at 17:27

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3 Answers

Start with something fun and simple with all the difficult details abstracted (in that regard, I would emphatically not recommend C). My first programming experience was in RPG Maker 2003, when I was about 12 years old. It was fantastic because I got instant results with relative ease, but along the way had to learn how to debug, how to think like a programmer, how to work more efficiently, and such things.

Basically, if you start him out on C or Ruby, what is he going to make that's particularly inspiring? Nothing, at least not for a while. And that might hurt his enthusiasm. Pick the easiest and most instantly-gratifying thing possible (maybe Visual Basic), and once he gets comfortable in a programmer's shoes, show him what more he can do in more complicated languages like Ruby or C.

Having something to show someone else that he thinks is cool really can not be stressed enough. I felt like a god the first time I put an HTML page listing my favorite movies on the internet for anybody to see. Much more inspiring than a C program to remove all the superfluous whitespace in a text document.

share|improve this answer
I got my first exposure to programming in RPG Maker for the Playstation when I was like, 10. I remember having to come to grips with the fact that events didn't just stop firing because I expected them to. I had to actually declare a boolean switch and flip it/check it =P – KChaloux Oct 3 '12 at 18:04

The language itself is only one small part of the answer, and not the most important part. If he's having fun, he'll plod through a lot of crap to see the thing working. How many RPGs have mind-numbing resource grinding? Yet they're popular because, at the end of it all, you've achieved something you wanted.

So the question is: what should his first project be? A game that's easy to mod could be a good start. Last I checked, UnrealScript had great tooling and was used for lots of games. And a community that creates lots of cool stuff is Scratch.

In the end, your goal should be to give him "the bug." What's the bug? Here's how Richard Feynman described it, on some of the first computers ever during World War II:

Well, Mr. Frankel, who started this program, began to suffer from the computer disease that anybody who works with computers now knows about. It's a very serious disease and it interferes completely with the work. The trouble with computers is you play with them. They are so wonderful. You have these switches - if it's an even number you do this, if it's an odd number you do that - and pretty soon you can do more and more elaborate things if you are clever enough, on one machine.

...

But if you've ever worked with computers, you understand the disease - the delight in being able to see how much you can do. But he got the disease for the first time, the poor fellow who invented the thing.

And Fred Brooks, from The Mythical Man-Month:

The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.

share|improve this answer

I recommend www.codecademy.com/. Nothing to download and configure. And it starts as basic as you could want.

share|improve this answer
If you do not know how to install it what good is the language? nice web site though as you can learn from anywhere without worrying what version of python the system has or does not have. Though there are not any lower level languages presented that is a shame – Joe Aug 19 '12 at 17:16
Well, learning is different than utilizing. The trick to teaching programming to an absolute beginner in my opinion is lowering the barrier to entry as much as possible. Someone who is brand new isn't going to fight much with their set up if something isn't quite right, they'll just quit. This site does a good job of introducing concepts, teaching. Once they start to get it, then start looking at full fledged environments. – Matthew Vines Aug 19 '12 at 17:20
Hi Matthew, consider adding your comment as part of your answer. IMHO, your comment provides much more compelling explanation as why you think your answer is correct than your actual answer does. Since your answer is barely more than just a link, this would greatly improve it. Good luck! :) – jmort253 Aug 19 '12 at 17:31
The counter to that for me what if they loose interest as it is not teaching you how to run or make a program outside of there "little window in the web browser". From a beginners perspective I found this type of thing discouraging when I started visual basic when I was 12. – Joe Aug 19 '12 at 17:37

Not the answer you're looking for? Browse other questions tagged or ask your own question.