daftar pemahaman, untuk pemahaman.
misalnya di java Anda menulis:
int myVar;
if (condition) {
myVar = //some value
}
else {
myVar = //some other value
}
Dalam scala, kode yang sama, jauh lebih elegan ditulis (Seperti python) seperti:
int myVar = (//some value) if (condition) else // other value;
dan dilakukan.
Ada begitu banyak yang ditawarkan Scala yang tidak dimiliki Java. Tidak ada perbandingan sama sekali. Satu-satunya masalah adalah orang lebih akrab dengan Java (b / c itulah yang mereka ajarkan di kelas CS) dan belum begitu terampil dengan paradigma Scala.
Scala memiliki rekursi ekor, ia dapat mengembalikan tupel (sesuatu yang mungkin datang di Jawa 8 saya pikir).
Tidak ada perbandingan. Scala dikembangkan oleh Martin Ordersky, yang bekerja pada tim inti untuk Java Generics.
Scala hanyalah bahasa yang jauh lebih unggul. Itu semua yang ada untuk itu. Orang yang mengatakan sebaliknya hanya belum cukup menjelajahi Scala untuk tahu lebih baik.
Di atas, saya bermaksud mengatakan optimisasi rekursi ekor (yang JVM tidak dapat lakukan dengan cara yang dapat dilakukan oleh kompilator Scala).
Scala juga mengkompilasi dan menjalankan lebih cepat dari aplikasi JVM (Ya, itu benar). Belum lagi kerangka kerjanya. Kami menggunakan Tomcat misalnya dan menggunakan beberapa servelet untuk menangani REST.
Satu hal yang tidak dapat dilakukan Tomcat, adalah operasi asinkron yang memerlukan I / O yang tidak terblokir. Untuk ini, pengembang JAVA biasanya menemukan solusi menggunakan antrian pesan (mengirim pesan ke antrian, dan beberapa proses atau utas mengambilnya dan melakukan apa pun yang Anda inginkan di latar belakang).
Sayangnya, metode ini adalah cr * p, dan peretasan atas batasan penggunaan servlets Java di Tomcat.
Periksa akka + spray. Ia menggunakan scala's Actors (Aktor seperti Threads, kecuali satu-satunya cara mereka dapat berkomunikasi adalah melalui pesan).
Dan selesai, panggilan REST asinkron menjadi mudah. Tugas latar belakang yang sudah berjalan lama? Tidak masalah. Langsung saja dan lupakan, dan lakukan beberapa polling REST untuk memeriksa statusnya dari front-end sesekali.
Jika Anda masih menggunakan Java dan berpikir itu lebih baik daripada scala, Anda sebaiknya berhenti menggunakan komputer untuk mengetik dan kembali ke masa pena bulu domba dan menulis dengan cahaya lilin. Java pada dasarnya adalah kuno dibandingkan dengan Scala.