Ian Bogost has an interesting post, via Nat’s Four Short Links, that considers another angle on the controversial clause of the Apple developer license barring third party languages and runtimes from its mobile platform.
But what does it say about the state of programming practice writ large when so many developers believe that their “rights” are trampled because they cannot write programs for a particular device in a particular language? Or that their “freedom” as creators is squelched for the same reason?
I wonder if it doesn’t amount to an indictment of the state of computational literacy.
I think there is a subtle flaw in his reasoning. The other platforms to which he compares iPhone OS restrict language choice as a function of architecture or availability, not through legal means. If the iPhone can run Objective-C, there is no technical reason it cannot run just about any other language. I think the valid issue remains that Apple is artificially constraining programmer freedom. Citing the need for keeping an agile mind towards learning new languages is not sufficient excuse for Apple’s actions.
Don’t get me wrong. I can get behind his broader reasoning that programmers need a better grounding in many programming languages so that they can be more adaptable.
I worry that we’re losing a sense of diversity in computation. This seems to be happening at both the formal and informal levels. Georgia Tech’s computer science bachelor’s degree doesn’t require a language survey class, for example (although one is offered as an elective). This year in the Computational Media curriculum committee, we’ve been discussing the idea of creating a history of programming languages course as a partial salve, one that would explain how and why a number of different languages and environments evolved. Such a course would explicitly focus on how to learn new languages and environments, since that process is not always obvious. It’s a wonderful and liberating feeling to become familiar with and then master different environments, and everyone truly interested in computing should experience that joy.
I share this worry and am encouraged that Ian and his colleagues are trying to address it in expanding their curriculum. Maybe the sense of entitlement that Ian found in some of the comments on Apple’s language restriction is related, maybe not. I don’t think it changes the concern that we seem to have fewer and fewer true polyglots when it comes to programming languages.