¿Por qué Google eligió Java como el lenguaje de programación de Android y no Python o algo más?

Todos podemos debatir por qué se eligió Java como lenguaje de programación para Android, pero será toda nuestra interpretación. El caso finalmente recae en Andy Rubin y él es la mejor persona para responder esta pregunta y en realidad lo ha respondido.

Lee este artículo.

Prueba: jefe de Android sobre por qué Java fue elegido para Android | ZDNet

Solo reproduciré algunos de los aspectos más destacados de sus respuestas. Escuchemos de boca de caballo.

Cuando el asesor de Google, Robert Van Nest, le preguntó si había otros lenguajes de programación que podrían haber funcionado para Android, Rubin afirmó que podría haber existido. Algunos de los otros lenguajes considerados para Android fueron Javascript, Python y Lua.

Los beneficios de usar Java para un teléfono inteligente, principalmente la conocida marca, así como la compatibilidad, es que es un idioma común que se enseña en las universidades de todo el mundo.

“Vimos esto como una oportunidad para abrir Java, y le pedimos a Sun que contribuya a la comunidad de código abierto”, dijo Rubin.

El artículo tiene mucha otra información relevante sobre cómo y por qué Andy Rubin colaboró ​​con Sun (antes de que Oracle adquiriera Sun) y también cómo Google quería que se hicieran diferentes licencias para Java para que se pueda utilizar para el desarrollo de Android. Este es un artículo muy interesante, sugeriría leerlo.

En base a esto, todo lo que puedo decir es que se eligió Java porque era un lenguaje de programación popular y ampliamente conocido. En 2005, cuando Android estaba en sus etapas iniciales, los programadores de Java eran probablemente el grupo de talentos más fácil y más grande disponible.

Me pregunto por qué a la comunidad de desarrolladores le habría resultado interesante aprender un lenguaje de programación no tan utilizado o completamente nuevo (en caso de que Android realmente haya creado uno) para la próxima plataforma móvil desconocida.

Estoy seguro de que hubo muchas razones técnicas (que algunas de las otras respuestas han tratado de señalar) para elegir Java para el desarrollo de Android, pero una de las razones principales fue que (Android Inc) querían una adopción rápida por parte de la comunidad de programadores para ayuda a Android a crecer rápidamente.

En retrospectiva, puedo decir que les ha funcionado bien.

Editar 1:

Parece que esta es una pregunta muy buscada. Es por eso que he creado un video más detallado en mi Tutor de código de canal de YouTube sobre este tema.

Probablemente se deba a que Android Inc. (adquisición anterior a Google) estaba utilizando Java para construir el sistema operativo. Como se trataba de Startups Stealth, no hay información pública sobre eso.

Es una suposición razonable ya que Danger (compañía) estaba usando una pequeña máquina virtual Java de acuerdo con http://www.djw.org/djw/resume/re …, luego Andy Rubin (fundador de Android) se llevó el conocimiento con él.

Python, al no estar compilado, es demasiado lento. Java también resultó ser un poco lento, y Android ya tiene problemas con la recolección de basura de Java, razón por la cual los teléfonos Android tartamudean y tienen problemas de estabilidad cuando los iPhones no lo hacen. Esto, a pesar de tener 3 veces la RAM en la mayoría de los casos.

Supongo que querían algo compilado y lo suficientemente “fácil” para un desarrollo amplio, que no deja muchas opciones. Objective-C ha sido mucho mejor en cuanto a rendimiento para Apple, pero Obj-C también es más difícil de aprender que Java. Hoy, Google habría ido con Go, y Apple habría ido con Swift (y ya ha comenzado a cambiar a).

No hay idiomas escritos dinámicamente que puedan compilarse en un código realmente rápido. Python no ejecutará Angry Birds con algo parecido a la velocidad, al menos no con chips ARM de seis años.

Hay otros lenguajes compilados rápidamente, pero los ecosistemas y la cantidad de personas que son hábiles en ellos son bastante bajos. Las posibilidades prácticas en ese momento básicamente se reducían a C, C ++, Objective-C y Java. Y, Java es el más lento del grupo y tiene el modelo de memoria más caro.

Otras respuestas también son completamente correctas al señalar que el uso de iOS de una variante Objective-C sin un recolector de basura dinámico permite a los iPhone ejecutar aplicaciones más rápido con mucha menos memoria.

Parece que esto ya se ha pedido hasta cierto punto. Puede encontrar estas respuestas útiles para usted:

¿Por qué Google eligió Java como el principal entorno de desarrollo de aplicaciones para Android?

Posiblemente porque generalmente se considera que Java es más rápido,

http://twistedmatrix.com/users/g

Y está más cerca del idioma nativo de C.

también
De hecho, las funciones de búsqueda de Google están escritas en Java, y es muy popular en los dispositivos integrados, por lo que tienen la experiencia.

Google también eligió su propia implementación de Java a través de Dalvik VM, lo que lo hace un poco diferente de todos modos.

A menos que haya grandes razones de peso para no usar Java, es una opción “predeterminada” bastante común en estos días. Tiene una JVM de alto rendimiento, una gran comunidad de desarrollo y una sólida cadena de herramientas. Por lo que yo entiendo, la elección ha funcionado bastante bien para Android. Su afirmación de que es “posiblemente la peor decisión jamás tomada” parece muy difícil de justificar.

La pregunta necesita ser reformulada. Apuesto a que estás hablando de aplicaciones de Android y no del sistema operativo en sí. No es posible escribir un sistema operativo en Java.

Android se ha creado sobre el núcleo de Linux y está escrito en ensamblaje C y ARM. El sistema operativo Android ejecuta algo llamado Dalvik VM que admite las JVM en las que se ejecuta la aplicación. Cada aplicación se ejecuta en su propia VM agradable.

En primer lugar, no fue la elección de Google, Google compró Android en 2005. Para poner esto en perspectiva, el iPhone se lanzó en 2007. En ese momento, no había herramientas decentes para el desarrollo móvil y la idea detrás de Android es: ¿por qué no No use Java, que es independiente de la plataforma, con miriad de muy buenas herramientas y API, e intente hacer que la máquina virtual Java sea más adecuada para dispositivos móviles.

Alguna vez escuché de Dalvik Virtual Machine. Sí, el DVM. DVM es el o, mejor dicho, (ahora Dalvik ha sido reemplazado por ART) el tiempo de ejecución inicial de Android . El DVM es responsable de ejecutar sus aplicaciones al igual que la JVM ( Java Virtual Machine ) .DVM es una implementación muy similar de la JVM. La razón fue que las aplicaciones tenían que ejecutarse en diferentes arquitecturas móviles y era necesaria la portabilidad del código fuente, por eso decidieron hacer que el tiempo de ejecución fuera similar a JVM. Por lo tanto, por defecto el lenguaje se convirtió en Java.
Espero que esto responda a su pregunta.

Google no hizo Android.

Cuando lo compraron, Android ya tenía su interfaz de usuario y aplicaciones hechas en Java.

Google nunca tuvo otra opción.

Incluso si lo hicieran, seguiría apostando por Java en lugar de Python.

Google usa la tendencia de Google para decidir los lenguajes de programación más usados ​​y usa muchos lenguajes, a continuación se ofrecen algunos ejemplos. 10 Lenguajes de programación más usados

Google solo usa “Java”, el “idioma” para el desarrollo de aplicaciones en Android. El lenguaje admite un subconjunto de API de Java. El código se compila en código de bytes dirigido a Dalvik VM (no es compatible con Java VM).