Some statistics from Debian package tags

I'm running Debian Stable (7.x, Wheezy, 7.4 to be exact) on amd64.

Count all Debian packages by their implementation language (I know, not the most efficient way):

% ( for tag in `debtags tagcat | grep '^Tag: implemented-in::' | sed 's/^Tag: //'`; do
    echo -e `debtags search $tag | wc -l` "\t" $tag
  done ) | sort -nr
4439     implemented-in::c
3258     implemented-in::perl
1840     implemented-in::c++
1063     implemented-in::python
304      implemented-in::java
289      implemented-in::ruby
214      implemented-in::ocaml
199      implemented-in::lisp
194      implemented-in::shell
137      implemented-in::php
118      implemented-in::TODO
97       implemented-in::r
92       implemented-in::haskell
79       implemented-in::c-sharp
62       implemented-in::objc
55       implemented-in::tcl
47       implemented-in::fortran
41       implemented-in::vala
41       implemented-in::scheme
37       implemented-in::lua
30       implemented-in::ecmascript
28       implemented-in::ada
2        implemented-in::ml
0        implemented-in::pike
0        implemented-in::erlang

I wonder why no Go yet...

Let's exclude all Perl libraries (/^lib.+perl$/) from that Perl count:

% debtags search implemented-in::perl | perl -ne 'next if /^lib\S+-perl - /; print' | wc -l
558

Now for Python (/^python-$/):

% debtags search implemented-in::python | perl -ne 'next if /^python-/; print' | wc -l
669

And Ruby:

% debtags search implemented-in::ruby | perl -ne 'next if /^ruby-|^lib\S+-ruby[\d.]* -/; print' | wc -l
85

Lastly, for OCaml (I included OCaml because it's supposed to be easy to integrate with C code/libraries and produces binaries that has fast startup time, appropriate for creating Unix tools):

% debtags search implemented-in::ocaml | perl -ne 'next if /^lib\S+-ocaml(-dev)? -/; print' | wc -l
86

2 Comments

Wow, I am surprised by Ocaml being so high.

Leave a comment

About Steven Haryanto

user-pic A programmer (mostly Perl 5 nowadays). My CPAN ID: SHARYANTO. I'm sedusedan on perlmonks. My twitter is stevenharyanto (but I don't tweet much). Follow me on github: sharyanto.