למה R? היתרונות והחסרונות של שפת ה- R

שפת התכנות R היא כלי חשוב להתפתחות במערכות הניתוח המספרי ולימוד המכונה. מכיוון שהמכונות הופכות חשובות יותר כמפיקי נתונים, ניתן לצפות כי הפופולריות של השפה רק תגדל. אך ל- R יש יתרונות וחסרונות שמפתחים צריכים לדעת.

עם התעניינות בשפה הגוברת, כפי שמוצג באינדקסים פופולריים של שפות כמו TIobe, PyPL ו- Redmonk, R הופיע לראשונה בשנות התשעים ושימש כהטמעה של שפת התכנות הסטטיסטית S. מציין רוג'ר פנג, ותיק בתכנות R בן 18 שנה המלמד R הן באוניברסיטה והן בפלטפורמה המקוונת של קורסרה, "R היא השפה הפופולרית ביותר בה משתמשים בתחום הסטטיסטיקה."

"אני אוהב את [R] כי קל מאוד לתכנת ברמה מדעית-מחשבתית יותר", אומר פנג. ו- R התחלף מהר יותר עם הזמן ומשמש כשפת דבק לחיבור מערכות נתונים, כלים או חבילות תוכנה שונות, אומר פנג.

"R היא הדרך הטובה ביותר ליצור ניתוחים לשחזור ואיכותי. יש לו את כל הגמישות והעוצמה שאני מחפש כשעוסקים בנתונים", אומר מאט אדמס, מדען נתונים בבית הספר קוד, המציע חינוך מקוון לתכנות. "רוב התוכניות שאני כותב ב- R הן למעשה רק אוספי סקריפטים המאורגנים בפרויקטים."

המערכת האקולוגית החבילה החזקה של R ויתרונות התרשים

היתרונות של R כוללים את המערכת האקולוגית של החבילה שלה. "עצמותה של המערכת האקולוגית של החבילות היא בהחלט אחת התכונות החזקות ביותר של R - אם קיימת טכניקה סטטיסטית, רוב הסיכויים שיש כבר חבילת R בשבילה", אומר אדמס.

"יש המון פונקציונליות שנבנתה שנבנתה עבור סטטיסטיקאים", אומר פנג. R ניתנת להרחבה ומציעה פונקציונליות עשירה למפתחים לבנות כלים ושיטות משלהם לניתוח נתונים, הוא אומר. "ככל שעבר הזמן, הרבה יותר אנשים נמשכו אליו מתחומים אחרים, כולל מדעי הביולוגיה ואפילו מדעי הרוח.

"אנשים יכולים להאריך אותו מבלי שיצטרכו לבקש רשות." ואכן, פנג נזכר בתנאי השימוש של R כעזרה גדולה לפני שנים רבות. "בזמן שזה יצא לראשונה, היתרון הגדול ביותר היה שמדובר בתוכנה חופשית. קוד המקור וכל מה שהיה בו היה זמין לבדיקה."

כל יכולות הגרפיקה והשרטוט של R, אומר אדמס, אינן מתואמות. חבילות ה- dplyr ו- ggplot2 למניפולציה ותיכנון נתונים בהתאמה, "ממש שיפרו את איכות חיי", הוא אומר.

ללימוד מכונה, היתרונות של R קשורים בעיקר לקשרים החזקים של R עם האקדמיה, אומר אדמס. "לכל מחקר חדש בתחום יש כנראה חבילת R נלווית שתלווה איתו מההתחלה. אז מהבחינה הזו, R נשארת בחוד החנית", הוא אומר. "חבילת הקרטון מציעה גם דרך די נחמדה לעשות למידת מכונה ב- R באמצעות ממשק API מאוחד יחסית." פנג גם מציין כי הרבה אלגוריתמים פופולריים של למידת מכונה מיושמים ב- R.

החסרונות של R באבטחה ובניהול זיכרון

עם כל היתרונות שלה, ל- R יש את חלקה בחסרונות. "ניהול זיכרון, מהירות ויעילות הם ככל הנראה האתגרים הגדולים ביותר שעמם מתמודד R", אומר אדמס. "צעדים נעשו - ועדיין - נעשים כדי להתקדם בחזיתות אלה. כמו כן, אנשים המגיעים ל- R משפות אחרות עשויים גם הם לשקול R מוזרים."

העיקרון הבסיסי של R נובע משפות תכנות שנבנו בשנות השישים, אומר פנג. "במובן זה, זו סוג של טכנולוגיה ישנה באופן שתוכנן במקור." עיצוב השפה יכול לפעמים להוות בעיות בעבודה עם מערכי נתונים גדולים מאוד, הוא אומר. יש לאחסן נתונים בזיכרון הפיזי. אך מכיוון שמחשבים קיבלו זיכרון רב יותר, הדבר הפך להיות פחות נושא, מציין פנג.

יכולות כגון אבטחה לא היו מובנות בשפת ה- R, אומר פנג. כמו כן, לא ניתן להטמיע R בדפדפן אינטרנט, אומר פנג. "אינך יכול להשתמש בו ליישומים דומים לאינטרנט או לאינטרנט." זה היה בעצם בלתי אפשרי להשתמש ב- R כשרת אחורי לביצוע חישובים בגלל חוסר האבטחה שלו באינטרנט, הוא אומר. נושא האבטחה, לעומת זאת, הצטמצם בגלל התפתחויות כמו שימוש במכולות וירטואליות בפלטפורמת הענן של Amazon Web Services, אומר פנג.

במשך זמן רב לא הייתה הרבה אינטראקטיביות בשפה, הוא אומר. שפות כמו JavaScript עדיין צריכות להיכנס ולמלא את החסר הזה, אומר פנג. למרות שניתוח עשוי להיעשות ב- R, הצגת התוצאות עשויה להיעשות בשפות שונות כגון JavaScript, הוא אומר.

R אינו מיועד רק למתכנתים מתקדמים

ובכל זאת, אדאמס ופנג שניהם רואים ב- R שפה נגישה. "אני לא בא מרקע מדעי המחשב ומעולם לא היו לי שאיפות להיות מתכנת. ידע ביסודות התכנות בהחלט עוזר כשמוסיפים R לארגז הכלים שלך, אבל לא הייתי אומר שזה נדרש להתחיל", אומר אדמס.

"אפילו לא הייתי אומר ש- R מיועד למתכנתים. זה הכי מתאים לאנשים שיש להם בעיות מוכוונות נתונים שהם מנסים לפתור, בלי קשר לכושר התכנות שלהם", הוא אומר.