|
Постоялец
lsmod вне форума
Регистрация: 18.12.2007
Сообщений: 1,239
|
Языки программирования в исходниках Debian/Linux
В упомянутом ниже исследовании "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'а получается.
|