The Modern Platform in 2020

We are reshaping the platforms we build around language technology. This talk introduces this new track on compilation targets with an overview of how we got to this point where programming language technology is finding its way into every technology stack. First we have performance and efficiency trends, where we need to drive new heterogeneous hardware platforms such as vector registers and GPUs. Much of the work that we see in areas such as ML would not be possible without these changes. Then we have a huge range of exciting applications that are using tiny microcontrollers, perhaps scavenging power from the environment. But we need higher level programming languages for these, as we cannot scaleout C and assembly programming that have dominated this area. In addition we have a new set of platforms that are being enabled by Web Assembly, built around new safer ways of running isolated code, and promising cross language integration in a way that we have not seen before. Finally security and code safety issues are everywhere now. The stacks that we built our infrastructure on are vulnerable to memory safety and other bugs that are becoming easier to find with the rise of fuzzing and other analysis technologies. Languages again provide tools for type and concurrency safety that can fix these issues.


Justin Cormack

Developer @Docker

Justin Cormack is a software engineer at Docker. He works on security, developer tooling and more. He is always interested in new programming language technology.

Read more
Find Justin Cormack at:


Windsor, 5th flr.


Modern Compilation Targets


CompilersHardwarePerformanceOptimizationIoT Platforms


From the same track

SESSION + Live Q&A WebAssembly

Build Your Own WebAssembly Compiler

For more than 20 years JavaScript has been the only 'native' language of the web. That's all changed with the release of WebAssembly. In the coming years, you'll see people writing web apps in Rust, C#, C++ and all manner of other languages. But just what is WebAssembly? And...

Colin Eberhardt

CTO @Scott_Logic

SESSION + Live Q&A Interview Available

TornadoVM: Java for GPUs and FPGAs

There is no single computer architecture that is best for executing all types of workloads efficiently. Therefore, the proliferation of heterogeneous hardware in recent years means that every system we program is likely to include a mix of computing elements; each of these with different hardware...

Juan Jose Fumero Alfonso

Research Associate @OfficialUoM (The University of Manchester)

UNCONFERENCE + Live Q&A Compilers

Modern Compilation Targets Open Space

Details to follow.


Tiny Go: Small Is Going Big

The Go programming language has already won the war for cloud computing and containerization. But what about the small places, like embedded systems and WebAssembly?TinyGo is a compiler for Go, written in Go itself, that uses LLVM to achieve very small, fast, and concurrent binaries that can...

Ron Evans

Technologist For Hire @hybrid_group

SESSION + Live Q&A Compilers

Pony, Actors, Causality, Types, and Garbage Collection

I will give an overview of Pony’s programming model, actors, and causality. I will introduce the type system, how it is used to allow actors to send mutable state while also avoiding data races, and how the type system is used so as to allow the actors to perform garbage collection fully...

Sophia Drossopoulou

Professor at Imperial College

View full Schedule