martes, marzo 20, 2007

TSLOC

En su artículo "Cracking Software Reuse", Diomidis Spinellis comenta algunos aspectos relativos a la reusabilidad del software, del que se ha dado en conocer "de grano gordo" o coarse-grain reuse. Describir una extensión no inherente a MediaWiki (el motor de Wikipedia) que permite la representación de tableros de ajedrez combinando elementos como tablas html e imágenes entre otros, le sirve para desvelar algo de lo que pocas veces somos conscientes:
Digging deeper, we’ll find that MediaWiki consists of about 175,000 lines of PHP (PHP: hypertext preprocessor) code using the MySQL relational database engine. A rough count of C/C++ source code files in the PHP and MySQL distributions gives us 740,000 and 1.8 million lines, respectively. And underneath, we’ll find many base libraries on which PHP depends, the Apache and Squid server software, and a multimillion-line-large GNU/Linux distribution. In all, we see a tremendously complex system that lets hundreds of thousands of contributors cooperatively edit two million pages—and still manages to serve more than 2,000 requests each second.
(en: Diomidis Spinellis, "Cracking Software Reuse," IEEE Software, vol. 24, no. 1, pp. 12-13, Jan/Feb, 2007).

Lo que sorprende es que todo esos trillones de líneas de código fuente (TSLOC) den soporte a un grupo de personas para elaborar una plantilla que permite mostrar un tablero de ajedrez. Marea pensar la complejidad conjunta de todos esos sistemas, y la manera en la que han sido integrados entre ellos. Cómo dice Spinellis, we should be doing something right.

No hay comentarios: