Track: 21st Century Languages

Location: Broadway Ballroom South Center, 6th fl.

Day of week: Wednesday

Programming languages are the tool we all use every day, and more people are learning to use every day. Programming languages mature well, with the three most used languages being Java at 24 years old, JavaScript at 23 and Python at 29. But it is not at all an unchanging world. New languages have been very successful, such as Go and Rust, nine and eight years old now, and Swift which is only four years old. Tools we use every day have an inertia, but the rate of innovation is increasing. Languages that commit to different aims of efficiency, usability and safety are appearing and carving out niches. Part of the reason for the rate of change is the tooling behind languages. LLVM has made it easier to build a new language without creating a new compiler backend. Much more recently Web Assembly has carved out a place in the browser for more languages, and now promises interoperability of different languages. 

This track, 21st Century Languages, looks at the changes we are seeing now that are reshaping out tooling, and the challenges that languages face now. We explore how old languages are changing for the better as well as how newer languages are trying to challenge them, and the themes of safety, portability and performance.

Track Host: Justin Cormack

Developer @Docker

Justin Cormack is developer at Docker, working on unikernels.

10:35am - 11:25am

JavaScript Object Capabilities

Presentation details to follow.

Kate Sills, Community Lead @agoric

11:50am - 12:40pm

Maintaining the Go Crypto Libraries

Presentation details to follow.

Filippo Valsorda, Cryptogopher @Google


Monday, 24 June

Tuesday, 25 June

Wednesday, 26 June

  • Architecting For Failure

    More than just building software, building deployable production ready software in the face of guaranteed failure.

  • 21st Century Languages

    Lessons learned from building languages like Rust, Go-lang, Swift, Kotlin, and more.

  • Building High-Performing Teams

    What “high-performing team” means and how to build one effectively depends on context. This track will share different experiences of building high-performing teams in order to highlight how different contexts lead to different solutions but also what typically stays the same because we’re still dealing with humans trying to work together. How do different forces affect the building of high-performing teams.

  • Software Defined Infrastructure: Kubernetes, Service Meshes, & Beyond

    Deploying, scaling, managing your services is undifferentiated heavy lifting. Hear stories, learn techniques, and dive deep into software infrastructure.

  • High-Performance Computing: Lessons from FinTech & AdTech

    Killing latency and getting the most out of your hardware.