miércoles, 16 de enero de 2013

¿Cuántas líneas de código tienen los programas más populares?

Sistemas operativos: algunos son más pequeños que Office...
Por complejidad y número de herramientas integradas, los sistemas operativos son el software que más líneas de código suele contener. La mayoría están programados en C y ensamblador, lenguajes menos prolijos pero más eficientes.
Un ejemplo notable es Mac OS X, el sistema operativo de Apple, que contiene más de 86 millones de líneas de código. Por otro lado, Windows XP tiene 45 millones de líneas de código, mientras que una distribución completa de Linux puede superar fácilmente los 300 millones.
Puesto que un sistema operativo es una colección de herramientas alrededor de un núcleo, estas cifras son muy variables y poco representativas. Por ello es más interesante centrar la atención en los núcleos de cada sistema, los llamados kernels, que son el corazón de los sistemas.
El núcleo de Windows 7 tiene 2.085.772 líneas (en 1981, MS-DOS 1.0 tenía 4.000)
El núcleo de Linux supera los 15 millones de líneas (en 1994, Linux 1.0 tenía 176.250)
El núcleo de Mac OS X (xnu) ronda el millón de líneas de código
El núcleo de QNX tiene alrededor de 100.000 líneas de código
¿Significan estas cifras que el núcleo de un sistema es mejor que otro? En absoluto. Cada sistema operativo ha adoptado una estrategia diferente por lo que respecta a su núcleo, y mientras el de Linux es un kernel monolítico y con muchísimos módulos, los núcleos de Mac y Windows son híbridos que se acercan más a los micronúcleos.
¿Cuánto código tienen las aplicaciones más famosas?
Hay muchos factores que influyen en la cantidad de líneas de código de un programa: desde la filosofía de diseño (monolítica vs. modular) hasta el lenguaje empleado, pasando por la cantidad de comentarios insertados y la convención de estilo adoptada. Cuando veas un número de líneas de código, siempre conviene saber cómo se calculó ese número.
Navegadores web
Google Chrome: 6.301.713 líneas de código (el 70% en C/C++)
Mozilla Firefox: 7.667.852 líneas de código en C, C++ y JScript
Suites ofimáticas
OpenOffice: 19.586.971 en C++, con mucho código HTML y XML
Office tiene una cantidad desconocida de líneas; la versión para Mac de 2006 tenía 30 millones
Programas P2P
Ares Galaxy: 1.176.679 líneas de código Delphi / Kylix
eMule: 2.437.791 líneas de código, principalmente C++
BitTorrent -el protocolo- tiene solo 8.633 líneas de código (Python)
Vuze: 967.990 líneas de código (fundamentalmente Java)
Chat, servidores y redes
Pidgin: 348.242 líneas en C
mIRC: supera las 170.000 líneas de código C/C++
El servidor Apache tiene 1.617.508 líneas de XML y C
¡El servidor nginx solo tiene 113.719 líneas de código!
Editores y reproductores multimedia
Blender: 1.104.789 líneas de código en C, C++ y Python
Audacity: 161.007 líneas de código en C++
GIMP: 726.863 líneas de código en C
VLC: 599.658 líneas en C y C++ (un 17% es XML)
Media Player Classic: 168.007 líneas de código C++
Videojuegos
World of Warcraft: más de 5,5 millones de líneas
Crysis: un millón de líneas de código
Doom 3: 601.047 líneas de código C y C++ (Quake 2, "solo" 138.240)
Prince of Persia: 51,231 líneas en lenguaje ensamblador
Frontier: Elite II: más de 250.000 líneas en ensamblador
Minecraft: no, no son "4.815.162.342" como dice el juego (el número real se desconoce)
Aplicaciones web
Facebook supera los 9 millones de líneas de código
Wordpress: 160.636 líneas de código PHP y otros
Gmail: 443.000 líneas de código JavaScript
Reddit: 139.659 líneas de código (50% Python)
Menéame: 23.190 líneas de código (62% es PHP)

No hay comentarios:

Publicar un comentario

tu opinión importa: