By Harry McCracken | Friday, August 13, 2010 at 3:48 pm
Over at his New York Times column, David Pogue has reviewed Google App Inventor, the toolkit–currently in private beta testing–that aims to let normal non-gearheads write applications for Android phones with no programming knowledge. His experience wasn’t sensational. In fact, he found Inventor so cryptic, cumbersome, and glitchy that he was unable to write a program–even after he brought in an expert consultant in the form of his 13-year-old son.
I enjoyed reading the column: It’s an entertaining, necessary antidote to some of the initial hype surrounding App Inventor. But it also left me feeling a tad melancholy. The concept behind Inventor remains exciting, and I hope that Google sticks with it and eradicates at least some of the gremlins that David encountered.
Even an App Inventor that lives up to its potential isn’t going to make writing software a cakewalk, though. And the hype that David quotes–“App Inventor requires NO programming knowledge.”–is a mistake on Google’s part.
As David notes, the notion of programming tools for the rest of us is nothing new. It dates at least to the mid-1960s, when a couple of Dartmouth professors came up with BASIC, a language designed to let liberal arts majors create mainframe programs, and lives on in products such as RunRev. The best of them do indeed make programming more approachable. But there’s no such thing as writing programs without knowing programming. Like David says, it’s still programming even if you’re dragging around blocks rather than hammering out code.
And programming anything of consequence requires both a worthwhile idea and considerable planning and patience. Even if the tools you use are less intimidating than a traditional language, you can’t just whack out an application effortlessly. Suggesting otherwise is like telling someone that the right software makes it a breeze to write a concerto or design a house.
The right mindset helps, too: There’s a reason why some of the most accomplished programmers in history have been very young people with little or no formal training. The right-brained among us (like me!) are always going to have more trouble with this stuff than those who are more in touch with the parts of their brains in charge of logic and organization.
I don’t mean to be a wet blanket: I grew up on BASIC, and the Cranky Old Man inside me still thinks that PCs were better when just about everyone who had one knew at least something about programming. If all App Inventor does is make it possible to build Android programs without delving into the minutiae of Java, it’ll be very cool. But it’ll still be programming, and it’s best if everyone involved understands and accepts that.