Artwork

Content provided by Scalawags Podcast. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Scalawags Podcast or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Scalawags #25 - Interview with Martin Odersky

1:10:01
 
Share
 

Archived series ("HTTP Redirect" status)

Replaced by: scalawags.tv

When? This feed was archived on December 02, 2017 16:21 (6+ y ago). Last successful fetch was on August 17, 2017 14:32 (6+ y ago)

Why? HTTP Redirect status. The feed permanently redirected to another series.

What now? If you were subscribed to this series when it was replaced, you will now be subscribed to the replacement series. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 60657997 series 60604
Content provided by Scalawags Podcast. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Scalawags Podcast or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Scalawags #25: Interview with Martin Odersky

YouTube link: https://www.youtube.com/watch?v=uP-m8j8ZN-Q

Your hosts this episode: Daniel Spiewak, Heather Miller, Seth Tisue.

Daniel returns to the show, puts on his enterprise hat, and confesses his dark fetish!

Our guest is Martin Odersky, creator of Scala.

Intro (0:00)
  • Josh-less, Dick-less, music-less. our guest this week better be good
Scala eXchange (1:50)
  • London. 600 people, standing room only
  • intro talks, advanced talks pushing the limits of the type system. hopefully not too big a gap in between
  • Martin: "the community as a whole is becoming more specialized". Scala plus this or that library
Typed trees and binary compatibility (5:00)
  • Martin's keynote at Scala eXchange
  • binary compatibility: it still pesters us
  • why don't other languages suffer as much from this?
    • Java is much closer to the JVM and much more conservative about making changes
    • most other languages build from source
  • should Scala build from source?
    • but with what build tool?
    • reproducible builds are hard to attain
  • new idea: distribute Scala software as partially compiled "typed trees"
    • "it's very simple to go from typed trees to bytecode" or some other back end like Scala.js
    • typed trees compiled from Scala 2.n could be remapped for 2.(n + 1)
    • typed trees are "in a sense a Scala-specific bytecode format... that capture Scala semantics better than Java bytecode"
  • where/how will the trees be stored?
  • other tools could take advantage of the trees, e.g. optimizers, analyzers, bug finders
  • Daniel puts on his enterprise hat: what about code obfuscation? he's also concerned about performance whenever extra information is being carried around
  • Seth: perhaps one day, distributing binaries alone will come to seem strange. it should be an optimization, not the default
  • Heather: in web development we already have original JavaScript vs. compressed, stripped, optimized JavaScript
  • everyone is a bit confused about attributes and annotations
What's it like being Martin's student? (26:15) Scala.NET and Scala.js (34:55)
  • will Scala support .NET again?
    • (viewer question from Pablo Perez)
  • Martin: "It depends on the community."
    • for the old Scala.NET effort, "there was no community... in the end it became sterile"
  • Martin: "I'm in awe" of the Scala.js community, what they've achieved and how much fun they're having
  • Daniel: the hard part is semantic mismatches between the JVM and other targets
  • Martin: one language addition is needed for Scala.js: different handling of pattern matching for numeric types, to reduce boxing
  • Seth: why hasn't FP gotten that much traction yet for client work, for UIs?
    • Martin agrees it's a historical accident
    • functional reactive programming ftw
    • Heather: popular JavaScript libraries increasingly reflect functional ideas, e.g. React from Facebook
    • Daniel: on iOS, Cocoa "increasingly approaches FRP"
  • Martin: can we sell types to the front-end people?
  • Daniel likes the record polymorphism in JavaScript (and OCaml)
  • not only doesn't JavaScript have types, it doesn't have a culture of testing, either?
Typelevel Scala (47:35)
  • will changes from Typelevel Scala be merged into main Scala?
  • Typelevel's policy is not to break backwards compatibility, so why not?
  • "we are working together very well" -- Typelevel can prototype things fast, standard Scala changes take years
  • Daniel: Typelevel is discovering how hard it is to change anything without breaking compatibility
    • example: Erik Osheim's work on byte literals
    • example: type lambdas
    • "everything has been hidden behind flags"
  • Martin: the Scala community build (1.4 million lines of community code) can help decide whether a corner case is an issue in practice
  • popular features in Typelevel Scala could become natural candidates for inclusion in standard Scala
Scala online courses (53:40) Community issues (55:10)
  • Heather: what should the Scala community be doing, what are we not doing, where is the community and where is it heading?
  • Martin: it's bigger, there's been some drama, ...
  • direction: "transparent, open collaboration" on "fast-moving open-source things"
    • meanwhile, Typesafe is the "backstop" for the enterprise
  • comparison with Spark community
  • Typesafe's efforts to modularize the standard library to facilitate contributions
    • Martin: hey Daniel, how about that Anti-XML thing?
Modular staging (1:05:05)
  • Tell us about lightweight modular staging. Will the Scala.meta project give us staged compilation?
  • Compilation at runtime, for efficiency
  • Lightweight modular staging uses the type system heavily
    • Issues: fragile implicits, slow compile times. Ongoing efforts to improve
  • Scala.meta attempts to make these techniques "more digestible". In flux, no clear winner.
