user7633 sviluppare per Android (parlo di un'app nativa, ovvero "app tradizionale")? La soluzione tradizionale è sicuramente Java (NB Java è completamente diverso da JavaScript, due linguaggi indipendenti, purtoppo il nome simile può creare confusione); Java quindi è la soluzione tradizionalmente adottata (OOP ovvero linguaggio di programmazione orientato agli oggetti, efficienza non proprio ideale, vantaggio di portabilità, non troppo complesso da imparare...) e di fatto poi lavori con un IDE, ambiente di sviluppo (Android Studio, ecc), quindi diventa anche una programmazione "visuale", in genere con emulatore real time, piuttosto del solo tradizionale codice sorgente.
Esistono poi soluzioni alternative, sebbene Java sia la soluzione tradizionalmente più diffusa per creare programmi per Android, è anche possibile creare applicazioni programmando in C/C++ (vantaggio di efficienza, anche se non è certo nata come soluzione per l'ambiente Android, mobile in generale), negli anni sono state ideate nuove soluzioni ed estesa la compatibilità.
Non voglio poi complicare troppo le cose, ma faccio un accenno anche a JavaScript: come tra l'altro ti dicevo poco fa nella discussione Si può dare vita a qualcosa solo con JavaScript?, JavaScript è un linguaggio per il web, che viene "letto", interpretato dal browser. Quindi per cspirci integrato nelle pagine web per creare la dinamicità lato client (tralasciando qualche eccezione lato server, Node.js); significa "se clicco questo bottone accade questo evento...", semplificando molto, spesso lo scopo è di questo genere.
Potresti, tramite HTML e JavaScript (ed eventualmente CSS, ecc), seguendo un'apposita procedura, dare origine ad una PWA (Progressive Web App) che avrebbe molti vantaggi di vario genere ("trasformi" il sito web nell'aspetto di un'applicazione, senza però stravolgere le cose, è una semplice integrazione in più). Ora non occorre stare ad approfondire troppo, tramite PWA potresti comunque di fatto creare inizialmente quella che è una pagina/sito web (struttura HTML, tutto il codice JavaScript, eventualmente CSS, PHP se occorrono) e "trasformandola" poi in PWA la rendi come aspetto e funzionalità simile ad un'app nativa, anche se in realtà tu hai programmato prevalentemente o in modo esclusivo facendo uso di HTML+JavaScript. Diciamo che lo puoi intendere come "ho creato un'app Android tramite JavaScript"; che poi tecnicamente gira tramite il browser ma per l'utente ha funzionalità, aspetto (fullscreen, ecc) tipico di un'app nativa.
Per concludere, dato che esistono un'infinità di linguaggi di programmazione (alcuni più "utili" e diffusi, altri molto specifici, ecc), la cosa da fare è questa: chiediti "cosa mi serve?" e poi valuti se scegliere una soluzione tradizionale per Android (Java), programmare per il browser (sito web o PWA, quindi HTML+CSS+JavaScript, prevalentemente), un linguaggio multi-purpose pieno di librerie e documentazione che gestisca anche la grafica (Python), un linguaggio con maggiore controllo sull'efficienza (C/C++), un ambiente integrato per il calcolo scientifico (R, MATLAB/Octave), ecc.
Spero di aver reso un po' l'idea 🙂