Published Sep 3, 2019

SE-Radio-Episode-266:-Charles-Nutter-on-the-JVM-as-a-Language-Platform

Charles Nutter explores the versatility of the Java Virtual Machine (JVM) as a language platform, delving into interoperability challenges and the transformative journey of JRuby development. With insights into performance, integration with languages like Ruby, and the pivotal role of open-source collaboration, this episode illuminates the JVM's evolution and adaptability influenced by companies like Sun and Oracle.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Interoperability

    Language interoperability on the JVM presents unique challenges and opportunities. explains that while the JVM serves as a common platform, languages like JRuby, Scala, and Jython often rely on Java as the intermediary for communication. This approach simplifies integration but also highlights Java's role as the "lingua franca" of the JVM 1. Nutter notes that JRuby's dynamic nature requires careful handling when interacting with Java libraries, often needing explicit type hints to ensure correct method calls 2.

    We always go through Java as our standard set of interop types, and that works pretty well most of the time.

    ---

    He emphasizes that while JRuby can easily call Java, the reverse is more complex, often necessitating interface implementations to smooth the process 2.

       

    Integration

    Integration challenges arise when adapting JVM to support features from languages like Ruby. points out that the JVM's handling of strings and native libraries can complicate integration, as Ruby uses strings for binary data, unlike Java 3. This complexity requires innovative solutions to align the two systems. Nutter also discusses how alternative languages like Go and Rust introduce features that challenge the JVM, such as Go's efficient coroutine management 4.

    The platform could get support for true native co routines, just like Go has.

    ---

    He believes that the interest in these features could drive JVM enhancements, benefiting all languages on the platform.

Related Episodes