Python es hora de hacer espacio. Sobre las perspectivas de Julia

Buenos dias Habr!

El clip de nuestra literatura de Python se repone constantemente con libros de varios niveles. Sin embargo, hoy nos gustaría presentar este artículo hoy, cuyo autor considera que Julia es una alternativa viable y prometedora a Python. Lea, siga los enlaces y no olvide votar.



Si Julia todavía te parece misteriosa, no te preocupes. Foto de Julia Caesar en Unsplash



No me malentiendas. La popularidad de Python todavía está garantizada por el apoyo inquebrantable de la comunidad, que incluye especialistas en informática, ciencia de datos e inteligencia artificial.

Sin embargo, si tuviera la oportunidad de sentarse en una cena en compañía de estas personas, vería lo indignados que estaban por los defectos de Python. Este lenguaje no solo es muy lento, sino que también requiere pruebas exhaustivas y aún da errores de tiempo de ejecución, a pesar de las pruebas anteriores. Esto es suficiente para hacer de Python una impresión deprimente.

Es por eso que cada vez más programadores están cambiando a otros idiomas, entre los cuales Julia, Go merece una mención especial.y óxido. Julia es perfecta para problemas matemáticos y técnicos, Ir para tareas modulares y Rust es indispensable en la programación del sistema.

Dado que la ciencia de datos y la inteligencia artificial tienen que lidiar con una serie de problemas matemáticos, Julia es un regalo del cielo para ellos. Incluso con un examen muy crítico, resulta que Julia tiene tales ventajas que Python no puede oponerse.

Zen versus la gula de Julia:

inventando un nuevo lenguaje de programación, sus autores se esfuerzan por preservar las fortalezas y eliminar las deficiencias de los lenguajes más antiguos.

Fue en esta línea que Guido van Rossum actuó a fines de la década de 1980, creando Python: buscó mejorar el ABC. El último fue demasiado perfecto.para un lenguaje de programación, y debido a tal rigidez, resultó que es fácil de aprender, pero difícil de usar en proyectos reales.

Python, por el contrario, es muy pragmático. Esto es evidente por el código Zen de Python , que refleja las intenciones de sus creadores:

Lo bello es mejor que lo feo.
Explícito es mejor que implícito.
Simple es mejor que complejo.
Complejo es mejor que confuso.
Desplegado es mejor que anidado.
Escaso es mejor que denso.
La legibilidad importa.
Los casos especiales no son tan especiales como para romper las reglas.
Al mismo tiempo, la practicidad es más importante que la impecabilidad.
[...]


Python ha conservado muchos de los beneficios de ABC: por ejemplo, legibilidad, simplicidad y claridad para principiantes. Pero Python es mucho más confiable que ABC, y mucho mejor aplicable en la vida real.

En un sentido similar, los creadores de Julia querían mantener todo lo mejor de otros idiomas y deshacerse de todo lo malo. Pero las ambiciones de Julia están lejos de limitarse a esto: el objetivo no es reemplazar ningún idioma, sino superar todos los idiomas.

Esto es lo que los creadores de Julia dicen sobre esto :

: . . C Ruby. Lisp, , Matlab. , Python, R, Perl, , Matlab, , shell. , , . , .


Julia busca combinar todas las ventajas de los idiomas existentes, pero no comprometer, lo que requeriría tomar estos idiomas y sus defectos. Además, aunque Julia es un idioma joven, ya ha logrado muchos de los objetivos establecidos por sus creadores.

Lo que les gusta a los desarrolladores de Julia La

variedad Julia

se puede usar para cualquier cosa, desde simples aplicaciones de aprendizaje automático hasta simulaciones colosales de supercomputadoras. Python también es capaz de esto hasta cierto punto, pero Python se ha adaptado de alguna manera a estas tareas.
Por el contrario, Julia fue creada solo para tal trabajo. Desde el principio.

Velocidad

Los creadores de Julia querían hacer un lenguaje que no fuera inferior en velocidad a C, pero la creación que obtuvieron funcionó aún más rápido. Aunque se ha vuelto más fácil acelerar Python en los últimos años, su rendimiento aún está muy lejos de Julia.

En 2017, Julia incluso ingresó al Petaflop Club , un pequeño club de idiomas que, con un rendimiento máximo, puede correr a velocidades superiores a un petaflop por segundo. Además de Julia, este club ahora incluye solo C, C ++ y Fortran.

La comunidad de

Python, que tiene más de 30 años, tiene una comunidad colosal y muy confiable. Apenas hay una pregunta así en Python, cuya respuesta no se encuentra en una consulta de búsqueda en Google.

Por el contrario, la comunidad de Julia es muy pequeña. Sí, esto significa que tienes que cavar mucho más activamente para encontrar la respuesta, pero con esas búsquedas puedes ir a las mismas personas una y otra vez. Y así, las valiosas relaciones del programador profesional están vinculadas.

Conversión de código

Para escribir código en Julia, ni siquiera necesita conocer un solo comando en este idioma. No solo puede usar el código Python y C dentro de Julia, ¡incluso puede usar el código Julia dentro de Python !

No hace falta decir que, en esta situación, no es difícil parchear los puntos débiles de su código Python en Julia. O para mantener la productividad mientras solo conoces a Julia.

Bibliotecas Las



bibliotecas han sido y siguen siendo las fortalezas de Python. FotoSusan Yin en Unsplash

Esta es una de las virtudes más importantes de Python: tiene toneladas de bibliotecas bien soportadas. Julia no tiene muchas bibliotecas, y los usuarios se quejan de que sus bibliotecas (hasta ahora) no están bien soportadas.

Pero, ajustada por el hecho de que Julia es un idioma muy joven con un conjunto limitado de recursos, la cantidad de bibliotecas existentes es muy impresionante. Además del hecho de que Julia está enriquecida con nuevas bibliotecas, observamos que el lenguaje puede acoplarse con bibliotecas para C y Fortran, por ejemplo, para procesar gráficos.

Tipos dinámicos y estáticos.

Python es 100% de escritura dinámica. Esto significa que el programa en tiempo de ejecución decide, por ejemplo, si la variable dada es un número entero o un número de coma flotante.

A pesar de que esta práctica es extremadamente conveniente para los principiantes, todo tipo de errores penetran en el programa debido a ello. Como resultado, el código Python necesita ser probado en todos los escenarios posibles, y esta es una tarea bastante tonta, que consume mucho tiempo.

Como los creadores de Julia también buscaron que su lenguaje fuera fácil de aprender, Julia es totalmente compatible con la escritura dinámica. Pero, a diferencia de Python, Julia también puede introducir tipos estáticos, en la forma en que están presentes, por ejemplo, en C o Fortran.
Esto puede ahorrarle mucho tiempo. Ahora, en lugar de buscar excusas por el hecho de que el código no se prueba, simplemente puede especificar el tipo donde sea apropiado.

Datos: invertimos en el lenguaje mientras es pequeño



Número de preguntas marcadas como Julia (izquierda) y Python (derecha) en StackOverflow.

A pesar del hecho de que todo lo anterior suena muy optimista, debe tenerse en cuenta que Julia todavía es solo un bebé en comparación con Python.

Hay un buen indicador: la cantidad de preguntas en StackOverflow: ¡Python se menciona actualmente unas veinte veces más que Julia!

Esto no indica en absoluto la impopularidad de Julia; más bien, los programadores solo necesitan tiempo para acostumbrarse al nuevo lenguaje.

Juzgue usted mismo: ¿escribiría usted todo el código en un idioma completamente nuevo? No, preferirías posponer el nuevo idioma hasta que puedas probarlo en algún proyecto nuevo. Debido a esto, hay un retraso entre la salida del lenguaje y su entrada en práctica generalizada; Esto sucede con todos los lenguajes de programación.

Pero, si domina a Julia ahora, y es fácil, teniendo en cuenta cuánta conversión de idiomas se admite en Julia, esta será su inversión en el futuro. A medida que más y más personas se muden a Julia, obtendrá la experiencia necesaria y podrá responder a sus preguntas. Además, su código resultará bastante duradero.

En pocas palabras: practica Julia y deja que sea tu hobby

Hace cuarenta años, la inteligencia artificial no era más que un fenómeno de nicho. Ni los inversores ni la industria creían en ello, y muchas tecnologías de IA parecían torpes e incómodas de usar. Pero aquellos que estudiaron IA incluso entonces se convirtieron en gigantes hoy; hoy sus salarios son casi los mismos que los de los mejores atletas.

Del mismo modo, Julia sigue siendo muy nicho en este momento. Pero cuando crezca, los que lo cambiaron por adelantado serán los mayores ganadores.

No prometo que en diez años, sin duda, recaudarás dinero con una pala si ahora conoces a Julia. Pero sus posibilidades de tal desarrollo de eventos aumentarán.

Piénselo: hoy, la mayoría de los programadores usan el lenguaje Python en sus hojas de vida. Pasarán algunos años más y veremos aún más programadores de pitones en el mercado laboral. Pero, si el crecimiento de la demanda de Python en la empresa se ralentiza, las perspectivas de los programadores de Python comenzarán a deteriorarse. Al principio, lentamente, pero inevitablemente.

Por otro lado, realmente puedes destacar si especificas a Julia en tu CV. Desde entonces, seremos honestos, pero ¿en qué se diferencia de todo el ejército de pitoners con los que tiene que competir? Casi nada. Pero los programadores con conocimiento de Julia seguirán siendo especialistas relativamente raros, incluso en el futuro durante los próximos tres años.

Al poseer las habilidades de Julia, no solo demuestra que sus intereses no se limitan a los requisitos "para el trabajo". También demuestra que está dispuesto a aprender y tiene una idea más amplia de lo que significa ser programador. En otras palabras, vale la pena tratar con usted.
Usted, y otros expertos de Julia, pueden convertirse en estrellas en el futuro, y usted lo sabe. O, como dijo uno de los creadores de Julia en 2012:

, , . , . , 1.0 . , , Julia. 90% , , . , – , – , .

All Articles