You are viewing content from a past/completed QCon

Track: The Right Language for the Job

Location: Churchill, G flr.

Day of week: Tuesday

We're polyglot developers. Learn languages that excel at very specific tasks and remove the undifferentiated heavy lifting in their specific domain.

Track Host: Andrea Magnorsky

Functional Languages Programmer

I ended up as a Software Developer, I am pretty sure there was no other viable option. My current technical interests are F#, games, programming languages and philosophy of computing . I really enjoy finding different ways to write code, sometimes for performance, other times for succinctness, sometimes, just because you can, there is no better way to learn than trying. When I am not working I tend to play with Haskell or other languages or cats Conferences and meetups are a great way to learn more, so I try to help when I can to make them happen. For that reason I co-organise Functional Kats and GameCraft. I also speak at local and international conferences like CodeMesh, Progressive.Net, ProF#, Lambda Days and many more.

10:35am - 11:25am

When and How to Win With New Programming Languages

Life is short and burdened with tedium. Automation is one of our most potents for escaping tedium, but our prime tool for creating automation—the programming language—is itself surprisingly resistant to change. In this talk I'll make the case for adopting new programming languages, and look at the conditions when a language could and should be adopted in a commercial setting.


Getting more done in less time is a worthwhile goal, if only because life is short. For programmers, process and software libraries can help but one of the most potent forces for improving productivity is improving the programming language. However this is a relatively infrequent occurence. While the field of programming language research advances rapidly the most commonly used languages, such as Java and Python, are still based on ideas from 1980s.


There are signs of progress, though. Scala has a large community. Typescript is gaining popularity in the world of front end development. Rust is the hot new thing (but will it actually gain traction?) Even Haskell is getting more use, largely in the world of blockchain startups. Can we determine the conditions that will make a previously obscure language successful? When is it a good idea to invest in a new language in a commercial setting? How can one successfully adopt a new language? These are the questions I’ll tackle in my talk, based my experiences working with Racket and Scala, and what I’ve seen happening in the industry at large.

Noel Welsh, Founding partner @underscoreio

11:50am - 12:40pm

WebAssembly and the Future of the Web Platform

WebAssembly is a new low-level target language designed for the open web. Often hearlded as the layer that finally completes the web platform, WebAssembly promises to go beyond simply filling a gap to pushing our understanding of what, and *where*, web applications can be. In this talk, we'll cover the basics of WebAssembly- what it is and what it isn't, and we'll talk about practical ways to get started with it today, whether you're a frontend developer or a systems engineer. We'll conclude by exploring the current status and challenges of WebAssembly adoption and what WebAssembly could mean for the future of programming language design and web infrastructure. 

Ashley Williams, Core Rust Team @RustLang

1:40pm - 2:30pm

How Rust Views Tradeoffs

In many ways, designing a programming language is about tradeoffs. For "the right language for the job" track, we'll take a look at some tradeoffs in the design of Rust, and how that makes it more suitable for some kinds of projects than others. In particular, we'll talk about Rust's "bend the curve" philosophy towards tradeoffs.

Stephen Klabnik, Rust Core Team

2:55pm - 3:45pm

Why Continuations Are Coming to Java

I will discuss and compare the various techniques of dealing with concurrency and IO in both pure functional (monads, affine types) and imperative programming languages (threads, continuations, monads, async/await), and show why delimited continuations are a great fit for the imperative style.

Ron Pressler, Technical Lead for Project Loom @oracle

4:10pm - 5:00pm

Unique Resiliency of the Erlang VM, the BEAM and Erlang OTP

Demonstrate how unique features of the BEAM, Bogdan's/Björn's Erlang Abstract Machine, in combination with Eralng OTP can take your company's servers to the next level of resiliency and robustness. We'll be doing some very cool demos (github repo revealed after the talk)  and analyzing some key differences between the BEAM and JVM.   So, I hope JVM specialists will learn some interesting stuff not just about the BEAM but also about the JVM. 

Irina Guberman, Principal Product Architect @xaptuminc

5:25pm - 6:15pm

Panel: Future of Languages

In this panel, we will talk to these programming languages experts and try to find the places where we could probably past each other to try to find common ground.

Andrea Magnorsky , Functional Languages Programmer
Noel Welsh, Founding partner @underscoreio
Ashley Williams, Core Rust Team @RustLang
Stephen Klabnik, Rust Core Team
Ron Pressler, Technical Lead for Project Loom @oracle

Last Year's Tracks