You can code on iOS devices. You can code in many different programming languages on IDEs available directly on the device. The code can be executed, and so programming is not inhibited.<p>What you are referring to is deployment. You want to be able to deploy or distribute your programs freely through the official channels. And because that is locked down, you consider it &quot;programmable by permission.&quot; I would argue that this is not the case.<p>All I care about is the logic and elegance of programming. I don&#x27;t care how my program runs — whether I write ARM code that is simulated through some App Store app. Whether I write Lua code that is run through an iOS game engine, or whether I deploy it directly to the hardware. That is immaterial because I still get to enjoy the art of programming.<p>Apple&#x27;s phones and tablets are programmable computers and they can be programmed through officially and unofficially distributed apps. Both free and paid, open and closed source. Just because the official distribution model doesn&#x27;t suit your personal preference does not make these devices any less programmable computers.<p>Also note that Xcode is free and you can freely deploy apps from Xcode to your devices. So I am not sure I understand your criticism here. Nor do you need to even use the closed-source IDE (Xcode) when the compiler and language are open source.