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


  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

  • The Future of the API: REST, gRPC, GraphQL and More

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems process huge volumes of continuously changing data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Modern CS in the Real World

    Head back to academia to solve today's problems in software engineering.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Driving Full Cycle Engineering Teams at Every Level

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    There are many discussions outlining the secret sauce of high-performing teams. Learn how to balance the essential ingredients of high performing teams such as trust and delegation, as well as recognising the pitfalls and problems that will ruin any recipe.

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications