Un usuario comenta en su blog la presentación de Greg Stein, ingeniero administrador del grupo Open Source de Google, en la reciente SDForum Python Meeting: En Google, Python es uno de 3 "lenguajes oficiales", junto con C++ y Java. Oficial significa que los empleados de Google pueden usar estos lenguajes en proyectos de producción (los que usamos todo el mundo). Internamente, la gente de Google puede usar muchas otras tecnologías, incluyendo PHP, C#, Ruby y Perl. Python está bien adecuado a los procesos de ingeniería en Google. El típico proyecto en Google tiene un equipo pequeño (de 3 pesonas) y una corta duración (de 3 meses). Después de que el proyecto se ha terminado, los desarrolladores pueden irse a otros proyectos. Los proyectos más grandes pueden subdividirse en otros más pequeños presentables en 3 meses, y los equipos pueden elegir su propio lenguaje para el proyecto. |
A los ingenieros se les da el 20% del tiempo en su trabajo para que lo apliquen en lo que sea que quieran. Muchas de las nuevas ideas de Google provienen de este 20%,
y "de abajo hacia arriba" parece ser el mantra en Google.
Internamente, Google ha estado usando Python 2.2. Es difícil para ellos mudarse a la v2.3 o v2.4 por la gran cantidad de computadoras que tienen y la compatibilidad
entre todas ellas. Sin embargo, pronto intentarán actualizarse a la v2.4.
Los programadores Python en Google deben seguir una estricta pauta de estilo (basada en PEP8 con indentación de 2 espacios). Cuando a los ingenieros se les otorga
acceso al sistema de Google de administración de código fuente, deben pasar antes una prueba de estilo. Todo el código debe pasar la supervisión de 2 pares de ojos
antes de ser aceptado.
El sistema de builds de Google está escrito en Python. Todo el código corporativo de Google es alamacenado en un repositorio y las dependencias y la construcción
de este código es administrado por Python. Stein mencionó que crear code.google.com llevó 100 líneas de código Python. Pero debido a que tenía tantas dependencias,
el sistema de builds generó un archivo makefile de 3 Mb para él.
Google tiene un sistema interno de empaquetado de software, similar al RPM de Red Hat. Estos paquetes son creados usando Python.
Alex Martelli está trabajando en optimizar las transferencias de datos binarios entre miles de servidores, usando Python.
Todo el monitoreo, reinicialización y recolección de datos de los servidores de producción se realiza en Python.
Los logs son anlizados y los reportes generados usando Python.
Python también se usa en algunos servicios como code.google.com y los Google Groups. La mayoría de los front-ends están escritos en C++ (incluído www.google.com)
y también en Java (como Gmail). Todos los servicios web están construidos sobre un servidor http altamente optimizado que cuenta con SWIG para conectar programas
escritos en C o C++ con otros lenguajes de scripting como Perl, Ruby o Python.
Stein también comentó que el código que Google liberó como Open Source hasta ahora no ha sido muy interesante. Pero espera que eso cambie en el futuro cercano.
También notó que probablemente liberen su sistema de empaquetado de software.
Fuente: http://www.vivalinux.com.ar/articulos/python-en-google