The competition among julia, python and r for leadership in data science and development
DOI:
https://doi.org/10.32870/recibe.v14i3.422Keywords:
Programming languages, Julia, Python, R, comparison, data science, software development.Abstract
This study compares Julia, Python, and R programming languages in the context of data science and software development. By evaluating performance, libraries, community support, and licensing, through conducting speed tests —including matrix operations, data manipulation, and visualization— it was observed that Julia is the fastest in numerical computations, making it ideal for scientific computing, while Python offers a balanced solution, it is efficient in data processing and graphics, and features a robust ecosystem and a large online community. R stands out in statistical analysis and visualization but is slower in computationally intensive tasks. In the field of web development, Python leads with mature frameworks such as Django and Flask, while the alternatives in R (Shiny) and Julia (Genie) have more limited reach. Additionally, licensing differs: Julia and Python use MIT and PSF licenses, respectively, which are flexible and suitable for commercial projects, whereas R uses the GPL license, which is more restrictive. In conclusion, Python emerges as the most versatile option for general-purpose projects, Julia excels in high-performance computing, and R maintains advantages in statistical analysis. Therefore, the choice of a programming language depends on the context and objectives of the project.References
• 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