“The Future of Computing and Programming Languages”

Published Nov 5, 2020

A friend (thanks Bryan!) sent me a link to a podcast episode recently, and I finally watched it today: Lex Fridman | Chris Lattner: The Future of Computing and Programming Languages. This is the second-longest I’ve ever listened to anyone else talk about programming (Jonathan Blow’s On The Metal episode takes first place by a few minutes here).

This validated a lot of thoughts I’ve had about programming language design, some as recent as yesterday. The biggest takeaway for me is that building a language is mostly user interface design, and all design is about trade-offs. Every language designs for a different combination of domain, principles, and aesthetics, and there are trade-offs everywhere. (These aren’t surprises to me, but sometimes it’s nice to hear them from someone who’s actually made those decisions and seen the results.)

One extra-interesting part of this is that my programming language experience and interests actually seemed mostly disjoint from the languages discussed. I could follow the bits about Python and JavaScript because I’ve written plenty of those, but they didn’t talk about Go, Ruby, or Rust, which are the languages whose development I’ve followed. It almost made me want to learn Swift, but, like the episode discussed, I wouldn’t really get into it without Apple’s proprietary UI libraries.

I do really want to check out LLVM’s MLIR (alphabet soup!), because I’ve been itching to make a toy language. What’s the silliest thing I could compile to?