|

Los programas se construyen con líneas de código, instrucciones que manejan la información que recibe el programa y devuelven el resultado esperado por el programador.

Cuantas más líneas de código tiene un programa, más grande y complejo es -al menos en teoría-. Programas con muchas líneas de código fuente son también mucho más difíciles de mantener al día, y son más propensos a tener puntos débiles.

Vamos a hacer un breve repaso de los programas más populares y el número de líneas de código que tienen, así como del lenguaje de programación con el que se crearon. Avisamos: vas a llevarte alguna que otra sorpresa...

Cómo saber cuántas líneas de código tiene un programa

Hemos buscado la cantidad de líneas de código fuente de los programas más famosos utilizando principalmente tres métodos: fuentes primarias (artículos), cálculo automático mediante la herramienta CLOC y consultas en la página OhLoh.

Si quieres calcular el número de líneas de código fuente de un programa, el procedimiento es bastante sencillo:

  1. Descarga el código fuente del programa y descomprímelo en una carpeta
  2. Descarga CLOC (Count Lines of Code) y cópialo al directorio Windows
  3. Desde la ruta en la que está la carpeta con el código, escribe el comando cloc <carpeta>

CLOC reconoce más de cien lenguajes de programación, y su informe separa el código de las líneas en blanco y las líneas de comentario, lo que permite efectuar un cálculo más preciso de la cantidad de líneas del programa.

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.

¿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

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)

¿Qué te parecen estas cifras?

Sígueme en Twitter: @remoquete

