There have been a number of very good comments on this subject here about the futility of comparing apples and oranges, the variations that exist in how different languages' popularity levels manifest, and the misconceptions that surround the importance, mechanics, and incidentals of open source development. A couple of points that have been hinted at, but not explicitly stated, follow:
- In the case of a language that has been around substantially longer than Perl (for instance, C), the sheer hoary age of it ensures a collected mass of extant code that is not representative of its relative popularity. If something is around for twenty years and developers create ten programs per year using that language, you'll have 200 extant software projects in that language. If something is around for two weeks, as a newer language, but is so immediately popular that new projects are being cranked out at a rate of ten per week, you've still only got ten percent of the apparent popularity of the other language, if you're measuring by the number of extant projects.
- Perl doesn't tend to lend itself nearly as much to software projects as it does to snippets of code. If you wanted to compare based on number of projects in existence, C would win. If you wanted to compare based on number of code snippets circulating that are reused constantly in creation of new scripts, I rather suspect that Perl would take the prize.
Of course, the question that really begs to be asked is this: If Perl is popular "enough" (as in: it's got longevity and motivation for advancement, at least), why do we care how it stacks up to Java or C in terms of popularity? I find that Perl is wonderful for the tasks for which I use it. C is great for producing executables. I have yet to need Java, or any software that is best written in Java. For me — for what I do — Perl and C are "better". What do I care if Java is getting more hype, has a stronger popular following, and gets more development of integrated software development projects than Perl?