Scala chạy trên nền máy ảo Java và tương thích với chương trình Java. Nó cũng có thể chạy trên Android.[2] Nó cũng có thể chạy trên nền tảng.NET, nhưng chưa ổn định.[3]
Scala có kiểu biên dịch giống như Java và C#, nên Scala code có thể đọc được thư viện Java (hoặc thư viện.NET).
Scala bắt đầu được thiết kế từ năm 2001 tại École Polytechnique Fédérale de Lausanne (EPFL) bởi Martin Odersky, tiếp tục phát triển khi làm việc tại Funnel, một ngôn ngữ lập trình tích hợp các ý tưởng về lập trình hàm và mạng Petri.[5] Sau đó, Odersky làm việc với Generic Java và javac, trình biên dịch Sun's Java.[5] Scala được cho ra những phiên bản đầu vào cuối năm 2003 / đằu 2004 trên nền Java, và nền.NET vào tháng 6 năm 2004.[1][5][6] Phiên bản 2.0 ra mắt tháng 3 năm 2006.[1]
Tính năng của lập trình Hướng đối tượng
Scala là ngôn ngữ thuần lập trình hướng đối tượng trong cú pháp theo quy tắc tất cả giá trị biến đều là một đối tượng. Kiểu dữ liệu và hành vi của một đối tượng được mô tả bằng các lớp. Các lớp trừu tượng được mở rộng bằng các lớp con và hạn chế các khó khăn trong đa kế thừa.
Lập trình hàm
Scala hỗ trợ lập trình hàm. Nó hỗ trợ cú pháp ngắn gọn cho việc định nghĩa các hàm, cho phép hàm lồng vào nhau. Dùng từ khóa lazy để trì hoãn sử dụng một biến cho đến khi cần sử dụng nó.
Scala hỗ trợ các kiểu dữ liệu đại số của lập trình hàm.
Trong thực tế, các ứng dụng luôn phải thay đổi để đáp ứng các yêu cầu cụ thể, Scala được thiết kế để phục vụ mục đích đó. Scala cung cấp một dạng ngôn ngữ máy độc đáo giúp hỗ trợ lập trình dựa tên các thư viện hàm có sẵn:
mọi phương thức (hàm) đều có thể dùng như là một toán tử
đánh dấu kết thúc cú pháp tự động.
Phần mềm sử dụng Scala
Lift là một nền Web miễn phí dựa trên Scala, được xây dựng với mục đích cung cấp các tính năng mà Ruby on Rails có, đồng thời khắc phục các nhược điểm mà Ruby on Rails gặp phải. Tất cả thư viện hàm của Java và lập trình Web đầu có thể chạy trên nền Lift.
Tháng 4 năm 2009 Twitter thông báo đã chuyển đa số phần code bên trong từ Ruby sang Scala và sẽ chuyển đổi toàn bộ.[7] Thêm vào đó Foursquare sử dụng Scala và Lift.[8]
^ abcdMartin Odersky et al., An Overview of the Scala Programming Language, 2nd Edition
^“Scala on.NET”. Programming Methods Laboratory of EPFL. ngày 7 tháng 1 năm 2008. Bản gốc lưu trữ ngày 9 tháng 10 năm 2007. Truy cập ngày 15 tháng 1 năm 2008. Scala is primarily developed for the JVM and embodies some of its features. Nevertheless, its.NET support is designed to make it as portable across the two platforms as possible.
Pollak, David (ngày 25 tháng 5 năm 2009), Beginning Scala (ấn bản thứ 1), Apress, tr. 776, ISBN1430219890, Bản gốc lưu trữ ngày 5 tháng 12 năm 2010, truy cập ngày 6 tháng 12 năm 2010Đã bỏ qua tham số không rõ |= (trợ giúp)