SESSION + Live Q&A
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.
Speaker
Noel Welsh
Founding partner @underscoreio
Noel is a founding partner at Underscore, where he helps teams become more productive with Scala and functional programming. Noel has 20 years experience working on systems ranging from recommender systems, to web services, to embedded software. His main technical interests are functional...
Read moreFind Noel Welsh at:
From the same track
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...
Ashley Williams
Core Rust Team @RustLang
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...
Stephen Klabnik
Rust Core Team
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...
Irina Guberman
Principal Product Architect @xaptuminc
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
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