Live data from Hacker News

Ask HN: What programming language should I teach my little brother?

news.ycombinator.com

51–60 of 119 posts

Re: Ask HN: What programming language should I teach my little brother?

#51
post #31
post #27

Earlier quoted context omitted.

Second on the idea that it should be quick and easy to make useful stuff, but I have to disagree on PHP. Most of the example code out there is terrible, out of date or both. It's very easy to make a mess in PHP. Python seems to be the teaching language of choice these days, and it lets you do useful stuff without getting in the way. It's certainly not the only language to learn, but I'm inclined to say it should be t…

Yeah, PHP isn't an excellent language but it does do one thing and do it well. Just 99% of examples or scripts you find are absolutley horrible. Seriously, I've seen blog posts on PHP from IBM which contain bad programming practices.

Let's keep rehashing how a language creates terrible code and how none of it has anything to do with the guy sitting in the chair pushing buttons.

Seriously, can we just nuke this argument?

Re: Ask HN: What programming language should I teach my little brother?

#52

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.

Since 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.

Re: Ask HN: What programming language should I teach my little brother?

#53
Squeak (http://www.squeak.org/) is fun. It's designed for teaching, has lots of high level libraries available and it's simple (everything is in one system).

This isn't going to do much to help with Unix/Linux mind, but as someone else pointed out programming is supposed to be fun.

Re: Ask HN: What programming language should I teach my little brother?

#54
If he's a little on the fence whether he really wants to get into programming, I would start with something where he can do stuff that looks impressive with relatively little effort.

C is a horrible choice by this standard, starting with the modify-compile-crash development cycle and especially once you get into manually managing memory.

It's not really coding per se, but HTML is a good thing to get a feel for whether you get a kick out of bending a computer to your will, and would let him show off his creations to his friends. He can also earn some spending money if he gets proficient.

After that he can get into JavaScript and maybe something like JQuery which makes doing more complex stuff much less tedious.

At that point he can probably decide if he wants to learn "real" programming, and you can introduce him to scripting languages, compiled languages and whatever APIs and frameworks he is interested in.

Re: Ask HN: What programming language should I teach my little brother?

#55
post #20

python or ruby are good choices. They can be used to do UNIX scripting, and each one has some really cool modules to do graphic stuff. I'm learning ruby just now, so that i can do GUI programming with shoes, and im using _why's guide: http://poignantguide.net/ruby/index.html I don't know which one is better for a 13 year old, just pick the one you know better.

Seconding Ruby, just for _why's guide. I've never read anything that makes me so immediately enthusiastic about coding, and it still has that effect when I reread it. I wish I'd known about that as a kid.

Also consider Hackety Hack from _why. It is very involving, giving step-by-step instructions and crystal-clear explanations (like TryRuby).

http://hacketyhack.net/reality/

Re: Ask HN: What programming language should I teach my little brother?

#56
post #48
post #44

Earlier quoted context omitted.

Python 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 bef…

I 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…

http://processing.org/

Re: Ask HN: What programming language should I teach my little brother?

#57
post #13

I realize I'm sounding here like I've been seduced, but I truly don't understand why you would want to teach any first language other than Python.

Do you understand that ruby is similar to python, and some people consider the differences to be advantages?

Also, there are arguments that Lisp is better than everything else. Especially when the goal is to learn something (rather than get a product out the door, which makes it more important to have existing libraries, and to be able to hire people who know the language).

Re: Ask HN: What programming language should I teach my little brother?

#58

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.

Javascript 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 w…

Closures aren't that weird, and JavaScript makes them a lot more easy to understand than Python...

Re: Ask HN: What programming language should I teach my little brother?

#60
post #48
post #44

Earlier quoted context omitted.

Python 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 bef…

I 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…

Reinforcing 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.
Post reply on HN