Non so nulla su Kotlin, ma Scala e Xtend sono due animali molto diversi.
Contrariamente ai detti più comuni, Scala NON è un Java migliore. Scala è un linguaggio molto più dettagliato di Java, con una propria sintassi e semantica e un proprio pacchetto di librerie di base.
Xtend È un Java migliore. Mantiene la semantica di Java e ne migliora la sintassi. Ogni riga del codice Xtend può essere direttamente tradotta in un gruppo di linee di codice java. Non c'è nessun runtime aggiuntivo, neanche.
Penso che entrambi gli approcci siano giusti, anche se diversi. Non mi piace Scala (come lingua), ma non mi piace avere i barattoli di Scala aggiunti ai miei progetti. Non riesco a utilizzare correttamente Scala in Android, nemmeno (aggiunge peso e problemi di prestazioni). Xtend non è tanto descritto, ma è Ok per me (vale la pena usarlo più del linguaggio Java) e funziona su ogni piattaforma come se scrivessi direttamente in Java.
Credo che entrambe le lingue coprano diverse nicchie e possano coesistere senza interferire l'una con l'altra. IMHO, Scala è semplicemente troppo complesso, aggiungendo nulla di nuovo. Se vuoi essere più funzionale e meno OO, scegli uno dei tanti linguaggi funzionali più semplici, come Clojure o JHaskell. Se vuoi solo Java con una sintassi migliore e un po 'di programmazione funzionale, Fantom sarebbe fantastico come Scala (assomiglia molto a C #).
Ma trovo che Xtend sia in un punto delicato tra tutte quelle lingue. Aggiunge tutti quei pattern sintattici che volevo per Java, mantenendo le parti buone di Java (la sua semantica). Pensaci come Coffescript per Java.
E il supporto di Eclipse è superbo ...