PDA

Просмотр полной версии : Языки программирования в исходниках Debian/Linux


lsmod
27.04.2008, 20:23
В упомянутом ниже исследовании "Measuring Etch: the size of Debian 4.0" приведены результаты по использованным в sources языкам программирования. Обращаю внимание, что исследовались только исходники из каталога main, куда попадает исключительно софт, соответствующий DFSG и для компиляции/работы не требующий не-DFSG софта.

Так как репозитории Debian одни из крупнейших в мире OpenSource, то исследование позволяет, несколько приблизительно, разумеется, выявить языки, наиболее широко используемые в открытом софте.

Итак, всего в исходниках deb-пакетов ~283 000 000 Source Lines Of Code (далее - SLOC).

Распределение по языкам:


C: 145,278,000 SLOC (51%)
C++: 52,983,000 SLOC (18.7%)
Shell: 29,327,000 SLOC (10.4%)
Java: 8,969,000 SLOC (3.17%)
PERL: 8,074,000 SLOC (2.85%)
LISP: 7,659,000 SLOC (2.7%)
Python: 7,219,000 SLOC (2.55%)
Assembler: 4,121,000 SLOC (1.46%)
PHP: 3,270,000 SLOC (1.15%)
FORTRAN: 2,678,000 SLOC (0.95%)
C#: 2,336,000 SLOC (0.83%)
Pascal: 2,240,000 SLOC (0.79%)
TCL: 1,635,000 SLOC (0.58%)

Менее 0.5% в исследовании получили языки : Ada (0.46%), ML (0.42%), Objective C (0.39%), YACC (0.25%), и другие - менее 0.1%.

Как видим, безусловный лидер - С. В лидерах также С++ - в том числе в силу того, что является ведущим языком в таких "тяжёлых" проектах, как OOorg и Firefox (Iceweasel в нынешней нотации Debian). Наконец, третье место за shell-скриптами, на которых, собственно, и держится конфигурирование системы. Вообще сриптинг, что неудивительно, широко представлен в списке, причём Python уступил 0.3% PERL'у. :)

Теперь интересная статистика по наиболее крупным пакетам:


Openoffice.org: 5,215,000 SLOC. Из них C++ 4,613,000, Java 381,000 и C 117,000. В этом пакете также используются ещё 14 языков.
Linux2.6: 4,921,000 SLOC, в основном код C (4,700,000) и небольшая часть на других 10 языках.
ia32-libs: 4,006,000 SLOC, в основном код C (3,530,000) и другие 20 языков.
gcc-4.1: 3,630,000 SLOC, C код (1,211,000) и ещё 18 языков. Исследователи находят интересным, что более 1,000,000 SLOC - это shell код.
iceweasel (он же Firefox): 2,777,000 SLOC, главным образм C++ (1,784,000).
icedove (он же Mozilla Thunderbird): 2,709,000 SLOC, главным образом код C++ (1,722,000 SLOC), код C (889,000 SLOC) и ещё 15 языков.
vnc4: 2,357,000 SLOC, в основном код C (2,205,000 SLOC).
eclipse: 2,214,000 SLOC, главным образм код Java (2,107,000 SLOC).
stalin: 1,885,000 SLOC, главным образом C (1,786,204).
mono: 1,766,000 SLOC главным образом код C# (1,496,000 SLOC) и заметное количество C (249,000 SLOC).


Вот такая вот картина "сделанного на коленке" Linux'а получается.