Non so di Kotlin, ma Scala e Xtend sono due bestie molto diverse.
Contrariamente a quanto si dice, Scala NON è un Java migliore. Scala è un linguaggio molto più caratterizzato rispetto a Java, con la sua sintassi e semantica e il suo pacchetto di librerie di base.
Xtend È un Java migliore. Mantiene la semantica Java e migliora la sua sintassi. Ogni riga di codice Xtend può essere tradotta direttamente in un gruppo di righe di codice java. Non è necessario alcun tempo di esecuzione aggiuntivo.
Penso che entrambi gli approcci siano giusti, sebbene diversi. Non mi piace Scala (come lingua), ma non mi piace avere vasi di Scala aggiunti ai miei progetti. Non riesco a usare Scala correttamente su Android, né (aggiunge problemi di peso e prestazioni). Xtend non ha molte funzionalità, ma per me va bene (vale la pena usarlo rispetto al linguaggio Java) e funziona su ogni piattaforma come se stessi scrivendo direttamente in Java.
Credo che entrambe le lingue coprano nicchie diverse e possano coesistere senza interferire l'una con l'altra. IMHO, Scala è troppo complessa, non aggiunge nulla di nuovo. Se vuoi diventare più funzionale e meno OO, scegli uno dei molti 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 quanto Scala (ricorda molto C #).
Ma trovo Xtend che si trova in un punto dolce tra tutte quelle lingue. Aggiunge tutti quei modelli sintattici che volevo per Java, mantenendo le parti buone di Java (la sua semantica). Pensaci come Coffescript per Java.
E il supporto Eclipse è eccezionale ...