Jawa berarti dua hal yang berbeda:
- bahasa Java - ini termasuk bahasa, dengan sintaks, aturan, fitur dan semantik keseluruhannya
- platform Java - ini termasuk runtime (JVM), seluruh perpustakaan standar dan sejumlah kerangka kerja / perpustakaan populer. Perhatikan ada juga "runtime" Java lainnya seperti dieksekusi sebagai JavaScript setelah kompilasi silang melalui GWT, atau Java pada Android, yang juga berjalan dalam runtime yang berbeda
Bahasa Jawa dan Scala keduanya berjalan pada platform yang sama. AFAIK Scala dapat menelepon ke bawah untuk kode Java cukup mudah, jadi jika ada salah bunga riil dalam belajar Java untuk memahami / leverage Scala, maka itu adalah untuk memahami cara kerja ini dan bagaimana Anda dapat terbaik penggunaan kode Java dari dalam aplikasi Scala. Sebagai bahasa, Java tidak mungkin mengajarkan Anda apa pun yang C # tidak akan mengajarkan Anda sekarang (saya berasumsi dari profil Anda, Anda memiliki beberapa pengalaman C #).
Pertanyaan ini .NET-analogi adalah:
Apakah Anda perlu tahu C # / VB.NET sebelum mencoba F #?
Dalam kedua kasus itu, jawabannya adalah "Tidak" yang tegas .