Nie wiem o Kotlinie, ale Scala i Xtend to dwie bardzo różne bestie.
W przeciwieństwie do powszechnych powiedzeń, Scala NIE jest lepszą Javą. Scala jest językiem o wiele bardziej funkcjonalnym niż Java, z własną składnią i semantyką oraz własną biblioteką bibliotek podstawowych.
Xtend JEST lepszą Javą. Utrzymuje semantykę Java i poprawia jej składnię. Każda linia kodu Xtend może być bezpośrednio przetłumaczona na kilka linii kodu Java. Nie ma też żadnego dodatkowego środowiska uruchomieniowego.
Myślę, że oba podejścia są słuszne, choć różne. Nie lubię Scali (jako języka), ale nie lubię dodawać słoików Scali do moich projektów. Nie mogę również poprawnie używać Scali w Androidzie (powoduje to problemy z wagą i wydajnością). Xtend nie jest tak bardzo polecany, ale dla mnie jest ok (warto go używać niż język Java) i działa na każdej platformie, jak gdybym pisał bezpośrednio w Javie.
Uważam, że oba języki obejmują różne nisze i mogą ze sobą współistnieć, nie zakłócając się nawzajem. IMHO, Scala jest po prostu zbyt skomplikowana, nie dodając nic nowego. Jeśli chcesz przejść na bardziej funkcjonalny i mniej OO, wybierz jeden z wielu prostszych języków funkcjonalnych, takich jak Clojure lub JHaskell. Jeśli chcesz po prostu Java z lepszą składnią i odrobiną funkcjonalnego programowania, Fantom byłby tak świetny jak Scala (bardzo przypomina C #).
Ale uważam, że Xtend znajduje się w słodkim punkcie pomiędzy tymi wszystkimi językami. Dodaje wszystkie wzorce składniowe, które chciałem dla Javy, zachowując dobre części Javy (jej semantykę). Pomyśl o tym jako o Coffescript for Java.
Obsługa Eclipse jest znakomita ...