جستجو پیشرفته محصولات
0
سبد خرید خالی است.
ورود | ثبت نام
captcha
ورود | ثبت نام
captcha

مقایسه بین 4 زبان برنامه نویسی معروف R و Python و Matlab و Julia

زبان‌های برنامه نویسی زیادی وجود داره و معمولا هم هر زبانی طرفدارای خودش رو داره و وقتی از هر کدوم ار این طرفدارا بپرسید معمولا زبان برنامه نویسی خودشون رو بهتر و قوی تر از بقیه معرفی می‌کنند. اما واقعا کدوم بهتره؟! تحقیقات تو این زمینه چی میگه؟ آیا میشه یک نسخه واحد برای همشون پیچید؟نقاط قوت و ضعف هر کدوم چیه؟

همین ابتدا باید بگیم که شاید هیچ یک از زبان‌های برنامه نویسی «بهترین زبان برنامه نویسی در هر زمان برای همه» وجود ندارد و انتخاب به نوع کار بستگی دارد. در پژوهش‌های اقتصادی، هر چهار زبان آر، متلب، پایتون و جولیا زبان‌های پرکاربردی در بین اقتصاددانان و تحلیل گران داده‌ها و آمارهای مالی و اقتصادی هستند. اما هر کدام از این زبان‌های برنامه نویسی نقاط قوتی دارند که شاید بر اساس اون نقاط قوت بشه بهترین رو تا حدودی معرفی کرد (بر اساس پژوهش‌های والت، 2018و هیل و همکاران، 2024، لارتی،2022، روودمن، 2024، اینسرتی و همکاران، 2019، کولیمن و همکاران، 2020، اوزگور و همکاران، 2020)؛

آر یه زبان برنامه نویسی با تمرکز بر آماره و از اول برای آمار و ریاضی به وجود اومد و هنوز هم برای آمار عمومی از پایتون جلوتر است و بسیاری از پژوهشگران برای تحلیل آماری به آر تکیه می‌کنند. در مقابل، پایتون در یادگیری ماشین و کارهای چندمنظوره خیلی قوی است و قلمرو کاربردی وسیعتری داره کتابخانه‌هایی مثل pandas در پایتون باعث شده برای تحلیل داده بسیار کاربردی بشه. بنابراین پایتون نسبت به آر برای کارهای بین رشته‌ای هم بهتره.

جولیا در بسیاری از بنچ‌مارک‌ها خیلی سریع‌تر از متلب و پایتون و آر معرفی میشه و گاهی نزدیک زبان برنامه نویسی C++ عمل می‌کنه، با این حال، در بعضی مدل‌های اقتصاد کلان اختلاف زمان اجرا بین متلب، پایتون و جولیا خیلی زیاد نبوده است. به علاوه اینکه جولیا، هنوز جوان‌تر از بقیه است وکمتر توسعه یافته است بنابراین اگه بخواید با بقیه تیمی کار کنید احتمال اینکه بقیه پایتون، متلب و یا حتی آر بلد باشند بیشتره تا جولیا(حداقل تو ایران اینجوری به نظر می‌رسه).

آر؛ برای آمار، رگرسیون، سری زمانی و کارهای آماری کلاسیک بسته‌های آماری قوی داره و از این جهت خیلی قوی محصوب میشه. اما شاید برای داده خیلی بزرگ، حافظه محدودکننده باشه.

پایتون؛ برای یادگیری ماشین، کار با داده و یادگیری ساده‌تره و معمولاً انتخاب محبوب‌تری بین کاربران است. امکان تیم شدن با گروه‌های برنامه نویسی رو در پروژه‌های بین رشته‌ای بهتر فراهم میکنه و به سرعت در حال رشده

متلب؛ برای محاسبات عددی و مهندسی خیلی محبوبه، برای آموزش هم خوبه و ابزارهای آماده زیادی داره اما یک عیب بزرگ هم داره و اینکه یک زبان پولی به حساب میاد.

جولیا؛ برای مدل‌های سنگین و محاسبات سریع خیلی خوب و سریع است، ولی بسته‌ها و مستنداتش هنوز به بلوغ آر و پایتون نیست و البته تو ایران هم بین اقتصادی‌ها و مالی‌ها رایج نیست.

 

منابع این یادداشت و همچنین برای مطالعه بیشتر؛

Aruoba, S. B., & Fernández-Villaverde, J. (2015). A Comparison of Programming Languages in Economics. Journal of Economic Dynamics and Control, 58, 265-273. https://doi.org/10.1016/j.jedc.2015.05.009

Bezanson, J., Chen, J., Chung, B., Karpinski, S., Shah, V. B., Vitek, J., & Zoubritzky, L. (2018). Julia: dynamism and performance reconciled by design. Proceedings of the ACM on Programming Languages, 2, 1 – 23. https://doi.org/10.1145/3276490

Coleman, C. G., Lyon, S., Maliar, L., & Maliar, S. (2020). Matlab, Python, Julia: What to Choose in Economics?. Computational Economics, 58, 1263 – 1288. https://doi.org/10.1007/s10614-020-09983-3

Fernández-Villaverde, J., Oswald, F., Rabanal, P., & Winant, P. (2014). A COMPARISON OF PROGRAMMING LANGUAGES IN ECONOMICS.

Fernández-Villaverde, J., & Valencia, D. (2018). A Practical Guide to Parallelization in Economics. National Bureau of Economic Research. https://doi.org/10.3386/w24561

Gao, K., Mei, G., Piccialli, F., Cuomo, S., Tu, J., & Huo, Z. (2020). Julia Language in Machine Learning: Algorithms, Applications, and Open Issues. Comput. Sci. Rev., 37, 100254. https://doi.org/10.1016/j.cosrev.2020.100254

Helmreich, J. E. (2020). Data Science with Julia. Journal of Statistical Software. https://doi.org/10.18637/jss.v094.b01

Hill, C., Du, L., Johnson, M. E., & McCullough, B. (2024). Comparing programming languages for data analytics: Accuracy of estimation in Python and R. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 14. https://doi.org/10.1002/widm.1531

Incerti, D., Thom, H., Baio, G., & Jansen, J. (2019). R You Still Using Excel? The Advantages of Modern Software Tools for Health Technology Assessment.. Value in health : the journal of the International Society for Pharmacoeconomics and Outcomes Research, 22 5, 575-579. https://doi.org/10.1016/j.jval.2019.01.003

Lortie, C. (2022). Python and R for the Modern Data Scientist. J. Stat. Softw., 103. https://doi.org/10.18637/jss.v103.b02

Lubin, M., & Dunning, I. (2013). Computing in Operations Research Using Julia. INFORMS J. Comput., 27, 238-248. https://doi.org/10.1287/ijoc.2014.0623

McKinney, W. (2010). Data Structures for Statistical Computing in Python. 56-61. https://doi.org/10.25080/majora-92bf1922-00a

Ozgur, C., Colliau, T., Rogers, G., Hughes, Z., & Myer-Tyson, E. (2021). MatLab vs. Python vs. R. Journal of Data Science. https://doi.org/10.6339/jds.201707_15(3).0001

Roodman, D. (2024). Julia as a universal platform for statistical software development. The Stata Journal, 25, 255 – 284. https://doi.org/10.1177/1536867×251341105

Vallat, R. (2018). Pingouin: statistics in Python. J. Open Source Softw., 3, 1026. https://doi.org/10.21105/joss.01026