Scalara đời năm 2003 đã trở thành một ngôn ngữ Server bậc cao được yêu thích trên toàn thế giới. Scala mang sức mạnh của lập trình hướng đối tượng được kế thừa và phát triển từJavacộng với những tính năng của một ngôn ngữ lập trình hàm hiện đại.
Bạn đang xem: Scala là gì
Scala là một ngôn ngữ chặt chẽ và rất “professional” khi phát triển những hệ thống cần scale lớn, đồng thời cũng rất “quyến rũ” đối với hacker. Tuy vậy Scala cũng là một ngôn ngữ lớn với những khái niệm tương đối khó. Hi vọng loạt bài viết lần này sẽ điểm qua được những điểm nổi bật để giúp bạn có cái nhìn tổng quan về Scala.

Image credit: Toptal
Tại sao lại chọn Scala ?
Scala là ngôn ngữ hướng đối tượng chuẩn mực.Tại sao lại chuẩn mực ? Vì Scala kế thừa những tính năng hướng đối tượng từ Java, ngôn ngữ “mainstream” về hướng đối tượng, đồng thời đã tiến hóa thêm một bậc.
• Mixinviết bằngTrait
• Structural subtyping
• Variance
• Self type annotation
• Kế thừa class kiểuimplicit
• Xác lập quyền truy cập rõ ràng với từ khóa kiểuprivate
• Tất cả các giá trị có thể sử dụng như là một object.
Xem thêm: Foc Là Gì – Phòng Foc Trong Khách Sạn Nghĩa Là Gì
Nếu bạn có nền tảng tốt về Java thì sẽ thấy quen thuộc trong một số tính năng kể trên. Nhưng hãy đợi phần cụ thể nhé.
Scala là ngôn ngữ lập trình hàm bậc cao
Có rất nhiều ngôn ngữ lập trình hàm: Lisp, Haskell…. từng tồn tại. Trong số đó Scala thậm chí được xếp là một ngôn ngữ lập trình hàm bậc cao. Có những lý do sau đây:
• Hỗ trợCase class
• Hỗ trợPattern matching
• Class định nghĩa vớiimplicit parameter
• Monad
• Higher kinded type
Mỗi tính năng ở trên còn được phát triển thành nhiều tính năng nhỏ khác. Nếu bạn chưa dùng một ngôn ngữ lập trình hàm bao giờ thì có thể choáng ngợp và chưa bao giờ nghe đến những tính năng trên. Đừng lo, chúng ta sẽ làm quen dần dần!
Scala tương thích với Java
Một ưu điểm rất lớn của Scala là độ tương thích với Java. Scala có thể gọi và sử dụng bất cứ thư viện Java nào, hơn thế nữa bản thân code Scala khi biên dịch ra cũng là cùng mã bytecode của JVM. Như vậy nguồn thư viện và kiến thức khổng lồ của ngành công nghiệp không bị lãng phí mà có thể tùy ý sử dụng theo chọn lựa.
Scala ưu việt khi xử lý tính toán song song, phân tán và bất đồng bộ
Scala có bộ thư viện chuẩn Future để làm tính toán bất đồng bộ. Đồng thời Web frameworkPlaycũng dưa trên bộ thư việnNetty.
Xem thêm: A&p là gì
Akka lại là một thư viện rất mạnh nữa để xử lý tính toán phân tán và tính toán song song. Trong Akka tồn tại khái niệm Actor như là hạt nhân cơ bản. giao tiếp với nhau thông qua message.
Chuyên mục: Hỏi Đáp