יום שני, 11 בפברואר 2019

358 Bumpers 55 - Nostagia

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

הכל התחיל לפני לא מעט שנים - Ruby on Rails היה הדבר החם, Node.JS כבר היה (אבל לא כזה חם) - ומאז זרמו הרבה קומיטים ב-Github, וכל אחד בחר כמה נקודות להתייחס אליהן.

  • הצוות עצמו עבר הרבה תהפוכות במהלך השנים, ואלה שמות (מאז דצמבר 2012) - 
    • עידן, אבנר, רן ודותן
    • אורי הצטרף
    • רן, אבנר ודותן
    • רן, אלון ודותן בהרכב הנוכחי

  • פרקי 1 באפריל (38, 47)- 
    • המצאת שפות תכנות, תוכניות הגירה לבכירים בעולם התוכנה, Frameworks חדשניים ופיקטיבים לזמנם, חלקם פשוט הקדימו אותו . .
      • למשל ה - Super Simple Storage Service - S4
      • עלייתו הצפויה לארץ של Werner Vogels
      • ה - D4: Directed Data Driven Document - מוצר שבאמת יצא בסופו של דבר (עם ראשי תיבות קצת שונים אבל אל תיהיו קטנוניים).
      • הכרזה על Angular 3 לפני שיצא 2 - ואז הם הכריזו על 4 . . .
      • הענן של Facebook: ה-Like Storage שיתחרה ב-S3
      • ועוד שלל נבואות והצלחות ענק - בתקווה לעוד בפרקי 1 באפריל הבאים

  • שפות תכנות וטכנולוגיות חדשניות שנסקרו במהלך השנים - 
    • היו הרבה . . . Go, Rust, Kotlin, Elm, Crystal, GraphQL, Swift, Let’s encrypt- שמעתם כאן לראשונה (אולי, לפעמים).
    • רמזים מוקדמים, נבואות והימורים, כולל מי ינצח? Go vs. Rust
      • יש חדשות גם בנושא הזה
    • על GraphQL רן שמע מדותן ואימץ בחום
    • גם Go ו-Let’s encrypt ועוד - לומדים ומיישמים וזה נחמד
  • והיו גם שפות תכנות מטופשות (עד שיוכח אחרת) שיצא לסקור - 
    • כי Borland C זה היסטוריה עתיקה - יש את ArnoldC: שפת תכנות שבנויה כולה על שורות של ארנולד שוורצנגר. אפשר לכתוב בזה תוכניות, בטוח נמצא ב-Production אצל מישהו (אחלה Job Security, נראה מי מעז למחוק)
    • שפה שימושית לא פחות (כי קשה) - Rockstar: שפה שמורכבת מבלדות של רוק כבד
      • עם יתרון אחד לא מבוטל - לגמרי לגיטימי לרשום בקו”ח שאתם Rockstar Developer
      • איפה שפת Ninja שתהפוך את הקו”ח למושלמים?
    • אם שפות תכנות היו כלי רכב
      • בלי הגרסא הישראלית של Java בתור סובארו פשע עם עבירות אינסופית
    • ואיך אפשר בלי המועמדים לנשיאות ארה”ב כשפות תכנות . . .

  • פרק ה Way Back עם “חדשות מפעם” - הכרזת Unix, חדשות על VI - ואלה רק הדברים ששרדו כדי שנוכל לצחוק עליהם
    • 1976 - הכרזה על VI (עוד לא VIM)
    • 1979 - תור Bash
    • 1991 - מודמים מזנקים לעתיד ומגיעים למהירות המדהימה של 14.4K!
    • 1993 - לינוקס!

  • עוד שפה עם עליות וירידות לאורך השנים - Dart

  • ההתערבות המפורסמת מכל - Go vs Rust


  • אי שם ב-2012 דיברנו על ES6 ודברים חדשים ב-JavaScript
    • “הדבר החדש הזה” . . . הרבה מזה קרה, הרבה לא
    • גם סוג של תזכורת למי הם Addy Osmani ו-Yehuda Katz, שניהם עשו המון
    • ההרצאה הנבואית על The Birth & Death of JavaScript נראתה בזמנו מצחיקה, היום נראה שהכל היה נכון
      • אפקט 1 באפריל כנראה לא ייחודי לבאמפרס, ונראה ששווה לשים לב לכל שטות לכאורה שאומרים על JavaScript
    • וזה מאנשים שלא היו מאוהדי TypeScript בהתחלה (בלשון המעטה), ודיברו בהערכה על Flow של פייסבוק.

  • הגענו ל-2014 - 
    • הזכרנו את Jim Weirich שנפטר - איש מאוד נחמד שכתב המון מהתשתיות של Ruby ועשה המון למען “ארגונומיה של קוד”.
    • זו גם הייתה שנת ה-Hitler memes  . . .
    • שנה שבא Clojure פרץ ולקח הרבה מפתחי Ruby איתו
      • היום זה די קרס לתוך איזושהי נישה, אז זה נראה יותר גדול
      • גילוי נאות - החברה שבה רן עובד עובדת לא מעט עם Clojure, יש מצב שזו הנישה
    • באותו שנה MongoDB היה בדיחה 
      • בניגוד לעכשיו? השמועות אומרות שעכשיו זה בסדר, ואם כותבים לתוכו משהו יש סיכוי סביר שיהיה אפשר לקרוא את זה אח”כ. לא ש Write-Only זה רע בהכרח.
    • שילוב של XML או HTML בתוך קוד? נשמע אז לא משהו. בדיעבד JSX לא כזה רע.
      • להגנתנו - ה- Homepage היה מאוד לא מזמין ולא נגיש. לא עושים דברים כאלה היום.

  • 2016 - 
    • מסתבר שדיברנו Parse -
      • סוג של Serverless של Facebook (אחרי רכישה)
      • אז זה מת, אבל נתן חיים להרבה דברים אחרים
      • התחיל כסרבר למובייל (ודואג ל-Push), כנראה כסוג של אסטרטגיה ליצור פלטפורמה שמפתחים עובדים עליה; מאז די עבר להם והאסטרטגיה השתנתה
      • מכאן והלאה Firebase צמח, אולי זה מה שנתן חיים לכל היקום ה-Serverless ? אולי.
      • אין סרבר - אין דאגות

  • רן מאוד התלהב בזמנו מ Lambda, אכל הרבה חצץ בהתחלה אבל חווייה חיובית בינתיים.
    • כולם רוצים להיות Serverless, גם מי שיש לו שרתים פיזיים. השם קצת בעייתי כי יש בסופו של דבר יש מכונה בקצה השרשרת.

  • ועוד משהו מרן - !Last commit before leaving a job
    • שישים שורות קוד של רשע טהור, כולל הגדרת פאי ל-3.2, הגדרה של IF כ-While ועוד פנינים
    • כולל דירוג של רמת האכזריות
    • כולל חלק שלם של Locks
    • נדרשת גרסא חדשה בעוד שפות - מי עוזב עכשיו עבודה עם C?! צריך להרים שרת במיוחד?

  • הויכוח בין Wix ל-WordPress סביב שימוש בקוד פתוח
    • העלה את נושא המודעות לרשיונות השונים וחשיבות ההבנה של מה שיושב בכל חברה
    • רכיב של Wix עשה שימוש (תמים?) ברכיב של WordPress; אולי היה עובר בשקט אלמלא היה מדובר במתחרות.
    • מרגיש כאילו זה היה אתמול . . .

  • ולחובבי Ruby - מהלך להגדרת השפה כ-Spec, מתוך מחשבה ליצור כל מיני וריאנטים של השפה
    • עזר לכל השפות להתפתח ולגדול - ודי למות . . . הכל התכנס לכדי משהו שלא ממש קיים
    • צוות ההובלה של Ruby לא עשה מספיק? צוות יפני (Matz) שהיום הוא חלק מ-Salesforce, ופחות מתקשר בשפות שאינן יפנית ולא ממש פתוח לעולם . . .
    • להשוואה - בשנתיים האחרונות רואים קפיצה משמעותית בפייתון, ו-Ruby נשארה די סטטית
      • אבל כבר הספדנו את  Dart אז אולי

  • סיפור לא נחמד מצד Heroku , שעשו ניתוב לאפליקציות מסויימות ל-compute יותר חלש למשל
    • האם זה יכול לקרות שוב בעולם של Serverless?
    • יש בכלל הגדרה נורמאלית מוסכמת של vCPU? שאלה טובה . . . אתה לא באמת יודע מי השכן לידך בחווה בסוף היום
    • המהירות של כל ליבה לא משתנה משמעותית בשנים האחרונות, יכול להיות שזה חלק מזה.

  • כמה אסימונים שנפלו במבט לאחור - 
    • בזמנו, Go נראתה כמו צעצוע מאוד יציב ומאוד פשוט . . שש שנים קדימה זה תפס בצורה מטורפת
      • התומכים הגדולים דווקא לא באו מתוך Google אלא מבחוץ; בתוך Google נראה לכאורה שיש מעט מאוד פרויקטים ב-Go, נראה שמי שכבר כותב ב ++C או Java כבר לא עובר כל כך מהר
      • למעט פרויקטים חיצוניים כמו K8S וכו’
      • עדיין מושקעים המון מאמצים ע”י Google
      • זו עדיין שפת ה-High Performance העיקרית, ויחסית קלה ללימוד
      • כבר שפה בוגרת, יש דיבורים על גרסא 2, עם רשימת מפתחים מאוד מכובדת

    • עוד בעבר הרחוק של פרק 18 דובר על Kubernetes פלטפורמה של גוגל להרצה של Docker
      • הפריצה בשנתיים האחרונות מדהימה (מאז הבעת האמון של Outbrain?)
      • לכל העננים המרכזיים יש שירות מנוהל ל K8S; טוב יותר או פחות אבל בכל מקרה סימן
      • כש-Docker יצא, זו הייתה תוכנה ב-Go . . . בזמנו Solomon Hykes תיאר את זה כמנוע לניהול של קונטיירים בפייתון, וכשזה נראה לא טוב אז החליטו ללמוד Go ולעבור. ואז להפוך את זה ל Open source . . .

    • תואר מלכת הדרמות - Node! הייתה תקופה שזה היה כמעט בכל פרק
      • הפיצול המדובר בין Node לבין io.js, ואז האיחוד הרומנטי בחזרה
      • כולל תקופה שבה בכל פרק היה אייטם על מעבר של עוד חברה מ-Node ל-Go
        • סכסוכים פנימיים, מעברים דרמטים, מפתחים שעברו, הרבה עניין
        • ועד הפרק האחרון עם I don’t know what to say . . .
      • קצת כמו מה שהיה פעם עם Windows - מערכת מאוד נפוצה --> כולם מנסים לפרוץ --> מוצאים יותר פרצות

    • קצת בלי ששמנו לב, Microsoft חזרה מהצד האפל
      • תומכת בקוד פתוח, קונה את Github, חביבת המפתחים . . . והגיהנום לא קפא.
      • החלפת המנכ”ל עשתה פלאים

    • קצת חזרה ל 2012-2013 - React מחקה עולם שלם . . .
      • מישהו זוכר Prototype? מי הימר על jQuery? רן . . .
      • ובסוף (נכון לעכשיו) React השאירה לכולם אבק
      • ועדיין - Angular עם בעיות אבל לגמרי חיה, ו-View צומחת יפה
      • מלפני React לא נשאר כלום

    • גיוס הפך לממש קשה . . .
      • יש זמן קבוע ואינסוף כלים ואין זמן להתעמק?
      • פערים בין היצע לביקוש? 15,000 מפתחים חסרים?
      • לא היו כל כך הרבה שפות? התרגלו לחפש את ה-Buzzwords וקשה למצוא את הבנאדם הספציפי
        • צריך ידע כללי טוב ולהכיר את ה-framework הנכון, ופחות קריטי לתכנת ממש טוב?
        • יש מוצרי חלב עם תוקף יותר ארוך מטכנולוגיות JavaScript . . .
      • וכולם רוצים Full stack - הרבה יותר רחב, אולי פחות מעמיק
      • הטכנולוגיה הכי חמה יצאה אחרי תחילת הראיון, לא רלוונטי . . .
      • הרבה פעמים הכישורים הנדרשים על מנת להביא Value ללקוחות מהר אינם כוללים תואר שלישי במדעי המחשב
        • השאלה מה קורה לאורך זמן - הטרנדים לא תמיד עובדים טוב בכל שלושת הצדדים של המטבע
        • להתעסק באופטימיזציה ולהמציא את הגלגל מחדש במקום להשתמש בספרייה קיימת לא בהכרח משרת היטב את הלקוחות, יש בזה כנראה גם אלמנט תרבותי
        • יכול להיות שמי שיש לו בסיס יותר רחב, יכול גם ללמוד יותר - ובכל מקרה רמת האבסטרקציה הנדרשת ממפתחים צריכה לעלות כל הזמן, לפעמים זה אומר ריחוק מה”ברזלים” ומ”CS Basics”
  • עד כאן לפרק היובל +5. בבאמפרס הבא חוזרים לחדשות באמת חדשות.

הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול

אין תגובות:

פרסום תגובה