[E-Lang] measurement of programming language popularity in the open source community

Zooko zooko@zooko.com
Tue, 16 Oct 2001 13:59:22 -0700


In this post to e-lang, I reported on which programming languages were used for
Source Forge projects:

http://www.eros-os.org/pipermail/e-lang/2001-February/004594.html

Now I'm reporting on which programming languages are used for freshmeat
projects.

Freshmeat is probably more representative of the open source community as a
whole, because an open source project gets a freshmeat entry if any developer,
user, or freshmeat editor decides to list it, whereas it gets a SourceForge
entry only if the developer decides to make SourceForge her primary base of
operations.

C:          2673
Perl:       1361
C++:        1020
PHP:         740
Java:        726
Python:      403
Unix Shell:  246
Tcl:         190
SQL:         124
Other:        89
JavaScript:   85
Assembly:     83
Other Scripting Engines: 41
Lisp:         35
Scheme:       35
Ruby:         31
Objective C:  26
PL/SQL:       21
Fortran:      18
Eiffel:       16
Delphi:       15
Ada:          15
ML:           15
Pascal:       15
Awk:          13
Zope:         13
Forth:        11
ASP:           9
Emacs-Lisp:    9
Haskell:       8
Cold Fusion:   7
Visual Basic:  6
Modula:        5
Rexx:          5
Dylan:         4
Erlang:        4
Object Pascal: 4
APL:           3
Smalltalk:     3
PROGRESS:      2
Prolog:        2
Simula:        1
XBasic:        1
Euler:         1
Euphoria:      1
Basic:         1
Logo:          0

Next I tried to filter out the vaporous and moribund projects.

My methodology [shouldn't that be "method"? -Ed.] was to look at each
programming language and count how many projects had greater than 6%
popularity.  I chose 6% because Cygwin has 6.52% popularity and I like Cygwin.
Popularity is defined as (record hits * URL hits * subscriptions)^(1/3), as
described in the freshmeat FAQ:

http://freshmeat.net/faq/view/30/

C:          67
C++:        23
PHP:        17
Perl:       10
Unix Shell:  8
Assembly:    5
Python:      3
Java:        2 (Hm... but they are Mozilla and Netscape)
JavaScript:  2 (Mozilla, Netscape)
Ada:         1
ASP:         1
PL/SQL:      1
SQL:         1
Scheme:      1
Tcl:         1

The rest all have 0:

APL, awk, Basic, Delphi, Cold Fusion, Dylan, Eiffel, Forth, Erlang, Euphoria,
Emacs-Lisp, Fortran, Haskell, Lisp, ML, Modula, Object Pascal, Objective C,
Other, Pascal, Prolog, PROGRESS, Rexx, Simula, Smalltalk, Ruby, Visual Basic,
XBasic, Zope

Regards,

Zooko