Thanks to @aquigley for tweeting about the silicon.com article “Why the iPhone could be bad news for computer science“. The article quotes Robert Harle from the Computer Laboratory at Cambridge worrying that the iPhone (and other closed platforms) are eroding the ability to ‘tinker’ with computers and so destroying the will amongst the young to understand the underlying technology.
I too have worried about the demise of interest not just in computers, but in science and technology in general. Also, the way Apple exercise almost draconian control over the platform is well documented (even rejecting an eBook application for fear it could be used to read the Karma Sutra!).
However, is the problem the closedness of the platform? On the iPhone and other smartphones, it is the apps that catch imagination and these are ‘open’ in the sense that it is possible to programme your own. Sure Apple charge for the privilege (why – the income surely can’t be major!), but it is free in education. So what matters, app development, is open … but boy is it hard to get started on the iPhone and many platforms.
It is not the coding itself, but the hoops you need to go through to get anything running, with multiple levels of ritual incantations. First you need to create a Certificate signing request to get Development certificate and a Provisioning profile based on your Device ID … sorry did I lose you, surely not you haven’t even written a line of code yet, for that you really need to understand the nib file … ooops I’ve lost the web page where I read how to do that, wait while I search the Apple Developer site …
Whatever happened to:
10 print "hello world"
This is not just the iPhone, try building your first Facebook app, … or if you are into open standards X Windows!
Nigel Davies said his 7 year old is just starting to code using Scratch. I recall Harold Thimbleby‘s son, now an award winning Mac developer similarly starting using Hypercard.
If we would like a generation of children enthused by Facebook and the iPhone, to become the next generation of computer scientists, then we need to give them tools to get started as painless and fun as these.