Duncan Davidson, que sabe un par de cosas sobre Java, responde a lo que asegura el programador de Java Sam Pullara sobre que la máquina virtual Dalvik de Android coloca al iPhone en una gran desventaja competitiva por cuestiones de rendimiento:
Una máquina virtual más rápida sin duda ayudará. Pero el destino final de Android tendrá poco que ver con lo rápida que es la máquina virtual o con cuánto tiempo tarda el envío de métodos en el iPhone. En lugar de esto, tendrá que ver con cosas más difíciles como la experiencia del usuario, los contratos con la operadora, la interoperabilidad y la existencia de aplicaciones de gran calidad.
No creo que nadie pueda decir que Dalvik no es una máquina virtual de alto rendimiento, sobre todo a partir de Android 2.2. Y hay discusiones interesantes sobre las máquinas virtuales frente a la compilación nativa — aunque son discusiones de programadores, y no tienen ninguna relevancia para los usuarios reales.
Pero el argumento de Pullara de que Objective-C es lento por naturaleza ignora los resultados cotidianos que demuestran que no es así — si nos basamos no en mediciones sencillas como “cuántaos millones de cadenas de texto puede crear por segundo”, sino en el rendimiento del software real para el iPhone. (Y para información técnica sobre el rendimiento de objc_msgSend()
, lo que según Pullara está perjudicando el rendimiento del iPhone, no hay nada mejor que el reportaje en cuatro partes sobre cómo funciona objc_msgSend()
.)