Hola Habr! Les presento la traducción del artículo
"Principales lenguajes de programación para el desarrollo de aplicaciones de Android" por Mohit Maheshwari.
El rápido desarrollo de la tecnología de la información en los últimos años ha llevado a la aparición de muchos nuevos dispositivos y tecnologías, incluidas tabletas, teléfonos inteligentes, relojes inteligentes y otros dispositivos. Están entrando cada vez más firmemente en nuestras vidas y se están volviendo comunes. La plataforma líder entre dichos dispositivos es el sistema operativo Android.

Elegir un lenguaje de programación
Java es actualmente el lenguaje de programación más popular para el desarrollo móvil en Android. Aunque Google está promoviendo activamente Kotlin como un lenguaje que reemplazará a Java. Las aplicaciones de Android también están escritas en otros idiomas.
Aprender diferentes tipos de idiomas lo ayudará a formar una idea clara de qué lenguaje de programación debe elegir para crear ciertos tipos de aplicaciones.
A continuación se describen brevemente los lenguajes de programación que se utilizan para desarrollar Android:
Java es el idioma oficial para el desarrollo de Android y es compatible con Android Studio.
Kotlin es el idioma oficial y más reciente de Android introducido; Es similar a Java, pero en muchos sentidos es un poco más fácil.
Android Studio también es compatible con
C ++ con Java NDK, que puede ser conveniente para los juegos.
C # es un poco más conveniente para principiantes, a diferencia de C o C ++. Es compatible con algunas herramientas muy útiles, como Unity y Xamarin, que son excelentes para desarrollar juegos y aplicaciones multiplataforma.
BASIC es increíblemente agradable de usar y es el comienzo perfecto para aprender codificación.
Corona es otra herramienta multiplataforma que utiliza el lenguaje Lua (un lenguaje de programación de scripts, ideología e implementación más cercana a JavaScript) para implementar la lógica de la aplicación, simplifica enormemente el proceso de creación de aplicaciones y le permite llamar a sus propias bibliotecas.
PhoneGap (HTML, CSS, JavaScript): si sabe cómo crear páginas web interactivas, puede usar este conocimiento con PhoneGap para crear una aplicación multiplataforma simple.
Obtenga más información sobre herramientas e idiomas.
Android Studio
La mejor manera de desarrollar una aplicación de Android es instalar Android Studio. Android Studio es un entorno de desarrollo integrado (IDE) para trabajar con la plataforma Android.

Android Studio, impulsado por el software JetBrains IntelliJ IDEA, es la herramienta oficial de desarrollo de aplicaciones de Android. El 17 de mayo de 2017, en la conferencia anual de Google I / O, Google anunció soporte para el lenguaje Kotlin utilizado por Android Studio como el lenguaje de programación oficial para la plataforma Android, además de Java y C ++.
Android Studio es un software llamado IDE o entorno de desarrollo integrado. Se ofrece como un paquete con el SDK de Android, que no es más que un conjunto de herramientas utilizadas para facilitar el desarrollo de Android. Aquí se concentra todo lo necesario para comenzar a crear aplicaciones para Android. Las características como el diseñador visual hacen que el proceso sea más fluido, mientras que características avanzadas y potentes se agregan todo el tiempo para brindar a los desarrolladores acceso a cosas como el almacenamiento en la nube.
Java
Para cualquier desarrollador de aplicaciones móviles de Android, Java sigue siendo el primer y más preferido lenguaje de programación, ya que es compatible con Google y la mayoría de las aplicaciones en Google Play se basan en él.

El propio Java fue desarrollado por Sun Microsystems (posteriormente adquirido por Oracle) en 1995, y todavía se usa para una amplia gama de aplicaciones de software. El código Java es ejecutado por una máquina virtual que se ejecuta en dispositivos Android e interpreta el código.
Para los principiantes, Java puede parecer un poco complicado. Esto se convierte en un obstáculo que enfrentan las personas que planean ingresar al desarrollo de aplicaciones para Android.
Pero, si eres un principiante y quieres hacer un juego, o simplemente comenzar a aprender por el simple hecho de aprender, es mejor comenzar con algo más fácil, pero volver a Java tan pronto como obtengas un poco más de experiencia.
Kotlin
Kotlin se ha convertido recientemente en el "otro" idioma oficial para el desarrollo de Android. Al igual que Java, Kotlin se ejecuta en una máquina virtual Java. Es totalmente compatible con Java y no causa ninguna obstrucción o aumento del tamaño del archivo.

