Flexible. Dynamic. Feature-rich. These are usually terms to describe programming languages, libraries and frameworks; they sound great, but what are we trading off to get them? And what can we can gain if we run in the other direction and strive for less of these qualities?

In this talk we’ll draw a line straight through ES6, immutability, “functional-style”, Flow and TypeScript in twenty minutes: why they’re useful, what you have to give up to make the best use of them, and why that isn’t a bad thing. It’s a tall order, but it’s a tour that’ll get you thinking, and will leave you with enough jumping-off points to dig into for months to come.

This is a talk that I primarily gave at Web Directions Code 2016, and afterwards at MelbJS, and beforehand (in draft form) at SydJS. I’m considering this the last version of this talk, and probably won’t give it again.

Big thanks to John Allsopp and the Web Directions team for giving me the opportunity to speak at Code, to Mark Dalgleish for inviting me to MelbJS, to @strawz for recording my SydJS draft run, and to everyone who attended. 😊

(First photo courtesy of Web Directions; the second thanks to James Sinclair.)