Vivek Haldar

Social Engineering for Programming Languages

As technologies mature they start hitting barriers that are not technical. The roadblocks start becoming social and policy factors.

And so it was a pleasant surprise to read this paper that makes the case for studying and understanding the social factors that affect the adoption of programming languages and programming features.

(Funny story: I found this paper at the printer in the office, glanced at the title and ran back to my desk to Google it.)

Don’t expect any grand answers. The paper raises many more questions than it answers. It’s special because it makes the case that social factors are critical when considering adoption of languages and their features, and proposes a research agenda for investigating them. It is also a thorough survey of the scattered remarks and papers by language designers where they reflect on the adoption (or lack thereof) of their creations.

I would’ve also loved to see some discussion of the economical and organizational factors that affect PL adoption. For example, the criteria that companies use when choosing languages are very different than those used by individual programmers. Using Lisp (or your favorite why-the-hell-won’t-they-let-me-use-that language) might make you super-productive (or so you think) but will it scale to making the entire team productive as well? Early hires probably have much more room to choose. The large majority of working programmers enter a situation where the language is already chosen and they have to work with it.

Another factor they miss is the context around a language. Languages are seldom chosen in isolation. Usually, much more thought goes into choosing a platform, and the language comes with it. Think about the Web and Javascript, Unix and C, and so on.

But overall, a great read and an agenda that was a long time coming.