Choosing Esoteric Technology

Jul 20, 2022

Every so often, I come across a promising new project only to find out it's written in an esoteric language or framework.

You only get a few innovation tokens when you're building something new. Sometimes, an off-the-beaten-path is warranted – e.g., WhatsApp using Erlang to scale chat. Or it becomes a selection mechanism for a particular type of developer (e.g., Jane Street and functional programming)1.

However, for the most part, it will make hiring more difficult and expensive. For open source projects, it can drastically reduce the pool of potential contributors (or users).

It's not just esoteric programming languages but developer tools and workflows. I've seen far too many open source projects adopt difficult declarative systems (e.g., Bazel), only to find it hindered developers more than it helped.

Choosing Ruby on Rails has helped companies get to market quicker (Getting to Market with Rails). Although, it's difficult to know if startups followed the same path today if they'd find the same advantages.

Maybe technology like WebAssembly will make polyglot programming easier – writing some functions in Python and calling them in Go.

1Selection works both ways – esoteric languages tend to attract better developers on average, and there's a whole host of languages that skew towards beginner programmers.