App Inventor re-appeared last week, now hosted by MIT, and I have been following some of the discussions in various online forums following the (re)launch. I’m a bit surprised by the intense debate that seems to be going on among the comments about the value of block based programming. While figuring out the inner workings of how your computer/mobile device works, and writing low-level (assembly?) code is certainly valuable, that is not the goal of tools like App Inventor or Scratch. These tools utilize programming, but the larger, big picture goal is to engage young people in acts of creativity that are also personally meaningful. Not everyone likes to calculate factorials after six months of learning how to program. There’s a significant amount of value of having low barriers to entry, and that, combined with the personal meaningfulness can create an extremely powerful medium for young learners to engage in acts of creativity. Being able to create a mobile app, however kludgy it might be, gives you immense satisfaction, much more than being able to detect palindromes (at least for a majority). Programming has become more and more complicated over the years, slowly moving any meaningful project out of reach of beginners - drawing a single line on a screen can require tens of lines of code. Tools like Scratch, App Inventor try to reverse the trend. That’s something which most people seem to forget.
All this is nothing new for my usual circle of friends and co-workers. However, seeing the comments and discussions online reminded me that we need to do a better job of spreading these ideas.