Conclusion (1:09:15)
  • thanks Martin!

  continue reading

41 episodes

Artwork
iconShare
 

Archived series ("HTTP Redirect" status)

Replaced by: scalawags.tv

When? This feed was archived on December 02, 2017 16:21 (6+ y ago). Last successful fetch was on August 17, 2017 14:32 (6+ y ago)

Why? HTTP Redirect status. The feed permanently redirected to another series.

What now? If you were subscribed to this series when it was replaced, you will now be subscribed to the replacement series. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 60657997 series 60604
Content provided by Scalawags Podcast. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Scalawags Podcast or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Scalawags #25: Interview with Martin Odersky

YouTube link: https://www.youtube.com/watch?v=uP-m8j8ZN-Q

Your hosts this episode: Daniel Spiewak, Heather Miller, Seth Tisue.

Daniel returns to the show, puts on his enterprise hat, and confesses his dark fetish!

Our guest is Martin Odersky, creator of Scala.

Intro (0:00)
  • Josh-less, Dick-less, music-less. our guest this week better be good
Scala eXchange (1:50)
  • London. 600 people, standing room only
  • intro talks, advanced talks pushing the limits of the type system. hopefully not too big a gap in between
  • Martin: "the community as a whole is becoming more specialized". Scala plus this or that library
Typed trees and binary compatibility (5:00)
  • Martin's keynote at Scala eXchange
  • binary compatibility: it still pesters us
  • why don't other languages suffer as much from this?
    • Java is much closer to the JVM and much more conservative about making changes
    • most other languages build from source
  • should Scala build from source?
    • but with what build tool?
    • reproducible builds are hard to attain
  • new idea: distribute Scala software as partially compiled "typed trees"
    • "it's very simple to go from typed trees to bytecode" or some other back end like Scala.js
    • typed trees compiled from Scala 2.n could be remapped for 2.(n + 1)
    • typed trees are "in a sense a Scala-specific bytecode format... that capture Scala semantics better than Java bytecode"
  • where/how will the trees be stored?
  • other tools could take advantage of the trees, e.g. optimizers, analyzers, bug finders
  • Daniel puts on his enterprise hat: what about code obfuscation? he's also concerned about performance whenever extra information is being carried around
  • Seth: perhaps one day, distributing binaries alone will come to seem strange. it should be an optimization, not the default
  • Heather: in web development we already have original JavaScript vs. compressed, stripped, optimized JavaScript
  • everyone is a bit confused about attributes and annotations
What's it like being Martin's student? (26:15) Scala.NET and Scala.js (34:55)
  • will Scala support .NET again?
    • (viewer question from Pablo Perez)
  • Martin: "It depends on the community."
    • for the old Scala.NET effort, "there was no community... in the end it became sterile"
  • Martin: "I'm in awe" of the Scala.js community, what they've achieved and how much fun they're having
  • Daniel: the hard part is semantic mismatches between the JVM and other targets
  • Martin: one language addition is needed for Scala.js: different handling of pattern matching for numeric types, to reduce boxing
  • Seth: why hasn't FP gotten that much traction yet for client work, for UIs?
    • Martin agrees it's a historical accident
    • functional reactive programming ftw
    • Heather: popular JavaScript libraries increasingly reflect functional ideas, e.g. React from Facebook
    • Daniel: on iOS, Cocoa "increasingly approaches FRP"
  • Martin: can we sell types to the front-end people?
  • Daniel likes the record polymorphism in JavaScript (and OCaml)
  • not only doesn't JavaScript have types, it doesn't have a culture of testing, either?
Typelevel Scala (47:35)
  • will changes from Typelevel Scala be merged into main Scala?
  • Typelevel's policy is not to break backwards compatibility, so why not?
  • "we are working together very well" -- Typelevel can prototype things fast, standard Scala changes take years
  • Daniel: Typelevel is discovering how hard it is to change anything without breaking compatibility
    • example: Erik Osheim's work on byte literals
    • example: type lambdas
    • "everything has been hidden behind flags"
  • Martin: the Scala community build (1.4 million lines of community code) can help decide whether a corner case is an issue in practice
  • popular features in Typelevel Scala could become natural candidates for inclusion in standard Scala
Scala online courses (53:40) Community issues (55:10)
  • Heather: what should the Scala community be doing, what are we not doing, where is the community and where is it heading?
  • Martin: it's bigger, there's been some drama, ...
  • direction: "transparent, open collaboration" on "fast-moving open-source things"
    • meanwhile, Typesafe is the "backstop" for the enterprise
  • comparison with Spark community
  • Typesafe's efforts to modularize the standard library to facilitate contributions
    • Martin: hey Daniel, how about that Anti-XML thing?
Modular staging (1:05:05)
  • Tell us about lightweight modular staging. Will the Scala.meta project give us staged compilation?
  • Compilation at runtime, for efficiency
  • Lightweight modular staging uses the type system heavily
    • Issues: fragile implicits, slow compile times. Ongoing efforts to improve
  • Scala.meta attempts to make these techniques "more digestible". In flux, no clear winner.
Conclusion (1:09:15)
  • thanks Martin!

  continue reading

41 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide