Ellos usan Java.
Más seriamente, solo lo hacen gastando una buena cantidad de tiempo en un proyecto y teniendo una arquitectura decente. Siempre que hayas pensado un poco en ello, es bastante fácil escalar una base de código sin tener que mantener todo en tu cabeza de una vez. En ese punto, solo se convierte en una cuestión de tiempo y dedicación.
Además, muchos proyectos tienen lo que yo considero una “gran área de superficie pero bajo volumen”. Es decir, tienen una gran cantidad de código que hace cosas pequeñas, en su mayoría sin relación, sin una estructura profunda o complejidad conceptual. Construir miles de líneas de código como esto es a menudo fácil e inevitable.
Considere, por ejemplo, muchas GUI: tienen capas completas de menús, diálogos y asistentes. Todo ese código de UI requiere muchas líneas de código (¡especialmente en versiones anteriores de Java con sus clases internas anónimas!). Pero esas líneas de código no hacen mucho. Por ejemplo, cada elemento del menú necesita una línea que declare su nombre, que especifique a qué menú se dirige y que le vincule una función; está viendo 2 o 3 líneas por elemento, incluso para los triviales como “ayuda” o “salir” .
- ¿Cuáles son algunas de las próximas innovaciones en el sector de TI?
- ¿Cómo se desarrolla la informática de consumo en la Argentina?
- Si uno usa su tiempo libre para crear un sistema de TI basado en la experiencia obtenida trabajando para una empresa en un sistema similar, ¿puede dicha persona considerar el sistema como propio y usarlo como su propio producto?
- ¿Documento de procedimiento operativo estándar (SOP) para el proceso de ventas y marketing de un inicio de TI?
- ¿Existe realmente una tableta Aakash de bajo precio e indígena?
Por ejemplo, aquí hay un simulador de física en el que trabajé con un amigo en la escuela secundaria. ¿Ver los pequeños menús y ventanas emergentes y herramientas? ¡Cada uno de ellos toma un montón de líneas, y no está relacionado con la física real de la cosa en absoluto ! Algo así como la mitad del código para esto, miles de líneas, es simplemente configurar los elementos de la interfaz de usuario y convertir la simulación física real en 2D en un programa GUI.
Por supuesto, esto es parcialmente culpa de Java. Me tomó 10 líneas de código para cada botón que ves en el lado izquierdo:
rectangleButton = new JButton(rectangleTool); rectangleButton.setPreferredSize(new Dimension(25, 25)); rectangleButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { parent.addRectangle(); } }); rectangleButton.setOpaque(false); add(rectangleButton);
Más código es mejor código, ¿verdad? ¡Esa es la forma de Java!
Si está haciendo una aplicación web, tiene lo mismo: necesitará cientos de líneas solo para configurar todos los parámetros, configurar una consola de administración, configurar el manejo de errores correctamente … etc. Eso es antes de que tenga alguna lógica. ¡Específico para el núcleo de lo que estés trabajando!
De hecho, muchas aplicaciones, especialmente las que no se centran en la investigación, tienen mucho más código como este que el código algorítmico carnoso que hace algo interesante.
En última instancia, solo significa que las líneas de código son en realidad un proxy bastante malo para el tamaño, la complejidad, la dificultad o la capacidad de un proyecto. Hay demasiada variación dependiendo de lo que estés haciendo y del idioma que estés usando. He escrito código Haskell que no es de GUI que tiene más contenido real en 500 líneas de código que en 4000 líneas de Java que había escrito anteriormente. (El código de Haskell también tenía una propiedad entrañable de acortarse cuando agregué nuevas funciones porque era muy fácil refactorizar y generalizar).
Así que lo más probable es que los proyectos de línea de 10k en los que trabajaron fueran exactamente de este tipo: área de superficie alta pero volumen bajo.