¿Cómo se comparan las bibliotecas de aprendizaje automático de Python con las de Go?

Python es un concepto de 25 años que evolucionó con el tiempo, pero los principales paradigmas siguen el conocimiento válido del momento de su creación. En general, la comunidad de Python es grande, de acuerdo con el índice TIOBE, está dentro del lenguaje popular TOP 10 con una tendencia creciente. Las bibliotecas de Python son más maduras y, desde esa perspectiva, también están más listas para la producción. El código Python es fácil de leer, eso ayuda a comprender la lógica subyacente. Sin embargo, Python es excelente como herramienta rápida de creación de prototipos, o en una situación en la que se prefiere un código fácil de escribir y fácil de mantener. Para el procesamiento de datos en tiempo real o grande, el código crítico se transferirá tarde o temprano a un lenguaje estático como C. Los proyectos como Scipy, Numpy, Matplotlib, Pandas o Scikit-learn son los más utilizados. Para leer más, le recomiendo: Los 20 principales proyectos de código abierto de Python Machine Learning

Go tiene la ventaja de ser un lenguaje joven que intenta en su diseño y su biblioteca estándar refleja la arquitectura de software “de última generación”. El rendimiento de Go está entre C / C ++ y Java, veces más rápido que python. Sin embargo, la misma funcionalidad costará más líneas de código en comparación con Python. La principal desventaja es que algunas de sus características aún se pueden ajustar y la mayoría de sus bibliotecas de terceros incluyen. El aprendizaje automático también está evolucionando. Creo que vale la pena aprender y experimentar con Go, puede integrarse con python (o cualquier otro lenguaje dinámico), tenga cuidado al evaluar si ya está listo para la producción más allá de los proyectos internos, no críticos o experimentales.

Vale la pena consultar los siguientes recursos para obtener más información: Bibliotecas de aprendizaje automático en Go Language o Bibliotecas de aprendizaje automático en GoLang por categoría

Históricamente, Python se ha utilizado mucho con fines matemáticos y científicos, por lo que su ecosistema está mucho más desarrollado que el de Go.

Gracias a muchas bibliotecas como NumPy, puede expresar operaciones matemáticas de manera elocuente y eficiente. También hay varios juegos de herramientas como SciPy y Anaconda que hacen de Python una base muy buena para trabajar con datos.

El vibrante ecosistema de Python es probablemente la razón por la que ahora también hay un conjunto muy saludable de bibliotecas de aprendizaje automático. Basta con mirar a Theano, TensorFlow, por nombrar algunos.

Te resultará difícil encontrar bibliotecas maduras y desarrolladas activamente en Go. Puede ponerse al día en unos años, pero creo que lenguajes como Python y R se mantendrán en la cima.

Tenga en cuenta que las comunidades de matemáticas, análisis de datos y aprendizaje automático a menudo prefieren los idiomas interpretados. La gran mayoría del tiempo se dedica a escribir y probar el código, que es donde brillan los idiomas interpretados. La mayor parte del trabajo intensivo de la CPU se realiza en pequeños procedimientos, que pueden optimizarse en C.