SESSION + Live Q&A
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.
Speaker
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 moreFind Justin Cormack at:
Speaker
Justin Cormack
Developer @Docker
From the same track
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
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)
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
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