Published Sep 3, 2019

Episode 171: Scala Update with Martin Odersky

Delve into the world of Scala with creator Martin Odersky as he unpacks parallel programming challenges, the practical integration of Domain-Specific Languages, and Scala's vibrant community and future developments, revealing how the language continues to lead programming innovation.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Parallel Challenges

    Parallel programming in Scala faces significant challenges, especially when scaling to handle many cores effectively. highlights the increasing demand for compute power beyond graphics, such as big data and precise models, which necessitates more parallelization 1. He argues that while tools like actors and software transactional memory (STM) are useful, they don't fully address the complexities of parallelism, which involves using many cores for sequential tasks 1.

    You will have to paralyze more and more things and nobody knows how to do that.

    ---

    Odersky emphasizes the need for running sequential applications in parallel without burdening programmers with concurrency issues, distinguishing parallelism from concurrency 2.

       

    Concurrency

    Concurrency in Scala is evolving, with a focus on embedding domain-specific languages rather than extending the language with concurrent constructs. explains that the goal is to handle the increasing number of processor elements efficiently, as hardware developments continue to advance 3. He notes that the introduction of parallel collections in Scala 2.9 allows operations to be interpreted in parallel, enhancing performance without requiring programmers to manage concurrency directly 4.

    We take the collections framework and we make to give you optionally the possibility to interpret all operations in parallel.

    ---

    This approach aims to balance the need for parallelism with the simplicity of sequential programming, leveraging tools like fork join thread pools to optimize execution 4.

Related Episodes