יום רביעי, 13 באפריל 2011

098 Ruby with Reuven Lerner

התקבצנו לשיחה אביבית במשרד של אורי באאוטבריין כדי לדבר עם ראובן לרנר בעיקר על רובי וגם קצת על שפות דינמיות אחרות.
  • היכרות עם רובי והפיצ'רים הבולטים כמו closures, מנגנון שליחת ההודעות, כל דבר הוא אובייקט ועוד. כאן אפשר לנסות אותם אונליין
  • ידעתם שב MIT למדו Lisp (בזמן שבטכניון למדו c)? היום לומדים שם python
  • מצב שוק העבודה ברובי (צריך. והרבה)
  • גם קצת על פייתון והשוואה על קצה המזלג בין ריילס לדג'אנגו
  •  יש עוד הרבה, אבל אני כותב בעברית ממש לאט. מישהו רוצה לעזור בפרק הבא?


הקובץ נמצא כאן האזנה נעימה

אני מצרף כאן עוד טיפים של מקצוענים, מפי ראובן:

The main site for Ruby on Rails is http://rubyonrails.org/. There are many good online tutorials for Rails; a good commercial tutorial is http://ruby.railstutorial.org/, although the text is available for free, online, at http://ruby.railstutorial.org/ruby-on-rails-tutorial-book. Once you get past the basics, the Railscast series of screencasts, at http://railscasts.com/, has been informing and entertaining Rails developers for a few years.

The israel.rb e-mail list, for Israelis interested in Ruby, is at http://groups.google.com/group/israelrb. Rubyists of all levels are welcome to participate.

If you're into podcasts -- and anyone listening to our podcast presumably is -- then you can check out Ruby5 (http://ruby5.envylabs.com/) and the Ruby Show (http://rubyshow.com/), both of which are excellent (and entertaining) sources of information about Ruby.

Finally, one of my favorite talks about dynamic languages is from Steve Yegge, from Google. I highly recommend his talk, http://steve-yegge.blogspot.com/2008/05/dynamic-languages-strike-back.html. He doesn't talk specifically about Ruby, but he does explain why people are all ga-ga about such languages nowadays, and how we can make them even better.

097 Final Class 6

אוֹרי הוציא גימלים.
  • ראיונות עבודה: הם מוטעים מיסודם, אם הם מבוססים על שאלות אלגוריתמיות. מנגד, אפשר לכלול בראיון סדרה של מטלות תכנותיות המבוצעות ב Pair Programming.
  • bitorama.com של אלון קרן: תוכן ישראלי טוב למתכנתים, בהשראת האקר-ניוז של  ycombinator.
    • דוגמאות: ביטויים רגולרים להתאמות על מחרוזות, Ant לבניית תכניות ג'אווה.
    • יש גם Internal DSLs שממומשים בתוך השפה, הרבה פעמים תוך שימוש בממשקים זורמים. דוגמא לזה היא Rake: שפת ה build בעולם ה-Ruby.
    • לפעמים השימוש בשפות הללו חורג מעבר ליכולות שלהן, למשל: ניתוח של עמודHTML ע"י ביטויים רגולרים (נדון גם בפודקאסט של ג'ואל וג'ף). למי שלא בטוח שהוא שמע את כל ההסברים בנושא, הנה עוד כמה.
    • מרטין אודרסקי עובד כרגע על מחקר שהתיזה שלו היא שהפתרון לקשיים של תכנות מקבילי/מבוזר הוא בריבוי DSL-ים: אחד לכל סוג של בעיה. הוא (כמובן) סבור ששפת התכנות שלו, סקאלה, היא פלטפורמה נהדרת לפיתוח ה DSL-ים האלה.
  • ג'יימס גוזלינג עובר לגוגל
  • גילי מאד מרוצה מה Android SDK. מסתבר שהוא לא היחידי.
    • ניתן לפתח בג'אווה גם בצד הלקוח וגם בצד השרת.
    • קל יחסית להרים אפליקציה לאוויר ואפילו להרוויח?!
  • התפתח בפורום של SCIL דיון מעניין סביב פרסום שטוען שההבדלים בין מתכנתים (לפעמים עד כדי פקטור של פי 10) נובעים ממוטיבציה.
    • האם ההבדלים נובעים ממוטיבציה?
    • האם ההבדלים נובעים מיכולת התפתחות/למידה?
    • האם התגמול צריך להיות יחסי לתרומה?
    • איך בכלל מודדים מתכנת? (ברוקרים לעומת זאת, הרבה יותר קל)
  • מתקפת המנשרים: אחרי ה Agile Manifesto וה Craftsmanship Manifesto, קבלו את ה Motherfucker Manifesto.
  • זה מול זה
    • תיעוד או טסטים: כנראה שטסטים
    • תיעוד טוב או שמות טובים: שמות טובים מקלים מאד על הקריאות (אם כי חשוב לא להגיע לשמותארוכיםמדי). קנות' מצדד ב- literate programming: קוד צריך להיקרא כמו פרוזה (גם אם זה הופך אותו לארוך יותר).
    • אנוטאציות או קבצי קונפיגורציה: למרות ש פריסה מתמשכת מבטלת את הצורך לשלוט בתכנה דרך קבצים חיצוניים, ארז וערן עדיין מעדיפים להפריד בין האספקטים השונים.

הקובץ נמצא כאן האזנה נעימה