La batalla entre julia, python y r por el dominio en ciencia de datos y desarrollo
DOI:
https://doi.org/10.32870/recibe.v14i3.422Palabras clave:
Lenguajes de programación, Julia, Python, R, comparación, ciencia de datos, desarrollo de software.Resumen
Este estudio compara los lenguajes Julia, Python y R en el contexto de la ciencia de datos y el desarrollo de software. Evaluando rendimiento, bibliotecas, comunidad y licencias, mediante pruebas de velocidad —incluyendo operaciones matriciales, manipulación de datos y visualización— se observó que Julia es más rápido en cálculos numéricos, ideal para computación científica, mientras que Python ofrece equilibrio, es eficiente en procesamiento de datos y gráficos y tiene un ecosistema robusto y una gran comunidad en línea. Por su lado R sobresale en análisis estadístico y visualización, pero es más lento en tareas intensivas. En el ámbito del desarrollo web, Python domina con frameworks maduros como Django y Flask, mientras que las alternativas en R (Shiny) y Julia (Genie) tienen un alcance limitado, además de la diferencia de licencias; Julia y Python utilizan MIT y PSF que son flexibles, adecuadas para proyectos comerciales, mientras que R emplea GPL que es más restrictiva. En conclusión, Python se posiciona como la opción más versátil para proyectos generales, Julia se destaca por su rendimiento y R mantiene ventajas en los análisis estadísticos. Por lo tanto, la elección del lenguaje depende del contexto y los objetivos del proyecto.Citas
• Abadi, M., Barham, P., Chen, J., Chen, Z., Davis, A., Dean, J., Devin, M., Ghemawat, S., Irving, G., Isard, M., Kudlur, M., Levenberg, J., Monga, R., Moore, S., Murray, D. G., Steiner, B., Tucker, P., Vasudevan, V., Warden, P., . . . Zheng, X. (2016). TensorFlow: a system for large-scale machine learning. Operating Systems Design And Implementation, 265-283. https://doi.org/10.5555/3026877.3026899
• Ascher, D., & Dubois, P. F. (1996). "Numerical Python." Lawrence Livermore National Laboratory.
• Bezanson, J., Edelman, A., Karpinski, S., & Shah, V. B. (2017). "Julia: A Fresh Approach to Numerical Computing." SIAM Review, 59(1), 65-98.
• Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., Agarwal, S., Herbert-Voss, A., Krueger, G., Henighan, T., Child, R., Ramesh, A., Ziegler, D. M., Wu, J., Winter, C., . . . Amodei, D. (2020). Language Models are Few-Shot Learners. arXiv (Cornell University). https://doi.org/10.48550/arxiv.2005.14165.
• DiBona, C., Ockman, S., & Stone, M. (1999). Open sources: Voices from the Open Source Revolution. O’Reilly Media, Inc.
• Dunning, I., Huchette, J., & Lubin, M. (2017). JuMP: A Modeling Language for Mathematical Optimization. SIAM Review, 59(2), 295-320. https://doi.org/10.1137/15m1020575
• Eschle, J., Gal, T., Giordano, M., Gras, P., Hegner, B., Heinrich, L., Acosta, U. H., Kluth, S., Ling, J., Mato, P., Mikhasenko, M., Briceño, A. M., Pivarski, J., Samaras-Tsakiris, K., Schulz, O., Stewart, G. . . A., Strube, J., & Vassilev, V. (2023). Potential of the Julia Programming Language for High Energy Physics Computing. Computing And Software For Big Science, 7(1). https://doi.org/10.1007/s41781-023-00104-x
• Fitzgerald, B., & Bassett, G. (2003). Legal Issues Relating to Free and Open Source Software. En Queensland University of Technology eBooks (p. 11). https://acuresearchbank.acu.edu.au/item/86381/legal-issues-relating-to-free-and-open-source-software
• Free software foundation. (2007). The GNU General Public License. https://www.gnu.org/licenses/gpl-3.0.html
• Gentleman, R. C., Carey, V. J., Bates, D. M., Bolstad, B., Dettling, M., Dudoit, S., Ellis, B., Gautier, L., Ge, Y., Gentry, J., Hornik, K., Hothorn, T., Huber, W., Iacus, S., Irizarry, R., Leisch, F., Li, C., Maechler, M., Rossini, A. J., . . . Zhang, J. (2004). Bioconductor: open software development for computational biology and bioinformatics. GenomeBiology.com, 5(10), R80. https://doi.org/10.1186/gb-2004-5-10-r80
• Grinberg, M. (2018). Flask Web Development: Developing Web Applications with Python. O’Reilly Media.
• Holovaty, A., & Kaplan-Moss, J. (2009). The Definitive Guide to Django: Web Development Done Right (Expert’s Voice in Web Development) (2.a ed.). Apress.
• Holovaty, A., & Kaplan-Moss, J. (2013). The Django Book Release 2.0. https://readthedocs.org/projects/djangobook/downloads/pdf/latest/
• Hornik, K. (2012). The comprehensive R Archive Network. Wiley Interdisciplinary Reviews. Computational Statistics, 4(4), 394-398. https://doi.org/10.1002/wics.1212
• Hunter, J. D. (2007c). MatPlotLib: a 2D Graphics environment. Computing In Science & Engineering, 9(3), 90-95. https://doi.org/10.1109/mcse.2007.55
• Ihaka, R., & Gentleman, R. (1996). R: A Language for Data Analysis and Graphics. Journal Of Computational And Graphical Statistics, 5(3), 299-314. https://doi.org/10.1080/10618600.1996.10474713
• Julia Documentation · The Julia Language. (2024). https://docs.julialang.org/en/v1/
• Líderes en formación tecnológica, reskilling y upskilling | OpenWebinars. (2024). OpenWebinars.net. https://openwebinars.net/blog/herramientas-y-librerias-de-machine-learning-en-python/
• Los mejores paquetes de visualización para R en 2023. (2023). BibTeX. https://bibtex.eu/es/blog/top-visualization-packages-for-r-in-2023/
• Lutz, M. (2013). "Learning Python." O'Reilly Media, Inc.
• McKinney, W. (2010). Data Structures for Statistical Computing in Python. Proceedings Of The Python In Science Conferences. https://doi.org/10.25080/majora-92bf1922-00a
• MIT License. (1988). Retrieved from https://opensource.org/licenses/MIT
• Nowacki, A. (2020). SeisModels.jl: A Julia package for models of the Earth’s interior. The Journal Of Open Source Software, 5(47), 2043. https://doi.org/10.21105/joss.02043
• O’Grady, S. (2024). The RedMonk Programming Language Rankings: June 2024. https://redmonk.com/sogrady/2024/09/12/language-rankings-6-24/
• Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., & Duchesnay, É. (2012). Scikit-learn: Machine Learning in Python. arXiv (Cornell University). https://doi.org/10.48550/arxiv.1201.0490
• Perkel, J. M. (2019). "Why Julia is Slowly Catching On." Nature, 572, 141-142.
• PYPL PopularitY of Programming Language index. (2025). https://pypl.github.io/PYPL.html
• Python Software Foundation. (2001). "Python Software Foundation License." Retrieved from https://www.python.org/psf/license/
• R: The R Foundation. (s. f.). https://www.r-project.org/foundation/
• Raymond, E. S. (2001). The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. «O’Reilly Media, Inc.»
• Roger D.Peng. Investigación reproducible en ciencias computacionales. Science 334 , 1226-1227 (2011). DOI: 10.1126/science.1213847
• Rosen, L. E. (2005). Open source licensing: Software Freedom and Intellectual Property Law. Prentice Hall.
• Stack overflow. (s. f.). https://survey.stackoverflow.co/
• Stallman, R. (2021). ¿Qué es el Software Libre? Free Software Foundation. https://www.gnu.org/philosophy/free-sw.html
• Streamlit. A faster way to build and share data apps, (2024). https://streamlit.io/
• Tierney, L. (2012). The R Statistical Computing environment. En Lecture notes in statistics (pp. 435-447). https://doi.org/10.1007/978-1-4614-3520-4_41
• TIOBE Index - TIOBE. (2025). TIOBE. https://www.tiobe.com/tiobe-index/
• Van Rossum, G., y Drake, F. L. (2009). "The Python Language Reference Manual." Network Theory Ltd.
• Van Rossum, G., y Drake, F. L., Jr. (2011). An Introduction to Python. Network Theory. ISBN 978-1906966133
• Vasilescu, B., Serebrenik, A., y Devanbu, P. (2013). StackOverflow and GitHub: Associations between software development and crowdsourced knowledge. In 2013 International Conference on Social Computing (pp. 188-195). IEEE. https://doi.org/10.1109/SocialCom.2013.35
• Waskom, M. (2021b). seaborn: statistical data visualization. Journal Of Open Source Software, 6(60), 3021. https://doi.org/10.21105/joss.03021
• Wickham, H. (2016). ggplot2. En Use R! https://doi.org/10.1007/978-3-319-24277-4
• Wickham, H. (2021). Tidy Messy Data [R Package TidYR Version 1.1.3]. CRAN. http://ftp.udc.es/CRAN/web/packages/tidyr/index.html
• Wickham, H., Averick, M., Bryan, J., Chang, W., McGowan, L., François, R., Grolemund, G., Hayes, A., Henry, L., Hester, J., Kuhn, M., Pedersen, T., Miller, E., Bache, S., Müller, K., Ooms, J., Robinson, D., Seidel, D., Spinu, V., . . . Yutani, H. (2019). Welcome to the Tidyverse. Journal Of Open Source Software, 4(43), 1686. https://doi.org/10.21105/joss.01686
• Wickham, H., François, R., Henry, L., y Müller, K. (2021). A Grammar of Data Manipulation [R Package DPLyR Version 1.0.7]. CRAN http://cran.salud.gob.sv/web/packages/dplyr/index.html