On his blog, Kent from Anideo has started writing about transitioning from PHP/Rails programming to developing iOS apps. He writes very candidly and it’s a great read, both for web developers looking to dive into iOS, and for anyone teaching introductory programming.
I say the latter because Kent’s perspectives on compiled languages really surprised me (and, perhaps, other programmers who didn’t start with web programming). In this post, he tells us how, prior to doing iOS development, he had no idea what header and implementation files were. Worse, he couldn’t find much helpful information on the web, even on Stack Overflow.
Perhaps it’s a generational thing — many computer science majors before Kent probably cut their teeth entirely on compiled languages, and transitioning to web programming should have come pretty naturally to these folks. Going the other way, however, could seem very strange, even to a seasoned web programmer like Kent. (This could also explain the paucity of good information on SO, assuming that most contributors there are old and cranky enough to be all “WTF? You don’t know what .h files are?”.)
What do these developments mean? Probably not much to the field — “native” programming isn’t going away, and many more like Kent will figure their way into it — but for programming education, teachers may need to adjust quite a few assumptions about “what students already know” and “what to teach first”. There could also be a market for web-to-compiled textbooks. Oooh. (Watch as I proceed to fire up iBooks Author, fully aware that I’ll close an empty document in a few days.)