Bạn có cần biết Java trước khi thử Scala


15

Tôi thích học Scala. Tôi đã đọc rất nhiều về nó, nhưng nhiều người đánh giá cao nó bởi vì nó có mô hình diễn viên tốt hơn cho sự tương tranh, nó xử lý xml theo cách tốt hơn nhiều, giải quyết vấn đề của các chức năng hạng nhất.

Câu hỏi của tôi là bạn có cần biết Java để hiểu / đánh giá cao cách mọi thứ hoạt động trong Scala không? Trước tiên hãy thử sử dụng Java và sau đó thử Scala hoặc bạn có thể bắt đầu Scala mà hoàn toàn không có java backround?


5
Bạn có cần một cái biface để đánh giá cao cách cưa hoạt động? : D
back2dos

lol, tôi sẽ đưa ra câu trả lời này
gizgok

Câu trả lời:


17

Scala là ngôn ngữ riêng của nó và bản thân nó không đòi hỏi kiến ​​thức về bất kỳ ngôn ngữ hiện có nào. Nếu bạn muốn, bạn có thể học Scala như ngôn ngữ đầu tiên của bạn. Trên trang Learning Scala trên trang web của họ , có các điểm hướng dẫn cho các cấp độ kinh nghiệm khác nhau, từ các lập trình viên lần đầu đến các nhà nghiên cứu ngôn ngữ lập trình đến các chuyên gia lập trình chức năng.

Thật không may, hầu hết các tài liệu tập trung vào những người biết cách lập trình, thật không may, nhưng tôi thực sự đã làm việc thông qua một số hướng dẫn về Scala. Nó không tệ. Mặc dù vậy, bạn sẽ hiểu rằng bạn hiểu một số khái niệm cơ bản.


4
Thomas hoàn toàn chính xác. Tôi chỉ muốn thêm một phần của sự hấp dẫn của Scala là bạn có thể sử dụng lại toàn bộ thư viện tiêu chuẩn lớn của Java. Điều đó có thể hoặc không quan trọng trong trường hợp của bạn, nhưng nếu có, thì kinh nghiệm trước đây với Java rõ ràng sẽ rất hữu ích, vì bạn không thể giúp học được nhiều về thư viện chuẩn.
Kilian Foth

@Kilian Tôi nghĩ về điều đó. Tôi vẫn đang học Scala và thực sự chưa làm được điều gì có ý nghĩa với nó, nhưng tôi không chắc việc biết Java có thể sử dụng thư viện Java trong Scala quan trọng đến mức nào. Không giống như bạn thả vào cú pháp / kiểu Java để gọi JAR được biên dịch sẵn từ Scala.
Thomas Owens

1
Đối với mọi nền tảng hiện đại, việc học thư viện chuẩn mất nhiều thời gian hơn là học cú pháp ngôn ngữ. Vì vậy, có một lợi ích khi biết các thư viện Java nếu bạn đang cố gắng học Scala.
Jeremy

16

Java có nghĩa là hai điều khác nhau:

  1. ngôn ngữ Java - bao gồm ngôn ngữ, với cú pháp, quy tắc, tính năng và ngữ nghĩa tổng thể của nó
  2. nền tảng Java - bao gồm thời gian chạy (JVM), toàn bộ thư viện chuẩn và một số khung / thư viện phổ biến. Lưu ý rằng cũng có các "thời gian chạy" Java khác như được thực thi dưới dạng JavaScript sau khi biên dịch chéo thông qua GWT hoặc Java trên Android, cũng được chạy trong một thời gian chạy khác

Cả ngôn ngữ Java và Scala đều chạy trên cùng một nền tảng. AFAIK Scala có thể gọi xuống mã Java khá dễ dàng, vì vậy nếu có bất kỳ sự quan tâm thực sự trong việc học Java để hiểu / đòn bẩy Scala, sau đó nó là phải hiểu cách thức hoạt động này và làm thế nào bạn có thể mã Java sử dụng tốt nhất từ bên trong một ứng dụng Scala. Là một ngôn ngữ, Java dường như không thể dạy cho bạn bất cứ điều gì C # sẽ không dạy bạn bây giờ (tôi giả sử từ hồ sơ của bạn, bạn có một số kinh nghiệm về C #).

Tương tự câu hỏi này sẽ là:

Bạn có cần biết C # / VB.NET trước khi thử F # không?

Trong cả hai trường hợp, câu trả lời là một "Không" khá vững chắc

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.