The wife is interested in learning programming so she has been doing the Code Academy JavaScript course. It’s incredible to observe a person learning programming from the ground up, and how their mind works. It’s almost impossible to remember those early weeks of learning how to code yourself.

It’s been fun to see the frustrations, problems, and questions she’s had:

  • For loops. So hideous. I don’t know who invented such the syntax “for (i=0; i<100;i++)”, but really I blame the people that continued the tradition into later languages where it is a truly stupid syntax.
  • Speaking of i++/i–. What are these things and why do they exist?
  • Curly braces. What a waste of space!
  • var. When do I use it and when do I not use it?
  • Why do I need to end my lines with semicolons?

They also have a python course, I’ll be interested to see how that one goes. I suspect it’ll make less sense since she’ll now expect all languages to work as poorly as Javascript :)

Also to preempt the comments about how this doesn’t mean anything about a language and we shouldn’t design languages for complete programming newbies- yes, I agree. Mostly I found this interesting because the grievances she’s had all have their roots in C-style languages yet they are found in JavaScript which was designed to be novice-friendly. Though admittedly the novice in 1995 and 2012 start with very different dispositions.

I’ll certainly have much more to say once she moves into the rest of JS, and then into Python.

Also, Code Academy is really awesome.