Thoughts on Programming Languages • Erik Meijer, Mads Torgersen & Dave Thomas • YOW! 2020

Industry experts Erik Meijer, Mads Torgersen & Dave Thomas discuss the future of programming languages, from cloud computing to ML integration and modern design challenges.

Key takeaways
  • Programming languages continue to evolve with increasing focus on combining paradigms rather than staying in strict camps (functional, OO, etc.)

  • The challenge of efficient implementation often conflicts with elegant mathematical/theoretical models in language design

  • Cloud computing and distributed systems present new challenges for language design, particularly around transparency, error handling, and latency

  • Low-code/no-code tools serve a purpose but have limitations and won’t replace traditional programming languages

  • Text remains the dominant format for programming, though tooling around it has greatly improved

  • Compositionality is crucial for making complex programs comprehensible and maintainable

  • The integration of machine learning and continuous mathematics presents new challenges for programming language design

  • Language wars are becoming less prevalent as developers recognize different tools for different purposes

  • Specification languages and formal verification remain challenging to integrate effectively with implementation languages

  • Modern language design struggles with balancing abstraction and performance, particularly around areas like:

    • Concurrency/parallelism
    • Memory management
    • Hardware optimization
    • Cross-language interoperability
  • Notebooks have emerged as a practical form of literate programming, especially for data science

  • Programming languages need to evolve to better handle:

    • Probabilistic programming
    • Quantum computing
    • Cloud-native development
    • Machine learning workloads