La principal diferencia es que Kotlin requiere menos código "repetitivo", es decir Sistema más fácil de leer. También elimina errores como excepciones de puntero nulo e incluso le libera de tener que terminar cada línea con un punto y coma. Este es un gran lenguaje de programación si solo estás aprendiendo a desarrollar aplicaciones para Android.
Kotlin es un punto de partida más fácil para principiantes, y el hecho de que pueda usar Android Studio es una gran ventaja.
C / c ++
Lo que realmente no se debe elegir para que un principiante desarrolle una aplicación para Android es C / C ++. Android Studio es compatible con C / C ++ con el Kit de desarrollo nativo de Android. Esto significa que el código escrito no funcionará en la máquina virtual Java, sino en el dispositivo mismo y dará más control sobre cosas como la memoria. Por ejemplo, para juegos 3D, esto exprimirá el rendimiento adicional del dispositivo.
C #
C # es una versión más simple y puramente orientada a objetos del desarrollo C y C + de Microsoft. El objetivo principal de Microsoft era combinar el poder de C ++ con la simplicidad de Visual Basic. Muchos desarrolladores disfrutan de este lenguaje de desarrollo de Android, especialmente la combinación de C # y Unity.
Unidad
Unity es un entorno de desarrollo multiplataforma para juegos de computadora. Unity le permite crear aplicaciones que se ejecutan en más de 20 sistemas operativos diferentes, incluidas computadoras personales, consolas de juegos, dispositivos móviles, aplicaciones de Internet y otros. Unity se lanzó en 2005 y ha estado en constante desarrollo desde entonces.

Las principales ventajas de Unity son la presencia de un entorno de desarrollo visual, soporte multiplataforma y un sistema modular de componentes. Las desventajas incluyen la aparición de dificultades al trabajar con circuitos multicomponentes y dificultades al conectar bibliotecas externas.
Esta es una herramienta de código abierto que hace que sea increíblemente fácil crear tus propios juegos. Con solo unas pocas líneas de código, tienes un juego escrito en menos de una hora.
Además, el desarrollo de esta manera proporciona una forma muy práctica de aprender la codificación orientada a objetos, porque los objetos en este caso son en realidad objetos la mayor parte del tiempo.
C # también se puede usar con Xamarin a través de Visual Studio. Esto es similar al desarrollo tradicional de Android con la ventaja de multiplataforma, que tiene una base de código para Android e iOS.
Básico
Lo que aprendimos sobre C # fue un intento de combinar el poder de C con la facilidad de Visual BASIC. Esto se debe a que BASIC (Código de Instrucción Simbólico para todo uso para principiantes) es increíblemente agradable de usar y un punto de partida absolutamente perfecto para aprender la codificación.
Desafortunadamente, Android Studio no lo admite oficialmente y no se puede usar en Unity. Pero hay una opción menos conocida para desarrollar aplicaciones de Android en BASIC llamada B4A (BASIC 4 Android), que le permite crear aplicaciones de Android usando BASIC.

Corona
Corona ofrece otra forma fácil de desarrollar aplicaciones de Android. Codificará en LUA, que ya es mucho más simple que Java. Es compatible con todas sus propias bibliotecas, lo que permite publicar datos en múltiples plataformas.
Corona es adecuado para aquellos que desean crear algo relativamente simple y no están tan preocupados por desarrollar sus habilidades de codificación o convertirse en profesionales. Si desea utilizar funciones como compras integradas en la aplicación, deberá pagar. Lo mismo ocurre con el uso de API nativas de Android.
Phonegap
Finalmente, la última opción simple que puede elegir para desarrollar aplicaciones de Android es PhoneGap.

PhoneGap se ejecuta en Apache Cordova y le permite crear aplicaciones que usan el código que generalmente usa para crear un sitio web: HTML, CSS y JavaScript.
¡Es hora de tomar tus propias decisiones!