Greg Hewgill (ghewgill) wrote,
Greg Hewgill

on learning programming

I didn't get as much done on xearth today as I had planned to. Instead, I got involved in a long conversation at chchspace about programming languages, which migrated toward a discussion about a way to introduce programming to young people. For example:

class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world");

is a lot more crap to have to explain (just how long does it take to explain away "public static void main"?) than:

print "Hello, world"

But even then, "Hello, world" is a major let-down as far as a first program goes. My first ever program was a graphics program: It drew a diagonal line from the top left to the bottom right of an Apple ][+ high-res graphics screen. Printing text came later, on an as-needed basis (probably when I first needed to debug something). I think it's important to introduce programming using a medium that's more malleable than plain old ASCII text.

Text is symbolic. By itself, it rarely looks interesting, but it's a representation of something interesting (maybe). It requires a bunch of cognitive processing to go from the letters on the screen, to ideas that are meaningful. When you're learning a new method of expression such as programming, having to apply this extra cognitive load to everything you do (that is, having to read and understand the program output) detracts from the learning process. Young children learn to draw pictures before learning to write words; even Koko can draw pictures.

What's the right answer? Is it Logo? Maybe they were on to something in 1967. Is it Adobe Flex? Silverlight? Yahoo! Widgets? I believe it's likely to be something like that. It is definitely not "public static void main".

Tags: osw

  • 2013 in review

    2013 is the year when everything changed. The biggest event was the birth of our daughter Lily. She was born prematurely in Shanghai while we…

  • 2012 in review

    2012 has been fairly quiet. Maybe it just seems that way because I haven't actually written anything new in this blog since last year's annual…

  • new photo galleries

    I've been busy processing photo galleries from the last year (or two) and putting them online for your perusal. Vancouver 2010 Northland…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded