Friday, July 27, 2012

Socio-PLT camera-ready and a glimpse at the next step

Our Onward! 2012 draft about matching problems in programming languages to social theories about adoption made a stir -- and solicited some great comments. We're cleaning up the camera ready, so if there are any final comments, we'd love to incorporate them for the 'final' print version. It's a controversial topic!

As a follow-up, we've been doing some heavy quantitative analysis of extrinsic (social) and intrinsic factors in language adoption.  These charts should give you a taste:

Fig 1: Factors in Picking a Language for A Recent Project

Fig 2: Language Popularity on SourceForge.

The first figure is cool in that it shows that social factors are more important than intrinsic features when picking a language. Language designers are community builders.

The second figure starts questioning the social structure. Popularity, city populations, etc. often follow power laws, and therefore growth gets modeled by some intuitive generative processes. However, SourceForge for ~200,000 projects followed an exponential curve. What type of processes can make more sense there?

Anyways, hope the camera ready looks good and the quantitatve analysis sparks thought :)


Neil said...

I'm confused by Figure 2 -- what is the criterion for whether a language should be included in the graph? i.e., is there a reason you excluded Java, Perl, C#, C, C++, etc.?

Leo Meyerovich said...

Oh, that's actually showing all of the 100 languages I saw on SourceForge. There may be more, but they weren't recording it, and the top 30 cover 98% of the projects anyways. The figure couldn't show all of the labels so it sampled at intervals.

To given an idea:

#1: Java
#20: ActionScript
#50: Free Pascal (#43: Haskell!)
#100: Algol 68