As I type this I’m about to head back to the airport to head home after TSConf 2019, a one-day conference about TypeScript. Tech conferences are not something I usually do, but I saw the call for proposals and submitted an abstract about our use of TypeScript at Cydar. I was lucky enough to be accepted, so here I am. I’ll post more on that later, but below are some thoughts on the conference in general.
The keynote was given, of course, by Anders Hejlsberg (of Turbo Pascal and C# fame). After recapping the background of TypeScript, he moved on to go over some of the upcoming enhancements in 3.7. The biggest reaction was to optional chaining and nullish coalescing, features that the TS team have been championing through the standardisation process. These are certainly useful additions to the language, but I confess I’m a little uneasy about “nullish” joining “falsey” in the programming lexicon.
The next talk was by some nervous-looking guy who spent too long talking about surgery and had to rush the TypeScript part a little. We’ll skip that one.
The rest of the day had some fascinating presentations. Testing was a common thread — Ferdnanda Andrade and Dan Vanderkam looked at this from different angles. Josh Goldberg did unspeakable things (well, arithmetic) in the type system (he’s made it available in blog form), and Lauren Tan focused on looking beyond the code to work effectively in your organisation. One talk I was particularly interested in was the introduction to Deno by Ryan Dahl and Kitson Kelly. It seems like an excellent ground-up rethink of scripting platforms, and I’ll definitely be digging into it more deeply when I get the chance.
After the talks there was a live episode of the TalkScript podcast with members of the TypeScript team, followed by a trivia quiz and some truly amazing karaoke from the MCs.
On top of everything else, I seemed to be followed by a strange sense of deja vu. I’ve been to Seattle before, also for a conference — in that case, UbiComp 2003 where I was presenting a poster for my PhD work. This coincidence was underlined by the talk by Holly Mitchell and Tom Ball on MakeCode Arcade. This looks like a fantastic educational programming system in general1, and makes good use of the browser platform (all the way to using WebUSB to reflash the physical devices if you want to).
However, the thing that leapt out for me personally was the way they had both a block-based and a textual representation of the program and you could edit in either one, and seamlessly switch between the two. This was a central idea in my PhD work, and it’s amazing to see it in action in a practical system, with such a solid and complete implementation. Talking to one of the developers afterwards, they’re achieving this using a slightly different approach to me — language-to-language mappings rather than a common abstract representation — but that makes sense in the more focussed and practical context. However it works under the hood, it provides a valuable path for learners to progress from visual programming to a more conventional platform.
All in all, TSConf has been a great experience. All credit to the team at SitePen for organising a friendly, fun and informative event — I learnt a lot from both the talks, and the people I met in between. I’ll post a link to the talks once they’re up, and if you have any interest in TypeScript I’d highly recommend keeping an eye out for TSConf 2020.