Python Popularity, python at sourceforge
Ron Stephens
rdsteph at earthlink.net
Sat Dec 29 23:33:49 EST 2001
Mr. Rengelink, I have taken the liberty of posting a copy of the statistics
you have so assiduously compiled below, on my web site at
http://www.awaretek.com/plf.html for future reference. If you would rather
they not be so presented, let me know and I'll immeditely take the page
down.
rs
Roeland Rengelink wrote:
> Hi,
>
> As was remarked earlier in this thread, a measure of Python's
> popularity, if not quality, can be obtained by looking at the number
> of sourceforge projects using Python. Below you'll find a number of
> tables comparing sourceforge projects using Python to those using
> Perl, PHP, Java, C and C++. These numbers were obtained by
> screen-scraping the sourceforge trove pages.
>
> I started this analysis expecting to find clear evidence for Python's
> - exploding popularity
> - cross-platform usability
> - ease of development
>
> Alas, the numbers are far more ambigious than I'd hoped. To summarize:
>
> 1. Python is the smallest of the 6 languages discussed here.
> 2. Python is currently growing slower than PHP and Java, but faster
> than C and Perl.
> - Python has only been gaining on Perl for the last 6 months
> - the difference in growth w.r.t PHP and Java may be getting smaller
> 3. Java is more cross-platform than Python. Perl, C, C++ are less.
> 4. There is no clear evidence for Python's ease of development.
>
> The most interesting result (I think) is Python's changing role from a
> glue/scripting language to a stand-alone development language.
> Cross-language development statistics are investigated at the end of
> this post.
>
> 1. All projects
>
> The following two tables list the cumulative number and quarterly
> growth rates of sourceforge projects using Python, Perl, PHP, Java or
> C++ as one of their programming languages. Note that projects using
> more than one of these languages contribute to the numbers of each of
> those languages.
>
> The following conclusions can be drawn
> - Python is only half as big as any of the other languages.
> - The growth rate of Perl, as compared to Python, has been steadily
> declining since ther third quarter of 2000. It has become smaller
> than Python's growth rate in the third quarter of 2001.
> - The growth rates of PHP and Java have been much larger than
> Python's. However, up to the third quarter of 2001 their growth rates
> declined relative to Python.
> - Since the third quarter of 2000, C has been the slowest growing
> language.
> - The growth rate of Python is most similar to that of C++
>
> To summarize:
>
> Early 2000 Python was the slowest growing language. Currently only PHP
> and Java are growing faster, and the gap is closing
>
> Table 1a. Cumulative number of projects
> Python=1
> Python Perl PHP Java C C++ Perl PHP Java C C++
> 00-03-01 98 172 84 139 529 361 1.8 0.9 1.4 5.4 3.7
> 00-06-01 221 417 251 371 1220 882 1.9 1.1 1.7 5.5 4.0
> 00-09-01 374 785 555 756 2030 1518 2.1 1.5 2.0 5.4 4.1
> 00-12-01 528 1178 883 1257 2827 2220 2.2 1.7 2.4 5.4 4.2
> 01-03-01 701 1575 1328 1841 3706 2949 2.2 1.9 2.6 5.3 4.2
> 01-06-01 898 2020 1867 2539 4652 3806 2.2 2.1 2.8 5.2 4.2
> 01-09-01 1097 2406 2326 3164 5513 4589 2.2 2.1 2.9 5.0 4.2
> 01-12-01 1266 2690 2745 3774 6189 5285 2.1 2.2 3.0 4.9 4.2
>
> Table 1b. Quarterly growth rates
> Percentage growth Python=1
> Pyth Prl PHP Jav C C++ Perl PHP Java C C++
> 00-06-01 125 142 198 166 130 144 1.1 1.6 1.3 1.0 1.1
> 00-09-01 69 88 121 103 66 72 1.3 1.7 1.5 1.0 1.0
> 00-12-01 41 50 59 66 39 46 1.2 1.4 1.6 1.0 1.1
> 01-03-01 32 33 50 46 31 32 1.0 1.5 1.4 0.9 1.0
> 01-06-01 28 28 40 37 25 29 1.0 1.4 1.3 0.9 1.0
> 01-09-01 22 19 24 24 18 20 0.9 1.1 1.1 0.8 0.9
> 01-12-01 15 11 18 19 12 15 0.8 1.2 1.3 0.8 1.0
>
> 2. Cross platform projects
>
> Python advertises itself as a cross-platform development language.
> Here, I assume that cross-platform means either OS-independent, or for
> 2 or more of the the different OS families [Unix, Win, Mac]
>
> The conclusion here is pretty much expected:
> - Python is more 'cross-platform' than Perl, C and C++, but less so
> than Java, and comparable to PHP
>
> Table 2a Cumulative number of cross-platform projects
> Python=1
> Python Perl PHP Java C C++ Perl PHP Java C C++
> 00-06-01 157 273 172 311 590 484 1.7 1.1 2.0 3.8 3.1
> 00-12-01 365 722 598 1047 1317 1159 2.0 1.6 2.9 3.6 3.2
> 01-06-01 626 1243 1298 2135 2122 1939 2.0 2.1 3.4 3.4 3.1
> 01-12-01 900 1658 1959 3198 2836 2701 1.8 2.2 3.6 3.2 3.0
>
> Table 2b Cross-platform projects as fraction of all new projects
> Python=1
> Pyth Prl PHP Jav C C++ Perl PHP Java C C++
> 00-06-01 71 65 68 83 48 54 0.9 1.0 1.2 0.7 0.8
> 00-12-01 67 59 67 83 45 50 0.9 1.0 1.2 0.7 0.7
> 01-06-01 70 61 71 84 44 49 0.9 1.0 1.2 0.6 0.7
> 01-12-01 74 61 75 86 46 51 0.8 1.0 1.2 0.6 0.7
>
> 3. Active projects
>
> Python also advertises itself for its ease of development. One could
> expect that easy projects are more active than difficult projects.
>
> The following tables list statistics for projects that have an
> activiy_ranking of more than 80 %. Since I don't know how this
> activity is measured I can't really interpret these numbers.
>
> Activity ranking is a relative measure of a projects activity, which
> is computed over all sourceforge projects. An activity ranking of 80%
> means 80% as active as the most active sourceforge project. Activity
> seemt to comprise both developer activity (checkins, bug fixes) and
> user activity (downloads, bug reports).
>
> The most notable result from these tables is probably that the numbers
> are so similiar. Hence, my tentative conclusion:
>
> - Project activity is largely independent from the choice of
> programming language and therefore also independent of the
> 'accessability' of the language
>
> Table 3a Cumulative number of active projects
> Python=1
> Python Perl PHP Java C C++ Perl PHP Java C C++
> 00-06-01 24 36 21 33 156 94 1.5 0.9 1.4 6.5 3.9
> 00-12-01 43 59 49 74 268 174 1.4 1.1 1.7 6.2 4.0
> 01-06-01 59 95 81 127 368 263 1.6 1.4 2.2 6.2 4.5
> 01-12-01 74 120 128 182 441 347 1.6 1.7 2.5 6.0 4.7
>
> Table 3b Percentage active as fraction of all projects
> Python=1
> Pyth Prl PHP Jav C C++ Perl PHP Java C C++
> 00-06-01 10 8 8 8 12 10 0.8 0.8 0.8 1.2 1.0
> 00-12-01 6 3 4 4 6 5 0.5 0.7 0.7 1.1 1.0
> 01-06-01 4 4 3 4 5 5 1.0 0.8 1.0 1.3 1.3
> 01-12-01 4 3 5 4 4 5 0.9 1.3 1.1 1.2 1.4
>
> 4 Mature projects
>
> Ease of development may also be reflected in what percentage of
> projects reaches a mature development status. The following tables
> give numbers for projects that reached a mature or production/stable
> development status.
>
> The data suggest that Perl and C project reach a mature development
> status more often than Python, PHP, Java and C++ projects.
>
> Note that development status is assessed by the project developers
> themselves
>
> Table 4a Cumulative number of mature projects
> Python=1
> Python Perl PHP Java C C++ Perl PHP Java C C++
> 00-06-01 43 118 41 59 294 168 2.7 1.0 1.4 6.8 3.9
> 00-12-01 87 233 109 161 599 342 2.7 1.3 1.9 6.9 3.9
> 01-06-01 122 367 194 286 887 503 3.0 1.6 2.3 7.3 4.1
> 01-12-01 160 455 280 399 1110 644 2.8 1.8 2.5 6.9 4.0
>
> Table 4b Percentage mature as fraction of all projects started.
> Python=1
> Pyth Prl PHP Jav C C++ Perl PHP Java C C++
> 00-06-01 19 28 16 15 24 19 1.5 0.8 0.8 1.2 1.0
> 00-12-01 14 15 10 11 18 13 1.1 0.8 0.8 1.3 0.9
> 01-06-01 9 15 8 9 15 10 1.7 0.9 1.0 1.7 1.1
> 01-12-01 10 13 9 9 14 9 1.3 0.9 0.9 1.4 0.9
>
> 5. Cross language development
>
> The most interesting results are obtained when we compare projects
> that use a single language with those that use multiple languages. The
> follwing tables compare the fraction of projects that use more than
> one language, to those that only use a single language.
>
> There are many trends here.
>
> - Python, Perl, PHP and Java projects are increasingly becoming
> single-language projects.
> - The percentage of cross-language projects in cross-platform projects
> is lower for Python, Perl, PHP and Java, while its substantially
> higher for C and C++ projects.
> - Of the currently active Python projects nearly all old projects
> included other languages, while only a third of the new projects
> does so.
> - Perl is the only language for which the fraction of multi-language
> projects is larger for active projects.
> - For the mature Python projects there is also a large difference in
> the fraction of cross-language projects between old and new
> projects.
> - For all languages the percentage of mature projects that use more
> than one language is smaller.
>
> One conclusion
>
> - Python is increasingly used a stand-alone development language,
> especially in active and mature projects.
>
> Table 5a Percentage of all new projects
> Pyth Prl PHP Jav C C++ Perl PHP Java C C++
> 00-06-01 55 51 41 35 47 46 0.9 0.8 0.6 0.9 0.8
> 00-12-01 52 42 37 33 47 46 0.8 0.7 0.6 0.9 0.9
> 01-06-01 51 48 39 30 46 46 0.9 0.8 0.6 0.9 0.9
> 01-12-01 45 42 31 26 47 43 0.9 0.7 0.6 1.0 1.0
>
> Table 5b Percentage of new cross platform projects
> Pyth Prl PHP Jav C C++ Perl PHP Java C C++
> 00-06-01 52 47 44 32 56 51 0.9 0.8 0.6 1.1 1.0
> 00-12-01 50 40 33 30 54 50 0.8 0.7 0.6 1.1 1.0
> 01-06-01 51 43 36 27 54 52 0.8 0.7 0.5 1.1 1.0
> 01-12-01 44 39 28 24 56 48 0.9 0.7 0.6 1.3 1.1
>
> Table 5c Percentage of active projects
> Pyth Prl PHP Jav C C++ Perl PHP Java C C++
> 00-06-01 87 58 19 12 51 44 0.7 0.2 0.1 0.6 0.5
> 00-12-01 68 60 17 46 44 51 0.9 0.3 0.7 0.7 0.7
> 01-06-01 50 55 40 32 47 37 1.1 0.8 0.6 0.9 0.7
> 01-12-01 33 64 25 19 52 47 1.9 0.8 0.6 1.6 1.4
>
> Table 5c Percentage of mature projects
> Pyth Prl PHP Jav C C++ Perl PHP Java C C++
> 00-06-01 58 36 34 27 37 37 0.6 0.6 0.5 0.6 0.6
> 00-12-01 47 26 20 32 37 44 0.5 0.4 0.7 0.8 0.9
> 01-06-01 45 37 32 24 34 36 0.8 0.7 0.5 0.8 0.8
> 01-12-01 34 31 25 22 36 40 0.9 0.7 0.6 1.1 1.2
>
> Undoubtedly there's more to be gained from these numbers. But this is
> starting to look like work, so...
>
> Roeland
>
> --
> r.b.rigilink at chello.nl
>
> "Half of what I say is nonsense. Unfortunately I don't know which half"
More information about the Python-list
mailing list