Hai điều:
- 99% của mã Java có thể được thể hiện bằng Scala
- Bạn có thể viết các dự án có hỗ trợ Java hỗn hợp + Scala biên dịch. Mã Scala của bạn có thể gọi mã Java của bạn và mã Java của bạn có thể gọi mã Scala của bạn. (Nếu bạn muốn làm điều sau, tôi đề nghị xác định giao diện trong Java và sau đó chỉ cần thực hiện nó trong Scala. Nếu không, gọi mã Scala từ Java có thể có một chút xấu xí.)
Vì vậy, câu trả lời là: các bộ phận bạn muốn. Mã Scala của bạn không cần phải hoàn toàn hoạt động. Mã Scala của bạn có thể gọi các thư viện Java. Vì vậy, khá nhiều phần bạn có thể viết bằng Java, bạn cũng có thể viết trong Scala.
Bây giờ, một số cân nhắc thực tế hơn. Khi lần đầu tiên thử Scala, một số người chọn các phần tương đối cô lập, phi sứ mệnh trong chương trình của họ để viết trong Scala. Bài kiểm tra đơn vị là một ứng cử viên tốt nếu bạn thích cách tiếp cận đó.
Nếu bạn đã quen thuộc với Java và đã học được Haskell trong quá khứ, tôi khuyên bạn nên coi Scala là "Java tốt hơn". Về cơ bản, Scala biên dịch sang bytecode JVM rất, rất giống với kết quả đầu ra Java. Sự khác biệt duy nhất là Scala là "hiệu quả" hơn: nó tạo ra nhiều bytecode trên mỗi dòng mã hơn Java. Scala có rất nhiều điểm chung với Haskell (các hàm hạng nhất, cho hiểu cũng giống như ký hiệu của Haskell, suy luận kiểu giới hạn), nhưng nó cũng rất khác nhau (nó không phải là lười theo mặc định, nó không thuần túy). Vì vậy, bạn có thể sử dụng một số thông tin chi tiết của bạn từ Haskell để truyền cảm hứng cho phong cách Scala của bạn, nhưng "dưới mui xe" đó là tất cả bytecode Java.
Nguồn
2009-09-21 06:12:43
Điểm lấy ... may mắn thay đó là một dự án nhà, vì vậy tôi có thể tận dụng nó như một kinh nghiệm học tập. Nếu nó chứng tỏ thành công, tôi chắc chắn sẽ xem xét việc truyền giáo Scala tại văn phòng. –
Vâng tôi đồng ý. Dự án đa ngôn ngữ là rất có vấn đề. Chúng tôi đang trải qua điều tương tự ở đây. –
Thực ra tôi là fan của JVM + ... Tôi chỉ ra rằng để làm điều đó một cách hiệu quả, nó thực sự đơn giản hơn nhiều khi học 100% dự án đầu tiên. –