Hacker News new | past | comments | ask | show | jobs | submit login

Call me old school, but I would start off with Basic. If he was younger I would recommend Logo. Once he's hooked I would get him into C or pascal.

I can't recommend enough getting him a "Basic Stamp" kit. Seeing how software can control hardware is magical. Then work him up into "Arduino" world in C.




BASIC will scar him. You might as well go with ruby or python, you get the same facility and start off with an extensible paradigm.


Why?

I thought BASIC is very good to teach basic programming concept such as Loops, line-by-line execution, etc. Really, for a beginner, one must have that kind of mindset.


1)LET s =10 imparts no further understanding than s=10.

2) Numbering lines for programs is nonsensical.

3) Gotos are bad practice.

4) Most programs consist of more than 1 file.

5) Hello world is just as easy in any other (more useful) language.

Can't think of any more off the head right now, time to eat.


Those are very imperative concepts and while imperative programming is good for some things, a language that teaches and allows for higher-level programming is probably a good idea. Languages like Python and Ruby allow functional and object-oriented programming which are becoming more and more common.


It's tradition.

Didn't we all start with basic, even if just for a little bit?


Yes, and I wish it upon no youth to suffer such a perversion of what programming is again. Better to start them off in m68k assembly, at least they will learn something useful in terms of how a computer works.


Arduino has a nice simplified C language and a friendly and simple IDE. I recommend skipping the Basic Stamp.

Other than that, bare-metal programming on microcontrollers has the advantage that the boy can get a mental picture of the entire machine in his head; not so easy with an SDK of hundreds of megabytes for a modern high-level language.


This is not a bad idea. Interfacing with hardware can be really fun, but basic enough that they can be creative.

"Hey, see if you can make those 8 LEDs do like the KITT car!"




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: