Không biết về Kotlin, nhưng Scala và Xtend là hai quái thú rất khác nhau.
Trái với những câu nói thông thường, Scala KHÔNG phải là một Java tốt hơn. Scala là ngôn ngữ nổi bật hơn nhiều so với Java, với cú pháp và ngữ nghĩa riêng và gói thư viện cơ sở riêng.
Xtend là một Java tốt hơn. Nó giữ ngữ nghĩa Java và tăng cường cú pháp của nó. Mỗi dòng mã Xtend có thể được dịch trực tiếp sang một loạt các dòng mã java. Không có thời gian chạy bổ sung, cũng không.
Tôi nghĩ rằng cả hai cách tiếp cận đều đúng, mặc dù khác nhau. Tôi không thích Scala (như một ngôn ngữ), nhưng không thích thêm bình Scala vào các dự án của tôi. Tôi cũng không thể sử dụng Scala đúng cách trong Android (nó cũng làm tăng thêm vấn đề về trọng lượng và hiệu suất). Xtend không có nhiều tính năng, nhưng đối với tôi (nó đáng sử dụng hơn ngôn ngữ Java) và nó hoạt động trên mọi nền tảng như thể tôi đang viết trực tiếp bằng Java.
Tôi tin rằng cả hai ngôn ngữ bao gồm các ngóc ngách khác nhau và có thể cùng tồn tại mà không can thiệp lẫn nhau. IMHO, Scala quá phức tạp, không có gì mới. Nếu bạn muốn đi nhiều chức năng hơn và ít OO hơn, chỉ cần chọn một trong nhiều ngôn ngữ chức năng đơn giản hơn, như Clojure hoặc JHaskell. Nếu bạn chỉ muốn Java với một số cú pháp tốt hơn và một chút lập trình chức năng, Fantom sẽ tuyệt vời như Scala (nó giống với C # rất nhiều).
Nhưng tôi thấy Xtend đang ở một điểm ngọt ngào giữa tất cả các ngôn ngữ đó. Nó bổ sung tất cả các mẫu cú pháp mà tôi muốn cho Java, giữ các phần tốt của Java (ngữ nghĩa của nó). Hãy nghĩ về nó như Coffescript cho Java.
Và hỗ trợ Eclipse là tuyệt vời ...