"The Economics of Programming Languages - Evan Czaplicki"

Evan Czaplicki, creator of Elm, lays out a compelling explanation for the economics of programming languages: what work goes into creating a new language and ecosystem? How is that paid for? By whom and for what purposes?

You should watch it.

I want to add something about the corporate languages he lists under "rewarding talent." In particular, Evan points out both Dart and Golang as the result of rewarding engineering effort. While I there's some truth in Evan's conclusion that the engineers behind these languages were rewarded for their contributions, I don't think that's the whole picture.

Google was (and maybe still is!) deeply invested in the Java ecosystem. Oracle acquired Sun in 2010 and filed suit against Google shortly after, but the writing was on the wall for Sun years earlier. I suspect Golang was a hedge against Java use at Google. Google needed a language which could fill a similar niche as Java: similar (or better) performance characteristics, garbage collected, and straightforward to deploy. It also needed to be easy to teach & relatively opinionated: it would be a shift from the Java taught at universities (and from where Google sources a lot of its incoming talent), so it needed to scale well to newcomers. Google announced Golang in 2009, a year ahead of the Oracle Sun acquisition and subsequent lawsuit. Rob Pike was a known quantity who had, as Evan points out, already meaningfully contributed to the bottom line of the company and had proven language design and documentation chops.

Less obvious, I think, is where Dart fits into all of this. I still wonder at it myself a little bit! In 2011, it looked as if Google had put together an all-star team to speed up JavaScript and — once they had accomplished that goal — turned around and gave up on JS. However, backing up from that: Dart made sense as a hedged bet against JS, whose spec had only just started progressing in 2009 after ten years of stagnation. While Node.js had introduced a working module system for the language in 2010, bundlers that utilized that module format wouldn't arrive until 2011 with Browserify. Finally, as part of the Sun acquisition, Oracle had also acquired the JavaScript trademark. During the time Dart was developed, it was by no means certain that JavaScript would rise to its contemporary adoption levels.

All of that is to say: while there was an element of "reward" behind both Golang and Dart, both language efforts also made strategic sense for Google.

Tags: #programming languages #economics #talks