Rush: העוצמה של יוניקס, האלגנטיות של רובי

| | | |
אם אתם בתוך רובי רוב הזמן, הנה צ'ופר של ממש.

אם כבר התקנתם rubygems, התקינו כך:

sudo gem install rush

עכשיו הקלידו rush כדי להכנס למעטפת הרובי החדשה שלכם, ושחקו קצת.

macmini:~ uri$ rush
rush> myproj = home['Projects/']
=> localhost:/Users/uri/Projects/
rush> myproj.ls
/Users/uri/Projects/
  project1+
rush> myproj['project1'].mate      
=> true
rush>  rush> myproj['**/*.rb'].replace_contents!(/\t/, '  ')

הכיף לא נגמר כאן. התקינו את rush במחשב אחר ברשת ונסו (מהמחשב שלכם):

remote = Rush::Box.new('user@your.remote.host')
remote['/'].ls


כל הפרטים במדריך.

אפשרויות לתצוגת תגובות

בחרו באפשרות התצוגה הרצויה, ולחצו על "שמור הגדרות".

נראה קצת מיותר

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

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

אם אני רוצה לכתוב תוכנות שרות קטנות (כמו תסריטי מעטפת) ב-Ruby אני לא צריך את Rush, אני.. המממם .. יכול להשתמש ב-Ruby (!). בתור מעטפת, ובהשוואה לכמה סביבות מעטפת פופולאריות אחרות כמו Bash ו-tcsh, היא נראית די עלובה - התחביר רעוע ולא אינטואיטיבי לאנשים שחיים במעטפת היוניקס שלהם, וחמור מזה - ארוך ומפורט בכמה רמות יותר ממה שאני מוכן לסבול. אני פותח את מעטפת היוניקס שלי כדי להשיג בקלות מטרות שבשבילן אני אצטרך לעבוד קשה עם כלים גרפיים או פיתוח תוכנה, ו-Rush נראית לי כמו צעד אחורנית.

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

אני לא חושב שהמט...

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

אורי

אני כן חושב שהמטרה היא להציע תחליף

ואני אצטט מהאתר של Rush :
rush is a replacement for the unix shell (bash, zsh, etc)

וכפי שכתבתי בבלוג שלי, הבעיה שלי אם מפתחי Ruby שכאלה היא לא שהם עושים שטויות אלא הזחיחות העצמית שבה הם עושים את זה (וכמה שהיא לא מוצדקת).

התכוונתי לומר ש...

התכוונתי לומר שהם לא מציעים את זה כ-shell לכל העולם, אלא למפתחי רובי. ככה שהיומרה נראית לי פרופורציונית. או כך לפחות התרשמתי :)

אגב הרוטב לפסטה, לדעתי המים מהבישול של הפסטה זה כדי לעבות את הרוטב (עם העמילנים)...

אורי

interesting, i didn't think of that

thanks