Tôi có thể nói rằng tôi thực sự yêu Scala nhưng bây giờ tôi muốn biết các tính năng bạn không thể sống mà không có khi làm việc với Scala? Điều gì về Scala 2,8?Các tính năng tốt nhất của Scala là gì?
Trả lời
Nếu tôi phải quay trở lại Java, đây là điều tôi muốn nhớ nhất: đóng cửa, chức năng bậc cao hơn, khớp mẫu, trường hợp và nhấn mạnh vào tính bất biến.
Tôi đã ở trạng thái 2.8 trong một thời gian. Nếu tôi phải quay trở lại 2.7, điều chính tôi bỏ lỡ là tính nhất quán, sạch sẽ và phong phú của API bộ sưu tập 2.8. Đó là waaaaaay tốt hơn 2,7 thứ. Nhưng tôi cũng thực sự bỏ lỡ tên và các đối số mặc định.
+1. Tôi đã xem xét các bộ sưu tập Java chỉ là ngày khác, và đã được khắc phục với cảm giác rằng nó đã được cố ý thiết kế để trở thành API tồi tệ nhất từ trước tới nay. –
Daniel, tôi nghĩ bạn phải xem qua các lớp sưu tập của MFC;). Tôi nghĩ rằng các bộ sưu tập của Java không phải là xấu xem xét rằng không có chức năng nặc danh trong Java. – Alexey
Loại suy luận tiết kiệm rất nhiều lần nhập vô nghĩa. map
và foreach
và các nội dung tương tự trên bộ sưu tập rất tuyệt vời, đặc biệt là kết hợp với trình lặp lặp mặc định lười và cú pháp hàm thực sự dễ dàng.
Nhưng, với tư cách là một người thực hiện nhiều tính toán khoa học, điều tôi thực sự nhớ nhất là có thể viết mã hiệu năng cao, bọc nó trong các lớp hiệu quả, sau đó sử dụng bản đồ và toán tử (+, *, bất cứ điều gì) để thao túng những cấu trúc cấp cao theo cách mà tôi thực sự nghĩ về chúng.
Đối với 2,8 so với 2,7 - cải thiện là khá gia tăng từ quan điểm của tôi. Nó tốt hơn một chút ở nhiều khu vực; có rất ít điểm để nói và "Ồ, cái đó!" Tôi hy vọng chú thích chuyên ngành mới sẽ giúp tôi rất nhiều, nhưng tôi chưa thấy nó hoàn toàn hoạt động trong thư viện, vì vậy tôi đang giữ lại sự phán xét.
Tôi nghĩ rằng nó không phải là một tính năng nhưng sự conciseness mà Scala đạt được là những gì tôi thích nhất.
Điều này tất nhiên chỉ có thể vì suy luận kiểu, đóng cửa, hệ thống loại lớn, v.v. Tôi không nghĩ bạn có thể chia nhỏ xuống một hoặc hai tính năng. Họ làm việc cùng nhau và kết quả, mã súc tích, là thứ tôi gọi là tính năng sát thủ.
Tôi thích viết ở Scala. Đó là tính năng # 1 trong cuốn sách của tôi :)
tôi chỉ có thể tiếp tục với những gì tôi muốn thay vì nhảy qua hoops Java:
- val/var có nghĩa là tôi không cần phải viết kiểu gấp đôi
- Đóng cửa có nghĩa là tôi không phải viết nhiều giao diện ẩn danh và có thể tái sử dụng nhiều mã
- Thông số được đặt tên có nghĩa là tôi không phải nhớ vị trí của từng đối số - tuyệt vời cho cả đọc và viết
- Trường hợp các lớp học có nghĩa là tôi nhận được toString và bằng miễn phí ... làm cho gỡ lỗi ging dễ dàng hơn nhiều!
- Một API phong nha cho bộ sưu tập (ví dụ như bản đồ, gấp) có nghĩa là tôi có thể nói những gì tôi muốn làm thay vì nhảy múa các vũ điệu lặp
Đối với 2,8 vs 2,7 ... Tôi đã chỉ bao giờ thực sự dành thời gian chất lượng với 2,8 ;-)
nên là cộng đồng wiki. – missingfaktor
Xin lỗi vì điều này. Tôi đã thay đổi thành wiki cộng đồng! –