Java หมายถึงสองสิ่งที่แตกต่าง:
- ภาษาจาวา - ซึ่งรวมถึงภาษาที่มีไวยากรณ์กฎคุณสมบัติและความหมายโดยรวม
- แพลตฟอร์ม Java - ซึ่งรวมถึง runtime (JVM), ไลบรารีมาตรฐานทั้งหมดและจำนวนเฟรมเวิร์ก / ไลบรารียอดนิยม โปรดทราบว่ายังมี "runtimes" Java อื่น ๆ เช่นการดำเนินการเป็น JavaScript หลังจากการคอมไพล์ผ่าน GWT หรือ Java บน Android ซึ่งยังทำงานในรันไทม์ที่แตกต่างกัน
ทั้งภาษา Java และ Scala ทำงานบนแพลตฟอร์มเดียวกัน AFAIK Scala สามารถเรียกใช้รหัส Java ได้อย่างง่ายดายดังนั้นหากมีความสนใจในการเรียนรู้ Java เพื่อทำความเข้าใจ / ยกระดับ Scala คุณต้องเข้าใจวิธีการทำงานนี้และวิธีการใช้รหัส Java จากภายในแอป Scala ได้ดีที่สุด ในฐานะภาษา Java ไม่น่าจะสอนคุณในสิ่งที่ C # จะไม่สอนคุณในขณะนี้ (ฉันสันนิษฐานจากโปรไฟล์ของคุณว่าคุณมีประสบการณ์ C #)
. NET-analogy ของคำถามนี้จะเป็น:
คุณจำเป็นต้องรู้ C # / VB.NET ก่อนลอง F # หรือไม่
ไม่ว่าในกรณีใดคำตอบก็คือ"ไม่"