¿Cuáles son los idiomas necesarios para desarrollar algo como la aplicación de Android BookMyShow?

Las aplicaciones como bookmyshow se pueden construir como aplicaciones híbridas en lugar de implementarlas completamente en nativo.
Un enfoque podría ser crear un sitio web móvil receptivo utilizando marcos de JavaScript como angularjs, reactjs, iónico, sencha touch o touchstone js.
A continuación, puede usar cordova para construir el apk o renderizar el sitio web dentro de una vista web en Android Studio.
El mejor de los dos es usar una vista web. Para acceder a las funcionalidades nativas dentro de una vista web, puede usar la interfaz javascript proporcionada en el estudio de Android que actúa como un middleware entre javascript y java que se puede usar para acceder al sensor gps del teléfono.
De manera similar para ios, una vista web se puede representar en xcode usando un lenguaje rápido.
De esta manera, se podrá acceder a un único sitio web desde Android e iOS.
El otro enfoque podría ser crear una aplicación completa en el estudio de Android, pero llevará más tiempo desarrollarla que una vista web y tendrá que comenzar desde cero cuando desarrolle para iOS.
Puede haber mejores enfoques, pero espero que esto ayude.

Definitivamente necesitas aprender el Desarrollo de Android, que básicamente requiere que aprendas Java (o Kotlin), un poco de xml y un poco de comprensión del análisis JSON tampoco te hará daño.

Pero eso no es todo. Para que puedas hacer una aplicación similar a BMS necesitas tener un backend increíble. Puedes construir un backend usando Python (django), Ruby (rails) o php. También hay otros idiomas y marcos disponibles.

También debe tener conexiones comerciales con multiplex en todo el país y también una pasarela de pago. Verás, BMS no es solo una aplicación, es un negocio y necesitarás un equipo para hacer todo eso.

Pero, si solo necesita construir una aplicación similar en Android y no se preocupe por las otras cosas. Simplemente aprenda algo de Java y algunos conceptos básicos de la plataforma Android y estará listo para comenzar.

Puedes hacerlo con Android / Java, Kotlin heck incluso con JS / TS con Ionic.