danh sách hiểu, cho hiểu.
ví dụ trong java bạn viết:
int myVar;
if (condition) {
myVar = //some value
}
else {
myVar = //some other value
}
Trong scala, cùng một mã, được viết thanh lịch hơn nhiều (như python) như:
int myVar = (//some value) if (condition) else // other value;
và thực hiện.
Có rất nhiều thứ mà Scala cung cấp mà Java không có. Đơn giản là không có sự so sánh nào cả. Vấn đề duy nhất là mọi người quen thuộc hơn với Java (b / c đó là những gì họ dạy trong các lớp CS) và chưa thành thạo với mô hình Scala.
Scala có đệ quy đuôi, nó có thể trả về các bộ dữ liệu (một cái gì đó có thể sẽ đến trong Java 8 tôi nghĩ).
Không có so sánh. Scala được phát triển bởi Martin Orderky, người đã làm việc trong nhóm nòng cốt cho Java Generics.
Scala chỉ là một ngôn ngữ vượt trội. Thats tất cả để có nó. Những người nói cách khác chỉ đơn giản là chưa khám phá Scala đủ để biết rõ hơn.
Ở trên, tôi muốn nói là tối ưu hóa đệ quy đuôi (mà JVM không thể làm theo cách mà trình biên dịch của Scala có thể).
Scala cũng biên dịch và chạy nhanh hơn các ứng dụng JVM (Vâng, đó là sự thật). Không đề cập đến các khung. Chúng tôi sử dụng Tomcat chẳng hạn và triển khai một số dịch vụ để xử lý REST.
Một điều Tomcat không thể làm, là các hoạt động không đồng bộ yêu cầu I / O không chặn. Đối với điều này, các nhà phát triển JAVA thường phát minh ra cách giải quyết bằng cách sử dụng hàng đợi tin nhắn (gửi tin nhắn đến hàng đợi và một số quy trình hoặc chuỗi khác chọn nó và làm bất cứ điều gì bạn muốn trong nền).
Thật không may, phương pháp này là cr * p và một bản hack về những hạn chế của việc triển khai các máy chủ Java trên Tomcat.
Đi kiểm tra akka + xịt. Nó sử dụng Diễn viên của Scala (Diễn viên giống như Chủ đề, ngoại trừ cách duy nhất họ có thể giao tiếp là qua tin nhắn).
Và thực hiện, các cuộc gọi REST không đồng bộ được thực hiện dễ dàng. Nhiệm vụ nền dài hạn? Không vấn đề gì. Chỉ cần bắn và quên, và thực hiện một số bỏ phiếu REST để kiểm tra trạng thái của nó từ giao diện người dùng một lần trong một thời gian.
Nếu bạn vẫn đang sử dụng Java và nghĩ rằng nó tốt hơn scala, bạn cũng có thể ngừng sử dụng máy tính của mình để gõ và quay lại thời của bút lông và viết dưới ánh nến. Java về cơ bản là antediluvian so với Scala.