Perspectiva corporativa:
Aunque no soy experto en las diferencias técnicas entre Python, Julia, R y Matlab, puedo brindar algunas "observaciones" corporativas.
En mi empresa, casi todos los desarrolladores de back-end poseen conocimientos de Python y pueden entender fácilmente su sintaxis, mientras que pocos están familiarizados con Matlab o Julia (aunque algunos tienen experiencia con R). Esto hace que sea mucho más eficiente para todo el negocio cuando los algoritmos de front-office se escriben en Python, ya que los desarrolladores de back-end pueden traducirlos sin problemas a un código optimizado de C++ o C# para el pipeline de producción.
Nuestros desarrolladores de back-end trabajan en iteraciones como parte de la metodología SCRUM, asignando a cada tarea un número específico de días basado en su complejidad. Si un algoritmo está escrito en Julia o R, se requiere tiempo y esfuerzo adicionales para que los desarrolladores de back-end comprendan el código, lo que puede provocar retrasos y frustración. Esto también podría resultar en más reuniones con el trader de front-office que desarrolló el algoritmo, lo que finalmente le costaría dinero a la empresa debido a la ineficiencia.
Respecto a la discusión sobre el uso de Julia (o Matlab) en lugar de Python por temas de rendimiento: para cualquier algoritmo donde el rendimiento es importante, contamos con un equipo de desarrolladores experimentados en C++. Dado que C++ es conocido por su velocidad y ha sido una opción popular para aplicaciones de alto rendimiento durante mucho tiempo, también resulta en un mercado laboral más grande de desarrolladores calificados en C++.
Para resumir:
-
Popularidad y Sintaxis Simple: La popularidad y la sintaxis simple de Python hacen que sea accesible para casi todos los programadores dentro del negocio. Además, facilita una integración más fluida en un sistema basado en producción. Además, debido a la sintaxis simple, también es excelente como lenguaje de script.
-
Mayor Mercado Laboral de Desarrolladores Calificados: Existe un grupo significativamente más grande de desarrolladores con un sólido entendimiento de Python en comparación con Julia, R o Matlab. Esto hace que la contratación y sustitución sea más fácil y eficiente.
-
Reducción de Costos Corporativos: Los factores anteriores contribuyen a reducir los costos corporativos. La popularidad y simplicidad de Python mejoran la eficiencia, mientras que el mayor mercado laboral asegura que encontrar o reemplazar desarrolladores sea más sencillo y rentable. Lo mismo puede decirse de los desarrolladores de C++ frente a cualquier otro lenguaje de alto rendimiento.
En resumen, a menos que surja un nuevo lenguaje de programación que iguale la popularidad de Python y ofrezca beneficios adicionales, es probable que Python siga siendo la elección preferida a largo plazo.