Comentarios

  • Josh Alabama |
    21/09/12
    Josh Alabama

    Y Softonic? :P

  • tupadreguau |
    21/09/12
    tupadreguau

    Los juegos que hago con game maker no suelen superar las 20 lineas de codigo XD

  • brianerc |
    21/09/12
    brianerc

    Demasiado subjetivo.

    int i i=0; while (i<10) { i++; printf("%d \n", i); }

    ------------

    int i for (i=0,i<10,i++) { printf("%d \n", i); }

  • brianerc |
    21/09/12
    brianerc

    Softonic quita las lineas, pero si ordenan el codigo veran que el primero queda de 6 lineas y el segundo de 4, pero el resultado es lo mismo, y es un ejemplo tonto, a niveles mas complejos la imaginacion e ingenio del programador pueden modificar mucho la cantidad de lineas, en esta epoca contar la cantidad de lineas de codigo no dice nada, mi humilde opinion.

  • Anonimo Antivirus |
    21/09/12
    Anonimo Antivirus

    Cuando vi el titulo vine pensando en 3 programas: Microsoft Office, Google Chrome y Minecrsft solo me resolvisteis una duda...

  • Nacho |
    21/09/12
    Nacho

    y softonic?

  • Jose |
    21/09/12
    Jose

    y facebook.com????? me gustaría saber.

  • migueladanrm |
    21/09/12
    migueladanrm

    Y los de Adobe?

  • Christian |
    21/09/12
    Christian

    Excelente investigación. Te felicito porque estimo que te habrá llevado mucho tiempo y, además, la citación de fuentes que has hecho enriquece aun más el informe. Saludos desde Uruguay.

  • francisco |
    21/09/12
    francisco

    Excelente, podía ser más amplio, pero no esta nada mal como dato curioso.

  • Xietao |
    22/09/12
    Xietao

    Pues yo los juegos que hago superan los 1500 líneas de código (35% escrito manualmente) y por los que no lo sabían tengo 11 años

  • Gonzalo |
    22/09/12
    Gonzalo

    @Xietao Cuidado que estamos ante el hijo de Bill Gates

  • Fernando Exposito Gonzalez |
    23/09/12
    Fernando Exposito Gonzalez

    Si medimos el progreso de un programa en líneas de código es lo mismo que medir el progreso de construcción de un avión en peso...@xietao dedícate a estudiar que de fantasías no se vive.

  • Softwer-X |
    23/09/12
    Softwer-X

    Pienso que muchos programas tienen millones de lineas de codigo, pero la eficiencia de algunos deja mucho que desear. y por cierto @Xietao a quien rayos le importa tu edad eso no es sorprendente por que sorprendente seria si un perro fuera el que lo hiciera, que quieres un premio nobel o que?

  • equusferus |
    24/09/12
    equusferus

    Muy buena información, yo en lo particular he tratado de buscar esta tipo de información y por mas que he buscado no hallaba. Un dato extra para brianerc, efectivamente las lineas de código varían dependiendo de lo habilidoso que puede ser un programador. Pero la cantidad de lineas de código si te dicen algo, y con información muy valioso. Por ejemplo en los libros de gestión, desarrollo e Ingeniería del software, hay modelos matemáticos que se aplican para saber la cantidad de lineas de código y en base a eso determinar o mejor dicho tener una idea de lo que que podría costar tu software, así como también determina la complejidad del mismo.

  • Ian |
    24/09/12
    Ian

    Falto Android

  • seadx6 |
    24/09/12
    seadx6

    Pues que Linux ROX, es el rey de los sistemas operativos; en la mitad de lineas de codigo que Office tenemos todo nuestro codigo y podemos hacer maravillas con nuestros PCs porque no se vuelven lentos si le instalas office y no te falla casi nada es lo mejor

  • cesar |
    24/09/12
    cesar

    La verdad que recien me entero, pero que los opinantes acá parece ser que todos son habilidosos programadores, que hago yo aca preguntando, como se hace y que es ??

  • warrior123 |
    24/09/12
    warrior123

    windows 8 tendra 150000000 jajajaa

  • TSH |
    24/09/12
    TSH

    Actualmente estoy programando un juego y van casi 80,000 lineas(No lo estoy haciendo solo, tengo un equipo), cuando haga un programa de un millon me morire :P

  • kurremkarmerruk |
    24/09/12
    kurremkarmerruk

    Mi duda, ¿se contesta aquí a alguna duda? ;-)

  • Alfons Casas Gassó |
    25/09/12
    Alfons Casas Gassó

    Como puedo cargar un programa para W32 en un sistema operatoivo W64?

  • DesclabaT |
    25/09/12
    DesclabaT

    ? ? ? ? ? no entender yo cabeza estar confundida

  • DesclabaT |
    25/09/12
    DesclabaT

    se un poco de los codigos pero no entiendo nada de como usarlos me parece algo muy complejo. tendria que estudiar pa´ saberlo

  • Ricardo |
    25/09/12
    Ricardo

    y pensar que cuando jugaba programando con Turbo Pascal mi sistema de boletas basicas, no tenia mas de 100 lineas xP, uno ve estas cantidades y entiende que hay mucho trabajo detras de esto.

    Saludos

  • Toño |
    25/09/12
    Toño

    Hasta un 80% del código genetico del ADN humano se estima que puede ser codigo residual sin funcion actualmente, restos de antiguas etapas en la evolucion humana. Lo mismo con muchos proyectos informaticos.

  • Jhonta |
    25/09/12
    Jhonta

    El número de lineas de un programa no determina en totalidad su precio, el paradigma de programación usado para transcribir el código, la cantidad de módulos y la complejidad de estos son factores críticos a la hora de evaluar y cuantificar el software. En cuanto al rendimiento no necesariamente el programa que menos líneas de código tiene es el más rápido, la manera en la que el programador usa los tipos de variables, procedimientos, funciones, estructuras de decición e iteración, etc, determinan lo óptimo que pudiese llegar a ser el software y sin olvidar que cumpla con su función. Aún sigo con la duda...cuántas lineas tienen Nero y Fotoshop??

  • wanm28 |
    25/09/12
    wanm28

    esa informacion ya salio en otras web un copy past en toda regla

  • EddySam |
    25/09/12
    EddySam

    Con todo respeto.. A todo esto, Cual es el fin o motivo del TEMA???

    Cuando vi el articulo,,,, no se esperaba una CONCLUSION mas definida. Para eso mejor voy a WIKIPEDIA :P

    >.< No se pero creo que el echo de algunos softwares tengas menos o mas codigos; todo depende del fin con el que fueron hechos, y la epoca en la que fueron creados.

    Te doy un -100 si este fuera el foro de Taringa lol

  • Fabrizio Ferri |
    25/09/12
    Fabrizio Ferri

    wanm28: lee mejor el artículo. Nuestras fuentes han sido tres: OhLoh, los resultados del programa CLOC y artículos que enlazamos. Hemos seleccionado las cifras que considerábamos más interesantes.

    EddySam: el propósito de este artículo es mostrar un dato curioso y poco conocido acerca de los programas que usamos a diario, los más destacados. La conclusión la saca el lector. Obviamente, este información se puede extraer directamente de las fuentes que consultamos, pero se tardan unas cuantas horas.

  • gaguilar |
    25/09/12
    gaguilar

    Pues a mi me pareció interesante, no soy muy versado en esto y me da una idea de la complejidad que hay detrás de un programa y al cual se puede aceder con solo oprimir un boto o una tecla. A todos los que se dedican a esto, grandes y pequeños, mis saludos y respetos.

  • Oxlaj |
    25/09/12
    Oxlaj

    Buenisimo

  • nicolas |
    26/09/12
    nicolas

    9 millones feibuk? pa la mierda que es tanto trabajo? jaja

  • Luis_vera_2000 |
    26/09/12
    Luis_vera_2000

    Realmente estoy fascinado... \o/ Mi primer programa en QBASIC tenia 3.000 lineas de codigo y para mi ya era gran cosa.jajajajaja... Me doy cuenta que el mundo es grande :-P

  • Fernando Exposito Gonzalez |
    20/10/12
    Fernando Exposito Gonzalez

    Quiero ser hacker.Alguien me quiere contratar para trabajar con vosotros? Hare lo que sea necesario por trabajar.Dueños de Softonic, me dais trabajo? que quiero trabajar con vosotros por favor

  • rompe ortos |
    23/10/12
    rompe ortos

    Claro q t doy trabajo de pela pollos

  • 2manti |
    15/11/12
    2manti

    y el phtoshop cs6??

  • David2011 |
    18/11/12
    David2011

    @tupadreguau Con el Game Maker te salen 20 líneas pero eso es irreal por dos motivos:

    1) El ejectutable contiene muchas lineas que pertenecen al programa Game Maker y que permiten que se ejecute (muchas más que un simple compilador).

    2) Esas 20 líneas pasadas a cualquier lenguaje de alto nivel (C++,Java,Python...) son bastantes más.

    Tu comparación es menos acertada que mirar el número de líneas de un programa en ensamblador y otro en Python (con el que quedan códigos muy cortos).

    Sé de lo que hablo porque programo en varios lenguajes.

  • Nahum Correa Ruvalcaba |
    19/11/12
    Nahum Correa Ruvalcaba

    Interesante articulo Fabrizio, bien redactado.

    Que sorpresa saber que sistemas operativos como el que utilizo (Windows 7) tienen tal cantidad de lineas.

    Y Linux, por otro lado, por su cantidad de lineas se puede ver por que las personas que saben de computadoras/computacion hablan tan bien de el.

    Saludos.

  • fernando exposito gonzalez |
    25/11/12
    fernando exposito gonzalez

    Yo soy un emprendedor que creara el nuevo facebook.Tomad nota de mi nombre porque lo escuchareis por todos lados.

  • David |
    01/01/13
    David

    Este post es muy subjetivo, teniendo en cuenta que muchas rutinas y modulos son prefabricados (algunos son pagos) y están incluidos en los programas que mencionaste (los famosos .dll), casi un 30% del código no está programado por el fabricante sino que sirve para dar soporte al programa.

    De todas formas, muy original la idea.

  • TweakerPro64 |
    03/02/13
    TweakerPro64

    Es increíble cuantas líneas tiene Linux =S, y más todo el sistema... Dios Mío!! jaja, por eso critican tanto a Windows, porque técnicamente GNU es mejor que Windows... pero Windows es mejor para USO GENERAL PARA USUARIOS FINALES, por eso seguiré pensando en que GNU es una MIERDA.

    Pero esto no viene al caso... Muy interesante la información =)

    "Fernando Gonzalez", a ver... veremos que hacer =P

    David, veo que no tiene ni puta idea de que son los .dll, pobre ignorante

  • Mariely |
    06/02/13
    Mariely

    necesito ayuda con una tarea no se si me puedan ayudar con una linea de código de programacion en negacion ayuda por fa !!!!

  • Edwar |
    14/04/13
    Edwar

    falto joomla tambien es bastante popular

  • dieguito cocaina |
    14/05/13
    dieguito cocaina

    y diego? cunatas lineas tiene encima?????

  • JOSE CORDOVA ALVARADO |
    26/06/13
    JOSE CORDOVA ALVARADO

    La forma de escribir una linea de código fuente referente a algo desde una plataforma que fuere , tiene costo por cada línea que se vaya anexando al programa o archivo por lotes o procedimientos almacenados . Su costo es de 1,00.00 usa mi email: josecordova_jc@hotmail.es. SALUDOS DESDE ECUADOR.

  • kartus |
    02/08/13
    kartus

    buen artículo. Siempre es interesante saber la cantidad de líneas que demandó un desarrollo.

    Pero de todos modos, coincido con la subjetividad en cuanto a la cantidad de líneas de código, tal vez muchas de ellas son en blanco, o sólo de comentarios del programador.

    Habría que ver si son líneas efectivas de código. De todos modos, como en linux, son muchas igual.

    Un buen desarrollador de software ha de ser como todo sabio: hablar poco y decir mucho. Lo que es lo mismo decir, pocas líneas que hagan mucho y no muchas líneas para hacer poco o nada: (windows milenium edition)

  • Sergio |
    29/08/13
    Sergio

    No crei que facebook tuviera tantas lineas de código. Aunque me imagino que reutilizaron, muchas lineas de frameworks existentes y esas cosas, aun así son bastantes

  • Elizabeth |
    27/09/13
    Elizabeth

    Buenas tardes con todos

    Le felicito por la investigación realizada, es un buen referente, pero me que una inquietud : Porque será que la mayoría utiliza lenguaje C++?

  • chmp |
    11/01/14
    chmp

    Para empezar gracias por la ocurrencia y la información aportada.

    También por los comentarios, anteriores, pues la mayoría complementa la inicial con pros o contras (hay excepciones).

    Creo que también hay que valorar el lenguaje utilizado, por que no todos necesitan del mismo número de líneas para hacer la misma función, y dependiendo del objetivo, no es lo mismo un videojuego, que una página de chateo o un sistema operativo, por nombrar algunos.

    En cuanto a las líneas, tengo una anécdota vivida hace no mucho, donde el subdirector nos exigía no recuerdo si era un mínimo de 3000 o 4000 líneas al mes.

    Pero claro, también está la fase de pruebas, y posteriormente el mantenimiento de vez en cuando. Esto quiere decir, que para no arriesgarnos a perder puesto, teníamos que sacar líneas por donde fuera. Y por supuesto nadie controlaba la reutilización del código, ni los comentarios, etc..

    Mi conclusión particular es que no por tener más líneas es más compleja una aplicación. También depende de los jefazos, ejecutivos y demás milindris que cobran un pastizal por tomar decisiones, muchas veces basadas en el marketing y la apariencia, que en la eficacia del producto.

    Saludos.

02/09/14
Tu imagen de usuario
  1. 1
  2. 2
  3. Siguiente