JavaScript: The First 20 Years by Allen Wirfs-Brock and Brendan Eich
Our HOPL paper is done and submitted to the ACM for June 2020 publication in PACMPL (Proceedings of the ACM on Programming Languages) and presentation at the HOPL 4 conference in June 2021. PACMPL is an open access journal so there isn’t a paywall preventing people from reading our paper. The official version of the paper is at //dl.acm.org/doi/abs/10.1145/3386327. A version with minor corrections is accessible as //www.wirfs-brock.com/allen/jshopl.pdf or //zenodo.org/record/4960086. But before you run off and start reading this 190 page “paper” I want to talk a bit about HOPL.
The History of Programming Languages Conferences
HOPL is a unique conference and the foremost conference relating to the history of programming languages. HOPL-IV wll be only the 4th HOPL. Previous HOPLs occurred in 1978, 1993, and 2007. The History of HOPL web page provides an overview of the conference’s history and which languages were covered at each of the three previous HOPLs. HOPL papers can be quite long. As the HOPL-IV call for papers says, “Because of the complex nature of the history of programming languages, there is no upper bound on the length of submitted papers—authors should strive for completeness.” HOPL papers are often authored by the original designers of an important language or individuals who have made significant contributions to the evolution of a language.
As the HOPL-IV call for papers describes, writing a HOPL paper is an arduous multi-year process. Initial submissions were due in September 2018 and reviewed by the program committee. For papers that made it through that review, the second major review draft was due September 2019. The final “camera ready” manuscripts were due March 13, 2020. Along the way, each paper received extensive reviews from members of the program committee and each paper was closely monitored by one or more program committee “shepherds” who worked very closely with the authors. One of the challenges for most of the authors was to learn what it meant to write a history paper rather than a traditional technical paper. Authors were encouraged to learn to think and write like a professional historian.
I’ve long been a fan of HOPL and have read most of the papers from the first three HOPLs. But I’d never actually attended one. I first heard about HOPL-IV on July 7, 2017 when I received an invitation from Guy Steele and Richard Gabriel to serve on the program committee. I immediately checked whether PC members could submit and because the answer was yes, I accepted. I knew that JavaScript needed to be included in a HOPL and that I probably was best situated to write it. But my direct experience with JS only dates to 2007 so I knew I would need Brendan Eich’s input in order to cover the early history of the language and he agreed to sign-on as coauthor. My initial outline for the paper is dated July 20, 2017 and was titled “JavaScript: The First 25 Years” (we decided to cut it down to the first 20 years after the first round of reviews). The outline was seven pages long. I hadn’t looked at it since sometime in 2018 but looking at it today, I found it remarkably close to what is in the final paper. I knew the paper was going to be long. But I never thought it would end up at 190 pages. Many thanks to Richard Gabriel for repeatedly saying “don’t worry about the length.”
There is a lot I have to say about gathering primary source materials (like a real historian) but I’m going to save that for another post is a few days. So, if you’re interested in the history of JavaScript, start reading