"No puedo imaginarme escribiendo un gran pila de software en Python", dice Robert, un Ingeniero de Software en Google que trabaja en el área de búsquedas. "Usamos C++, Go y Java para sistemas de software en producción. Empleamos Python para tareas de scripting, pruebas y construcción de algunas herramientas."
Entre las razones que Robert menciona sobre la preferencia de Google a usar lenguajes como C++ o Java son:
Familiaridad.
Gran parte de los trabajadores de Google están muy familiarizados con C++.
Rendimiento.
Java puede ser mas rápido que Python. C++ más rápido que Java.
Herramientas.
Las herramientas para depurar, medir el rendimiento y otras tareas son significativamente mejor en Java que en Phython. Incluso C++ es mas fácil de depurar y entender en sistemas de gran escala.
Concurrencia.
Como puedes imaginar, los sistemas de Google son altamente paralelizados, y muchos hacen un uso intensivo de hilos. El uso de hilos en Python son un verdadero desastre. El bloqueo de intérprete global es un gran quebradero de cabeza.
Falta de necesidad del poder de prototipado de Python.
Una gran fortaleza de Python es que es muy fácil de prototipar pequeños sistemas. Sin embargo, en Google, los beneficios no son tan atractivos. Se disponen de muchos frameworks potentes que hacen que el prototipado sea realmente sencillo. Se prefiere prototipar acoplando un hack a un servidor existente, en vez que construir desde cero un sistema distribuido.
Tipos estáticos.
En proyectos complejos con grandes equipos, es mas importante atrapar los bugs temprano en el desarrollo, en vez de producir lineas de código rápidamente. Los tipos estáticos permiten la captura de muchos bugs antes de que se suban a los repositorios, sin necesidad de gran cantidad de pruebas. Esto hace que los tipos estáticos sean mas adecuados para los sistemas de producción de Google.
Y tu, ¿Estas de acuerdo? ¿Crees que es viable el uso de Python o PHP en sistemas a gran escala? Cuéntanos en los comentarios.
No hay comentarios:
Publicar un comentario