On Tuesday 27 January 2009 23:15:09 Robert Fischer wrote: > Is there any kind of reasonable language adoption metric out there? I'm > not sure how one might measure that, but it's hard to tell which languages > have more mindshare -- get different people with different focuses > together, and they seem to have wildly different guesses.
That is an impossible question to phrase, let alone answer. :-) For example, you initially said "adoption" which I assume means rate of uptake but then you said "mindshare" which is more likely to mean sizes of the current user bases rather than their dynamics. I have spent a long time investigating similar questions but I am really after objectively quantifiable metrics that correlate strongly with profit, preferably with a lead time so I can predict our profits. You may also want to know where the fun is and which languages have mature libraries. Surprisingly, I don't believe anyone has mentioned what I consider to be the best metric: Google Trends. This page graphs the proportion of search volume on Google for a given search term. If you search for language names that are not homonyms and take into account that the growth of the internet is bringing a lot more non-technical people into play, which produces a general downward trend for all technical search terms, then I think you've got a very good metric. We have had products out on OCaml and F# (and several other languages) for many years and we are widely known within and around those communities. So, all other things being equal, it is compelling that the cross-over on Google Trends when F# started to be more searched for than OCaml correlated with F# starting to pull in more money for us than OCaml: http://www.google.com/trends?q=ocaml%2C+f%23 Then the jumps when Microsoft made major announcements around F# also correlated with jumps in our F#-based revenue. So I think there is a strong correlation. Unfortunately, this breaks when the language name is a homonym, e.g. Lisp, Scheme, Java, Scala. However, that correlation with profit appears to have broken down this month, as F# has all but died for us and OCaml is doing much better despite the Google trends being unchanged. I assume this is the media with tales of doom about Microsoft and the global economy (and Obama!) driving people away from Microsoft and towards OSS. People have mentioned other metrics. I don't have much faith in TIOBE because I believe it measures cumulative usage (i.e. the number of webpages ever written about Fortran is huge but current usage of Fortran is small and its uptake is tiny) and any estimates of dynamics as rate of change of that (i.e. new pages about Fortran) will have huge errors. Book sales would be good if you could get accurate statistics about them. Alas, O'Reilly's stats are tainted by measuring only units of cheap books sold, neglecting profits and expensive non-mainstream books. For example, O'Reilly did not count my book OCaml for Scientists which has huge profit margins. Then there is the problem that new books have outdated those statistics. The three existing F# books are selling more copies than books for almost all other functional languages except the new Haskell book which is selling even more. Then there is the question of what book sales are actually measuring. I own several Haskell books but have never written anything significant in Haskell. I can also tell you that a lot of people buy our journal subscriptions only to let them expire without ever logging in and reading anything. So book sales are probably only useful to you if you are in the book selling market. Job listings are interesting but people often take only US jobs and the dynamics very enormously from one country to the next. For example, the US is relatively static for the major languages but the UK recently saw a dramatic shift away from C++ and Java and towards C#: http://www.itjobswatch.co.uk/jobs/uk/c++.do http://www.itjobswatch.co.uk/jobs/uk/java.do http://www.itjobswatch.co.uk/jobs/uk/csharp.do In the open source world you can also get a good estimate of the situation on Linux from the Debian and Ubuntu package popularity contest results because those distros cover about 75% of Linux users. That is around a million Debian-based machines so the statistics are good. For compiled languages, you can get the most by looking at the number of compiler installs because end user software does not depend on the compiler. You can even see how many have been run in the past 30 days! However, that is useless for languages with any serious use outside Linux (e.g. Java, C#, F#). I don't like mailing list traffic at all, basically because it does not correlate with anything and has many obvious flaws, like the huge variations in signal to noise ratios. Ultimately, all of these kinds of measures are rendered useless by other effects. For example, many older-generation functional languages like OCaml and Haskell have technical shortcomings that undermine the ability to sell commercial libraries to programmers using those languages whereas, of course, languages like F# do not have that problem. Consequently, we sell a lot more F# DLLs than OCaml libraries regardless of their relative popularity. If you didn't want to know where the money is then you may have wanted to know where the fun is and, of course, that may well be very different from where the people are for similar reasons. On a related note, I like studying success stories, i.e. popular of software written in different languages rather than the popularity of the languages themselves. This can require quite some detective work though, as I discovered in 2007 when I began writing a business management report "Functional programming in Industry" only to discover that a lot of the information floating around in certain circles is either grossly misleading or just plain wrong. I ended up shelving the report. I was also surprised to discover huge variations in the amount of widely-used code written in similarly-popular languages, i.e. some language communities churn out huge numbers of libraries that nobody ever uses. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---
