It appears as though there’s a huge uproar today over the fine print in the iPhone SDK about what applications are not allowed for the iPhone. No interpreted languages, no plugin architectures, etc. None of those great things we software developers have come to love to make our lives easier.
What do you really expect from the same company who still won’t let you run their OS on anything but their own hardware, even in a virtual machine? (Though they have lifted the virtual machine restriction with Leopard server.)
I guess I can understand their reasoning. They want to preserve the iPhone “user experience”. It only has a 620 MHz ARM processor, so we wouldn’t want to waste those cycles to interpret code and drain our battery prematurely. Interpreted languages aren’t always as fast as compiled code, and Firefox 2.x is a memory hog that I wouldn’t want to run on my phone just yet (I hear 3.0 has fixed lots of memory leaks). I write software for embedded Linux, and as much as I love Python, I still use C in that environment for its speed and size, and I think Apple is trying to enforce the same kind of practice for the iPhone.
Is filtering all iPhone software through the App Store really the best way to do it? Somehow I doubt it. If Apple wants to preserve the “user experience”, they do need to realize that users like being in control.