Java có nghĩa là hai điều khác nhau:
- 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ó
- 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