Ruby

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
Ruby
Ruby logo.svg
פרדיגמות מונחת-עצמים, אימפרטיבית, רפלקטיבית, פונקציונלית
מפתח יוקיהירו מאטסומוטו
גרסה אחרונה 2.1.0 (25 בדצמבר 2013)
טיפוסיות דינמית, טיפוסיות ברווז, חזקה
מימושים מפרשים: Ruby MRI, YARV, JRuby, Rubinius, IronRuby, MacRuby, HotRuby
הושפעה על ידי Ada, C++, CLU, Dylan, Eiffel, Lisp, Perl, Python, Smalltalk
השפיעה על Falcon, Fancy, Groovy, Ioke, Mirah, Nu, Reia
אתר http://www.ruby-lang.org
סיומת rb, .rbw. ‏

רובי (Ruby) היא שפת תכנות מפורשת מונחת-עצמים המשלבת תחביר דומה לפרל ותכונות דומות לSmalltalk. רובי פותחה על ידי יוקיהירו מאטסומוטו ביפן באמצע שנות התשעים. השפה הושפעה בעיקר מהשפות פרל, Smalltalk, אייפל וLisp.

רובי תומכת במספר פרדיגמות תכנות, כולל תכנות פונקציונלי, תכנות מונחה-עצמים ותכנות מבני. מערכת הטיפוסים ברובי היא חזקה ודינמית, וניהול הזיכרון בשפה הוא אוטומטי (כולל שימוש במנגנון איסוף זבל) - בדומה לשפות כמו פייתון, דילן, פייק ו-CLU.

המימוש הסטנדרטי של גרסה 1.8.7 של רובי כתוב ב-C כמפרש בעל מעבר אחד. ארגון ממשלתי יפני מפתח כעת את המפרט של השפה. עד כה הארגון פרסם טיוטה של המפרט‏[1], שעדיין לא אושר כסטנדרט תעשייתי. קיימים מספר מימושים חלופיים של השפה, כגון YARV, JRuby, IronRuby, MacRuby. כל אחד מהמימושים בוחר בדרך שונה - חלקם מספקים הידור Just-in-time, או אף הידור Ahead-of-Time. גרסה 1.9 משתמשת ב-YARV שבסופו של דבר יחליף את המפרש הנוכחי האיטי יותר.

היסטוריה[עריכת קוד מקור | עריכה]

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

פרסום ראשון[עריכת קוד מקור | עריכה]

הגרסה הראשונה של השפה, רובי 0.95, פורסמה בניוזגרופס יפניים ב-21 בדצמבר 1995. עוד שלוש גרסאות של רובי פורסמו ביומיים לאחר מכן. בשלב זה בפיתוח כבר היו תכונות רבות מגרסאות מאוחרות יותר כמו פיתוח מונחה עצמים, מחלקות עם הורשה, מיקסינים, איטרטורים, קלוז'רים, טיפול בחריגות ואיסוף זבל.

רובי 1.0[עריכת קוד מקור | עריכה]

גרסה 1.0 פורסמה ב-25 בדצמבר 1996.

לאחר פרסום גרסה 1.3 ב-1999 רשימת התפוצה הראשונה בשפה האנגלית החלה את דרכה. בספטמבר 2000 הספר הראשון באנגלית על רובי - Programming Ruby - פורסם.

Ruby On Rails[עריכת קוד מקור | עריכה]

בשנת 2005 השפה התפרסמה במקומות רבים בעקבות פרסום Ruby on Rails - ספריית פיתוח לאפליקציות אינטרנט שנכתבה ברובי.

רובי 1.9[עריכת קוד מקור | עריכה]

גרסה זו הציגה מספר שינויים חשובים מגרסה 1.8, ביניהם:

  • משתנים החשופים רק לבלוק בו הם נמצאים.
  • תחביר נוסף לביטויי למבדא:
 fun = ->(a,b) { puts a + b }

השפה[עריכת קוד מקור | עריכה]

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

מכיוון שרובי היא שפה מונחית עצמים טהורה ניתן ליישם בה שיטות (methods) של עצמים, אך לא שגרות (procedures). יחד עם זאת, השפה מאפשרת תכנות פרוצדורלי על ידי כתיבה של שיטות או אפילו קטעי קוד אימפרטיביים שלא בכפוף למחלקה (class) או עצם והקוד מקושר באופן אוטומטי למחלקה Object, שהיא מחלקת העל של כל העצמים בשפה, ולכן ניתן לקראה מכל מקום בתוכנית.

שפת רובי מאפשרת ירושה בשיטה של ירושה בודדת (Single Inheritance) אבל מאפשרת להרחיב מחלקות, בנוסף למנגנון הירושה, על ידי מנגנון בשם Mixin המאפשר למחלקה "לרשת" קטעי קוד מרכיבים מסוג מודול שאינם מחלקות, או הוספת שיטות באופן דינמי למחלקות שהוגדרו בעבר, או אפילו הוספת שיטות באופן דינמי לעצמים מאותחלים.

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

המפרש של רובי מופץ כתוכנה חופשית, תחת רישיון כפול: ה־GPL ורישיון Ruby.

תכונות[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא Ruby בוויקישיתוף

הערות שוליים[עריכת קוד מקור | עריכה]