Track: 21st Century Languages

Location: Pacific DEKJ

Day of week: Monday

Compile to Native, Microservices, Machine learning... tailor-made languages solving modern challenges, featuring use cases around Go, Rust, C#, and Elm.

Track Host:
Kavya Joshi
Software Engineer @Samsara

Kavya Joshi writes code for a living at a start-up in San Francisco. She particularly enjoys architecting and building highly concurrent, highly scalable systems. In her free time, she reads non-fiction and climbs rocks. Before moving to San Francisco to be an Adult, Kavya was at MIT where she got a Bachelor's and Master's in Computer Science.

10:35am - 11:25am

by Carmen Andoh
Software Engineer on the Build Infrastructure team @TravisCI

Come learn about Go through a time-travel historical lens perspective. What limits did we meet at the end of the 20th century that Go was developed for? In providing the historical context around the technical decisions of the language, you can better understand its concurrency primitives, garbage collection, and small standard library. Learn about the challenges language architects face in the pursuit of simplicity.

11:50am - 12:40pm

by Mads Torgersen
Chief Language Designer of C# & Contributor to TypeScript, Visual Basic, Roslyn, LINQ

C# is evolving at a rather vigorous pace, aiming for new levels of expressiveness on many fronts. Let’s plant our feet firmly in the air for a bit and look at some of the places we think it’s headed: Finally reining in those pesky nulls, fighting back on callback hell for asynchronous streams, the extension of everything, and so on. Likely honorable mention of pattern matching, type classes, discriminated unions and exploding heads. You don’t have to be caught up on C# to follow.

1:40pm - 2:30pm

by Without Boats
Rust Contributor (Language & Cargo Team Member)

Rust is an exciting new systems programming language that combines low-level control and predictability with the safety and ergonomics of a high-level language. Rust’s superpower is a set of concepts called “ownership” and “borrowing” which enable you to write exceptionally performant and reliable code, with the compiler acting as an assistant and multiplying factor for your work.

In this talk, we’ll explore the core concepts of Rust and how they guarantee memory and thread safety...

2:55pm - 3:45pm

by Carl Lerche
Software Engineer & Rust Contributor

As the world becomes ever more connected, the scale and sophistication of network infrastructure software is increasing dramatically. However, the requirements for this software are as stringent as ever: it must not only be fast, it must be “safe”, i.e. able to process untrusted data without crashing or being vulnerable to security exploits. . Traditionally, these two requirements have been at odds: network programmers had to pick a language that either offered speed or safety.Enter Rust, a...

4:10pm - 5:00pm

by Dave Cheney
Software Engineer & Core Contributor to Go-lang

Go programs are often deployed in environments where low latency and high throughput are a must. In this talk, we'll study three aspects of writing high-performance Go applications, including:

  • How to write effective benchmarks (and interpret their results, including some traps for young players and advice on how to avoid them).
  • How to use the tools built...
5:25pm - 6:15pm

Open Space

.

Tracks

  • Architectures You've Always Wondered About

    Architectural practices from the world's most well-known properties, featuring startups, massive scale, evolving architectures, and software tools used by nearly all of us.

  • Going Serverless

    Learn about the state of Serverless & how to successfully leverage it! Lessons learned in the track hit on security, scalability, IoT, and offer warnings to watch out for.

  • Microservices: Patterns and Practices

    Stories of success and failure building modern Microservices, including event sourcing, reactive, decomposition, & more.

  • DevOps: You Build It, You Run It

    Pushing DevOps beyond adoption into cultural change. Hear about designing resilience, managing alerting, CI/CD lessons, & security. Features lessons from open source, Linkedin, Netflix, Financial Times, & more. 

  • The Art of Chaos Engineering

    Failure is going to happen - Are you ready? Chaos engineering is an emerging discipline - What is the state of the art?

  • The Whole Engineer

    Success as an engineer is more than writing code. Hear inward looking thoughts on inclusion, attitude, leadership, remote working, and not becoming the brilliant jerk.

  • Evolving Java

    Java continues to evolve & change. Track covers Spring 5, async, Kotlin, serverless, the 6-month cadence plans, & AI/ML use cases.

  • Security: Attacking and Defending

    Offense and defensive security evolution that application developers should know about including SGX Enclaves, effects of AI, software exploitation techniques, & crowd defense

  • The Practice & Frontiers of AI

    Learn about machine learning in practice and on the horizon. Learn about ML at Quora, Uber's Michelangelo, ML workflow with Netflix Meson and topics on Bots, Conversational interfaces, automation, and deployment practices in the space.

  • 21st Century Languages

    Compile to Native, Microservices, Machine learning... tailor-made languages solving modern challenges, featuring use cases around Go, Rust, C#, and Elm.

  • Modern CS in the Real World

    Applied trends in Computer Science that are likely to affect Software Engineers today. Topics include category theory, crypto, CRDT's, logic-based automated reasoning, and more.

  • Stream Processing In The Modern Age

    Compelling applications of stream processing using Flink, Beam, Spark, Strymon & recent advances in the field, including Custom Windowing, Stateful Streaming, SQL over Streams.