Professional Documents
Culture Documents
Giới thiệu khái niệm SCALA
Giới thiệu khái niệm SCALA
Tên Scala mô tả khả năng mở rộng mà ngôn ngữ có khả năng cung cấp. Trên thực tế, các
ngôn ngữ phổ biến khác như Python, Java, Ruby,... có khả năng mở rộng, nhưng có nhiều
hạn chế. Scala được phát minh để khắc phục những hạn chế này và giảm thiểu thời gian
thực thi cũng như độ phức tạp của mã.
Vào năm 2006, Twitter được giới thiệu ở Mỹ và các nhà phát triển đã sử dụng Ruby on
Rails làm công cụ chiến lược để phát triển ứng dụng này. Khi đưa vào thực tế, điều này là
một lựa chọn sai lầm khi họ phải quản lý lượng Big Data khổng lồ của Twitter.
Sau đó, họ chuyển phần phụ trợ sang Java và sử dụng Scala làm ngôn ngữ lập trình mới
để xử lý dữ liệu lớn bằng cách sử dụng các khung Hadoop và Spark , hoạt động một cách
rất hiệu quả.
Các ngôn ngữ truyền thống chỉ hỗ trợ một trong hai tính năng của các ngôn ngữ: lập trình
hướng đối tượng (OOP) và lập trình hàm (FP). Trong khi đó, Scala được thiết kế tích hợp
cả hai, mang lại nhiều lợi ích trong việc phát triển các phần mềm, web...
Scala cũng được sử dụng rộng rãi trong Data Science (Khoa học dữ liệu) và Data
Analysis (phân tích dữ liệu), đặc biệt là trong Apache Spark, nền tảng xử lý phân tán
được sử dụng rộng rãi trong Big Data.
Cụ thể hơn:
Làm giảm kích thước của code (hai đến ba lần so với Java), giúp viết code và maintain
diễn ra nhanh chóng và dễ dàng hơn.
“free error”: Trang bị đầy đủ các hệ thống phát hiện, giúp tránh được những lỗi ứng dụng
có thể xảy ra trong quá trình biên dịch, ngắn gọn, dễ đọc, dễ debug.
Cung cấp các thư viện và Framework tốt.
Dễ dàng mở rộng và mang tính phát triển mạnh mẽ, giúp người học nhanh chóng tìm
được một công việc phù hợp với mức lương hấp dẫn.
Khó học: Scala có cú pháp khá phức tạp và nhiều tính năng.
Hiệu năng: Scala là một ngôn ngữ được chạy trên nền tảng JVM do đó hiệu năng của
Scala có thể thấp hơn so với Java.
Thiếu tài liệu, cộng đồng: tài liệu và nguồn thông tin về Scala có thể ít hơn so với các
ngôn ngữ lập trình phổ biến khác.
Thời gian biên dịch: Do cú pháp phức tạp nên thời gian biên dịch của Scala có thể lâu
hơn so với các ngôn ngữ khác.
Khả năng tương thích ngược: Mỗi khi cập nhật lên các phiên bản mới, người dùng phải
thực hiện thay đổi tên các Package, Class, Method, Function...
NGÔN NGỮ LẬP TRÌNH SCALA Phần1: TỪ CÂU CHUYỆN CỦA TWITTER đến những ứng dụng thực tế,
ưu nhược điểm.