Having looked in the past for a suitable introduction to programming for my 10 year old son I had come to the conclusion that the existing options (such as KPL) where too ‘wordy’ and not able to compete with the point and click powered online/gaming worlds that youngsters now inhabit. That was until I discovered Scratch, an education oriented programming language developed by MIT.
As an introduction to programing it is superb and it’s also fun. I could not drag my son away from it and not only that, within two days he had come in contact with (and understood) most of the important structures of any programming language, including loops, if-then-else statements, variables, encapsulation, events, messages (the tool is built in Smalltalk and it shows).
When he outgrows Scratch, he would then be capable of moving on to other more powerful education oriented languages such as Phrogram (the next version of KPL) or Squekland (built using another Smalltalk variation) or indeed a ‘real’ language such as Ruby.
I could have done with this 15 years or so ago when I was trying to get my head around OOP concepts (when I started coding, procedural languages such as Cobol, PL1, Fortran, MUMPS and various types of BASIC where the weapons of choice for commercial development).
I also think end-user focused language designers could also learn a lot from the design of the scratch IDE; perhaps if Microsoft were ever to retire the venerable VBA, they should replace it with a Scratch-like macro language?
Check out the video and definitely download it if you have kids in the house…