archives

Social science research about programming language adoption?

I'm a former (and I hope future) CS grad student who studied programming languages, currently in an information technology studies program. For a class on "Social and Organizational Effects of Technology", I'm doing a paper on programming language adoption -- i.e., the social forces that govern decisions about what programming language to use for a project, and which new programming languages to adopt and old ones to discard, both on a micro-level (decisions within individual organizations about this) and a macro-level (larger societal trends like the rise of C in the 1970s and Java in the 1990s).

Does anyone know of any academic work, from a sociological or economic perspective, on the subject? Searching for terms like "programming language adoption", "programming language diffusion", and "programming language choice" on various journal databases has turned up very little (except for a single article in the International Journal of Technology, Policy, and Management, which my university doesn't subscribe to). And an old post on Lambda the Ultimate suggests that work on the sociology of programming languages is lacking. Am I the first person to do social research on language choice? If so, then that's good for me, I guess :-}

The Problem With Parsing - an essay

After some frustration with trying to write yet another parser in C, I decided to bang out some ideas on programming, software design, and the software language problem into an essay entitled "The Proglem With Parsing - A World Transormation Discussion".

It's not too technical, but a friend of mine read it and found it interesting so I thought I would share it with you all. You can read it at:

http://kruhft.blogspot.com/2006/03/problem-with-parsing-world.html

--
kruhft

Design Patterns as Higher-Order Datatype-Generic Programs.

Jeremy Gibbons (2006). Design Patterns as Higher-Order Datatype-Generic Programs. Submitted for publication.

Design patterns are reusable abstractions in object-oriented software. However, using current programming languages, these elements can only be expressed extra-linguistically: as prose, pictures, and prototypes. We believe that this is not inherent in the patterns themselves, but evidence of a lack of expressivity in the languages of today. We expect that, in the languages of the future, design patterns will be expressible as reusable library code. Indeed, we claim that the languages of tomorrow will suffice; the future is not far away. The necessary features are higher-order and datatype-generic constructs; these features are already or nearly available now. We argue the case by presenting higher-order datatype-generic programs capturing ORIGAMI, a small pattern language of recursive data structures.

Last time this research was mentioned there were some concerns about the idea of executable patterns. Obviously, this approach is related to many older discussions about mining patterns for language features, frameworks as opposed to patterns and so on.

Hopefully, now that things are more explicit, we will be able to have a more in depth discussion.