DCSIMG
February 2012 - Posts - GadiM - Gad J. Meir www.idag.co.il

GadiM - Gad J. Meir
www.idag.co.il

מסעותיו של משמיד חרקים ושרברב תהליכים במרחב הקיברנטי

קישורים

February 2012 - Posts

מפגש קבוצת משתמשי VmWare במלון שרתון בתל אביב

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

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

vmware 123vmware 126

בכניסה לארוע התמקמו כמה גופים שמספקים מוצרים נלווים ו/או שרותים נלווים למוצרי VmWare כמו  Veeam ו HP כאשר מי ששילם על האוכל הוא ספונסר הזהב של הארוע, Hitachi Data Systems, שגם קיבל חצי שעה הרצאה בסוף היום. 

vmware 133vmware 136

את הארוע פתח ברק קורן שהוא הראש הנבחר של קבוצת המשתמשים. ולאחר כמה מילות ברכה הזמין את דרג הניהול הבכיר של VmWare בארץ שאמר כמה מילים קצרות ומיד הזמין לבמה את אורח הכבוד של הארוע, דוקטור Stephen Alan Herrod ה CTO וגם ה SVP R&D של VmWare.

vmware 143

סטיב כיסה הרבה נושאים מענינים ולמעשה רק בשביל ההרצאה שלו היה שווה לי להגיע. כמה פנינים ששלפתי מההרצאה שלו (לאו דווקא לפי סדר החשיבות). יש ל VmWare צוות של 4,00 מהנדסים. הם עוסקים לא רק בוירטואליזציה, חצי מהכוח עוסק בתחום העננים (בעיקר הענן הפרטי). מעל 60 אחוז מהשרתים בעולם רצים על תשתית וירטואלית של VmWare. כל 6 שניות נולדת מכונה וירטואלית על התשתית שלהם וכל 5 שניות מכונה וירטואלת עוברת משרת לשרת עם vMotion (בערך כמו כמות המטוסים שזזה ממקום למקום בעולם) עד כאן שעשועים. הגירסה החדשה של התשתיות (גירסה 5) תומכת ב 32 CPU – ים, טרה (טרה!!) זכרון, יותר מ 36 כרטיסי רשת ומליון IOPS (ואאוו!).

vmware 151

בשולי הדברים הוזכר משהו, שלפי דעתי מיתפספס לרוב אלה שעוסקים בעולם הוירטואליזציה. יש כאן שינוי פרדיגמה לגבי הדרך שבה אתה מתכנן יישומים ומערכות. להיות ארכיטקט יישומי בעולם של וירטואליזציה, נותן מימד שונה לגמרי למושג של תכנון יישומי Enterprise. קוביה בתכנון האכיטקטוני יכולה להיות לא רק Service אלא מכונה וירטואלית שלמה שעושה פונקציה יעודית. ואם Juval אומר ש Every Class is a Service מה דעתכם על  Every Class is a VM ? רמז לזה ניתן לראות בחלק העליון של המשולש שמראה "תשתיות" שזמינות לשימוש דהינו Frameware as a service (עוד ראשי תיבות למשפחה, FaaS).

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

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

ניהול של מרכז מחשבים עם כמה מאות/אלפים של מכונות וירטואליות שחלקם אצלך וחלקם בענן דורש כלי ניהול מתאימים הוצג ה VCOps לניהול בענן הוצגו מבטי מנהלים עם Dash Board ותצוגות והקונספט של יצירת Virtual Data Center שהם Private ו/או Public ו/או Hibrid עם רשימת שותפי ענן (כן, גם בזק בינלאומי ו Triple Cloud היו על השקף כשותפי ענן)

הוצגה מגמה שאופינית לארה"ב, שבה מחלקות IT מתחילות להיות מרכזי רווח והופכות לספקי שרות בענן עם דוגמא של בית חולים רב סניפי, שמערך מיחשוב חדרי המיון שלו היה כל כך טוב, שמתחרים ביקשו להתחבר אליו (נורא אמריקאי) הוצגו כמה חידושים כמו למשל VXLAN. דובר על ה Cloud Foundry שזו פלטפורמת חישובי ענן Open Source. שימו לב שיש שניים כאלה, יש  Org ויש COM וכל הקוד זמין ב GitHub. הוצג פתרון מנוהל IT לשרות בנוסח Drop Box באמצעות Project octepus.  מסתבר שהשאיפה של ה IT להתעלל במשתמשים שלהם ולהגביל אותם בכל צעד היא דבר גלובלי ואינה מאפינת רק את ארצנו הקטנה.

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

vmware 154

לאחר סטיב עלה לבמה אביב וייס שדיבר על תפעול עם vCenter. ואין עושים Monitoring ו Optimization ו Resource Management. כפי שכבר ציינתי, ניהול מושכל זה אולי החלק החשוב ביותר במערכת שכוללת הרבה מכונות וירטואליות ואוטומטיזציה של המערכת ככל האפשר מורידה עומס ממחלקת ה IT. רק שאוטומטיזציה צריכה להתבסס על כל מיני PKI – ים שדורשים מידע ברור על מה שקורה בכל רגע ורגע במערכת, מהי ההתנהגות הנורמאלית של המכונה, מה זה התנהגות חריגה, מתי יש עומס מתי אין. יש גם חישוב קוי מגמה, מציאת סדרות התנהגותיות, בקיצור המון BI. ולאחר שיש תובנות צריך גם להציג אותם נכון. התרעות מצד שני יוצרות לפעמים בעיה אם מגזימים איתם ומקבלים את תופעת ה "זאב זאב" שמביאה לזה שמתעלמים דווקא מההתרעה שיכולה היתה להציל את המערכת.

vmware 173

יצאנו להפסקה כשלאחריה עלה לבמה בן חגי ודיבר על Vcloud Director עם ספקי מיחשוב ענן שמספקים עננים למערכות של VmWare עם היכולת לייצר שכבת הפשטה מעל הכלי באמצעות Service Manager תוך הוספת Orcastration לקבלת Governance נדרש תוך שימוש במנוע WorkFlow.

vmware 187

חגי העביר פיקוד ליניב וינברג שדיבר בעיקר על יכולות ה Scripting של המערכת שבאמצעותה ניתן לעשות הכל החל מאוטומציה של תהליכים, שליטה ובקרה, וכמובן Complince. כשיניב שאל כמה עושים Script – ים על הכלי רק 2 מתוך 150 משתתפים הרימו ידיים וזה דבר איום ונורא לדעתי.

מעניין של VmWare יש בתחום הזה בעיה דומה לבעיה שיש למיקרוסופט. לא מספיק אנשי IT משתמשים בשפות ה Script לניהול שוטף.מקורות הבעיה נובעות מזה שכיום, כל איש IT רציני חייב לדעת תכנות. בעוד שבתהליך ההכשרה של אנשי IT בדרך כלל תכנות אינו חלק מתכנית הלימודים, ויש ממנו אפילו רתיעה כי זה שייל ל"מפתחים". משעשעת האבחנה שאין כמעט Admin ב Unix שלא מכיר תכנות ב Shell Script וחלקם הגדול מכיר גם שפות תכנות אחרות כמו Perl. בשעה שמעט מאד (יחסית) אנשי IT בעולם המיקרוסופטי יודעים  VbScript ו/או PowerShell. הפתרון ה VmWare – י לבעיה מאד דומה לזה של מיקרוסופט. Script Center עם מאגר Script – ים מוכנים וכלים שמקלים על תהליך הכתיבה.

vmware 201

בשלב הבא עלתה לבמה מורן ממחלקת הפיתוח של VmWare בישראל והציגה את ה Infrastructure Navigator שהוא פיתוח כחול לבן ונמצא בשלב הביתא. הכלי נותן מבט על של מיפוי ותלויות של Services במערכות הוירטואליות על מנת לקחת החלטות נבונות על ההשפעות שיש לפעולה שנעשית על מקונה וירטואלית אחת על מכונות אחרות הקשורות אליה.

vmware 210

לסיןם עלה לבמה עידו גרון מהיטאצי והציג את מורכבות הבעיה של גיבוי מערך של מכונות וירטואליות. תחשבו רק על זה שאתה מגבה ברזל אחד ובעצם בתוכו יש 30 מכונות שונות שכל אחת מהן יכולה להיות DataBase ו/או Exchange שלכל אחת מהן יש דרישות קונסיסטנטיות ושלמות שונות ואם אתה לא מתחשב בכל הפרטים הללו אתה בעצם לא מגבה כלום. או בניסוח יותר מדוייק, אתה חושב שאתה מגבה ובעצם אתה לא. תוסיפו לזה את הבעיה ההפוכה, איך מהגיבוי הבינרי הזה מוציאים למשל DataBase אחד בלבד שאותו אתה רוצה לשחזר ואתה מגיע לבעיה מאד מורכבת. השימוש ב Agents לכל מכונה לצורך הגיבוי זה פרתון שכבר מזמן פשט את הרגל ב Large Scale. תוסיפו לזה שגיבוי צריך להכיל מנגנונים לביצוע Deduplication, להתבצע כך שעומס הגיבוי לא יעצור את הייצור ועוד מליון דברים שהמוצר גיבוי של היטאצי עושה. מי שרוצה לקבל מושג על המורכבות שיתחיל ב VADP (שמחליף את VCB).

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

ההקלטה שלי במפגש פורום NET. של תפוז במכללת סלע עלתה לאויר

חשבתי ששוה לעדכן שהקלטת ההרצאה שלי על Production Debugging במפגש של פורום NET. של תפוז (שאורחה על ידי מכללת סלע) עלתה לאויר. ההקלטה זמינה באתר ה Sela College Channel של מכללת סלע, ואני חושב שמגיע להם מילה טובה, גם על זה שהקליטו וגם על זה שהם מארחים את זה באתר שלהם, כמשאב ציבורי זמין לכל מי שמעוניין לצפות. משוב יתקבל בברכה מכל מי שיצפה.

ארוע Going Native 2012 ברדמונד, ההרצאה של Bjarne Stroustrup

למי שלא יודע, אז בחמישי שישי האחרונים, התרחש ברדמונד ארוע Going Native 2010. אני יודע שרבים מאלה שיקראו את הפוסט הזה, שקועים עמוק בעולם המנוהל, ובטח שואלים את עצמם למה זה בכלל צריך לעניין אותם. אז אני מתנצל שאני צריך לדכא אתכם, אבל ++C חזר לאופנה, ולא סתם ++C, אלא מדובר בגירסא 11 של התקן (או טו טו בביתא והאלפא חולק בבילד האחרון), שלא דומה בכלל למה שאתם זוכרים מבית הספר היסודי. מה שיותר גרוע, ++C חוזר לאופנה כל כך חזק, שהוא מעיף הצידה את העולם המנוהל הפשוט והחביב שכל כך התרגלנו אליו. כדאי לכולנו להתחיל ולחזור למקורות. כי כפי שזה נראה כרגע, כל העולם המנוהל שאנחנו מכירים נמצא על סף תהום. וכששואלים את הדוברים הרשמיים של מיקרוסופט על הנושא הזה, הם מבטיחים חזור והבטח, שאנחנו דווקא הולכים להתקדם בתחום המנוהל בקפיצות גדולות קדימה (וכנראה, גם עמוק עמוק למטה, שאנחנו צועקים בדרך תהווווווום!!).

מאיפה נובעת תיאורית הקונספירציה המופרכת והבלתי הגיונית בעליל הזו, אין לי מושג. אבל SilverLight על  Windows Phone 8 על ARM, לא רץ תחת NET. אלא כתוב ב Native. ה UI של Windows 8 לא כתוב ב WPF (שרץ על NET.), אלא משתמש במנוע WinRT, שהוא (בטח כבר ניחשתם) כתוב ב Native. בכנס Build האחרון, כמות ההרצאות על NET. היתה זניחה, לעומת כמות ההרצאות על תחום ה Native. תוסיפו לזה כמה התבטאויות אומללות של מנהל בכיר במיקרוסופט (שכבר לא נמצא שם יותר), וקיבלתם בסיס מעולה לתיאורית קונספירציה משובחת, שאפשר לעשות ממנה סרט מתח.

חשוב להדגיש בנקודה הזו, להגנתו האישית של כותב שורות אלה, שכמו כל תיאוריית קונספירציה טובה, אין לה שום קשר עם המציאות והיא מופרכת לחלוטין. למשל, אם כבר מזכירים את הנושא של חלוקת הנושאים של ההרצאות ב Build האחרון, כמות ההרצאות על Java Script היתה יותר גדולה מכמות ההרצאות על #C. מה שאומר שלפי אותו הגיון, העתיד הוא Java Script ותשכחו מ #C, ומה שיותר גרוע תשכחו מ VB.NET. כאן תיאורית הקונספירציה כבר פוגעת במשהו הרבה יותר משמעותי וחשוב מאשר הרס העולם המנוהל. כי למי שלא יודע, Java Script זה לא באמת שפת תכנות. תאור יותר מתאים לייצור הזה, זה גיהנום של תכנות ספגאטי, ולא צוחקים על דבר כזה. כמובן שיש גם לבעיה הזו פתרון פשוט, ניתן לכתוב את דפי ה HTML שלנו עם ++C, וזו סיבה עוד יותר טובה לחזור למקורות. אז לאחר ששוטטנו במחוזות המדע הדמיוני, בואו ונחזור לעולם האמיתי.

מיקרוסופט הזמינה לרדמונד, לכנס שהכותרת שלו היא Going Native, לדבר על גירסא 11 של התקן של ++C את: Bjarne Stroustrup מ AT&T Labs שהמציא את השפה הזו ושהספר שלו על ++C הוא התנך של כל מי שעוסק בתחום. את Hans Boehm מומחה לנושא ניהול הזכרון ואיסוף הזבל ונושא ה Threads. את Andrei Alexandrescu מ FaceBook, מי שכתב את C++ Coding Standards. את Chandler Carruth מ Google המוליך של פרויקט clang. את Andrew Sutton מאוניברסיטת A&M בטקסס. את Stephan T. Lavavej ממיקרוסופט (כינוי חיבה STL תנחשו למה). ואחרון חביב את Herb Sutter שכתב את כל הספרים החשובים על ++C, אבל יותר חשוב מזה, כתב את המאמר הידוע על The free lunch is over בתחום המקבילי. כל האנשים המכובדים האלה (חלקם ממתחרים של מיקרוסופט) הוזמנו להיכל הקדוש ברדמונד, לדבר ולדון במשך יומיים רצופים, לכל מי שהיה מוכן לשלם 120 דולר ולבוא לרדמונד. לכנס הזה נעשה PR בקהילה של ה ++C והוא התמלא לחלוטין במהירות הבזק.

התכנית של הכנס כללה שמונה הרצאות ושני פנלים. לומר את האמת, שקלתי ברצינות לקפוץ לשם, כי כמה הזדמנויות בחיים יש לך להתחכך באצולת ה ++C. אבל מצד שני, טיסה הלוך חזור בשביל יומיים זה לא תענוג גדול. מה ששבר את הקש היה המחויבות שהכל ישודר ב Live. מאחר והפרש השעות הוא מינוס 10, מה שאומר ש 9:30 בבוקר שם זה 19:30 פה זה יצא ממש נוח. בקיצור, התחברתי לשידור החי, כאשר אני מנצל עד הסוף את היכולת של ה Smooth Streaming לעצור ו/או לחזור אחורה, כאשר את זמני ההפסקות ניצלתי כדי לחזור לזמן האמת.

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

אני לא מתבייש להודות, שהבנתי היטב רק קרוב ל 30 אחוז ממה שנאמר בכנס. השאר פשוט צף לי מעל הראש. גיליתי בכאב רב (שכמו שאני מניח יגלו רבים כמוני), שבזמן שישנתי, השפה רצה קדימה וברחה לי. C++11 זה עולם חדש, שמשנה את כל מה שלמדת קודם על תכנות ב ++C. מצאתי את עצמי עוצר יותר ויותר פעמים את השידור, רץ לחפש חומר באינטרנט, מסמן לי מאמרים וחומר לקריאה, וממשיך בשידור. ה Back Log של חומר קריאה שמחכה לי כרגע, מוערך בחישוב שמרני, בחודש וחצי של קריאה ולימוד. הבעיה מחריפה בגלל שאין עדיין ספרים על C++11, כך שמדובר באמת בחפירה קשה.

אני לא מוצא צורך להתנצל על זה שהיה שם 70 אחוז של חומר שדילג לי מעל הראש. 50 אחוז מהחומר הזה, היו דיונים ברמה אקדמית, על מה מתכננים לעשות בגירסא 12 של השפה, כדי לפתור בעיות שכבר יודעים עליהם בגירסא 11. ומאחר והרבה מהחומר של גירסא 11 היה לי חדש, זה היה בלתי אפשרי להבין על מה הם מדברים. שאר ה 20 אחוז, היו נושאים שקשורים לפוליטיקה של וועדות תקינה, רכילות, וויכוחים על דקויות, שטובים אולי לכתיבת מאמרים אקדמיים, אבל לא כל כך מעניינים את מי שהולך להשתמש בשפה.

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

אז להלן סיכום פרקטי של הכנס.

הכנס הוקדש ל Dennis Ritchie, שהלך לעולמו כמה שבועות אחרי סטיב ג'ובס. אני בדעה שדניס השפיע על החיים של כולנו הרבה יותר מסטיב, רק שכדי להבין את העומק של המשפט הזה, אתה צריך לדעת מה זה שפת C ומה זה Unix ומה שני הדברים הללו עשו לעולם המיחשוב. אני מניח שרוב קוראי הבלוג הזה יכולים להבין על מה אני מדבר (אם כי אולי לא להסכים איתי) אבל זה לא משהו ששאר העולם (הלא טכני) יכול להבין. אני חושב שזה סוג של סגירת מעגל, שכנס על ++C, שנערך ברדמונד, במעוז של מיקרוסופט, נפתח במתן כבוד למי שיצר את Unix (עם עוד כמה שותפים כמובן).

לאחר מכן עלה לבמה Bjarne Stroustrup ודיבר על הסגנון (החדש) של ++C. זו הרצאה שאני ממליץ לכל מי שמתכנת ולא משנה באיזו שפה, להקשיב לה, כי הנושא של Style והתובנות של Stroustrup בנושא הזה אינן ספציפיות ל ++C.

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

ההגדרה של Stroustrup ל ++C היא A Light-waight abstraction programming language. לטענתו, אין שפת תכנות אחת שמתאימה לכל הדברים לכל שימוש תהיה השפה המתאימה ביותר לו. מצד שני אי אפשר לעשות לכל דבר שפה, כי זה גם המון עבודה וגם פתח להסתבכות ברגע שאתה מנסה לחבר ביניהן ביישום אחד. דרך אגב, Portability יכולה להיות גם בעיה בין דורות שונים של חמרה מאותו יצרן ולא רק בין מערכות הפעלה.

איך להשתמש נכון בשפה, זה אולי החלק החשוב ביותר בשפה ולא ה Syntax. ולזה בדיוק מתכוון Stroustrup כאשר הוא מדבר על Style. תרשמו לכם משפט זהב Bad Code bred more bad code (נכון לכל שפה). יש חשיבות רבה למימשק (נכון לכל שפה). ויש חשיבות ליכולת לתת משמעות למספרים (יחידות עם Type).

יש קורולציה בין סיבוכיות ואורך הקוד למספר ה Bug – ים בתוכו (נכון לכל שפה). הקומפילר לא קורא User's Manuel, והאבחנה הזו נכונה גם לרוב המפתחים (נכון לכל שפה). אלגנטיות, קוד קצר וביצועים בדרך כלל הולכים ביחד (נכון לכל שפה). ה Bug – ים מסתתרים בקטעי קוד מורכבים, עם הרבה לולאות ותנאים (או להבדיל אלפי הבדלות, בקוד שקורא להמון פונקציות שאינן פונקציות ספריה).

ברגע שיש לך משאב שצריך לנהל את אורך החיים שלו, למשל Open ו Close של קובץ, מה שלא תעשה בקוד, ה Close לא יהיה מובטח. הבטחון יגיע עם השפה תתן לזה פתרון והקומפילר יוכל לוודא את זה. אורך חיים של מצביע או זכרון צריכים להיות מנוהלים ברמת השפה ולא ברמת שורת הקוד של המתכנת (ראה Using ב #C).

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

בערך בנקודת החצי של ההרצאה עובר Stroustrup לשחיטה מאסיבית של פרות קדושות. הוא מתחיל בזה שהוא מעלה את  השאלה מה יותר מהיר לשימוש ב Insert ו Delete, וקטור (המון Copy הלוך וחזור) או רשימה מקושרת (שבעצם לפי הספר נולדה למטרה הזו). מסתבר שהוקטור מנצח בגדול. בהמשך הוא עובר למבני נתונים, ומראה שקומפקטיות מנצחת תכנון OO אלגנטי. אחר כך הוא מסביר מדוע ההנחה ש Low Level Code שווה ביצועים היא שטות מוחלטת. ולסיום הוא מסביר למי שחושב שהתכונה הכי חשובה של ++C היא ירושה, שלא נכון לעשות ירושה בכוח, ושלא כל דבר ב ++C חיב לכלול הורשה, נהפוך הוא, רוב הדברים אינם דורשים הורשה. הדיון שלו בנושאים הללו ובאלה שבאים בהמשך, הוא קטע וידאו שחובה לכלול אותו בכל קורס תכנות (ושוב, התובנות נכונות לרוב השפות והמערכות ולא רק ל ++C). 

נקודה שרציתי להדגיש היא הדיון על "אל תמציא את הגלגל". דהינו, אם יש לזה פונקצית ספריה או אלמנט בשפה, אל תכתוב את זה מחדש בעצמך. את הספריה והקומפילר כתבו ובדקו ועשו אופטימיזציה הרבה יותר אנשים ממך (או במקרה היותר גרוע, מהצוות שלך). אני הייתי רוצה לקחת את זה צעד אחד הלאה. לטעמי, שווה לעבור על קוד ישן, ולהמיר קטעי קוד ארוכים, שעושים דברים שכיום נמצאים בשפה או בספריה, לקוד קצר יותר, שמשתמש בפונקציות ספריה סטנדרטיות או בתכונות חדשות של השפה. ולו רק בכדי להקטין את כמות ה Bug – ים שיש לך במערכת. ל C++11 יש סמנטיקה של Move במקום Copy. שוה רק בשביל זה לשנות את הקוד הקיים שלך, כי החסכון בביצועים ובהורדת רמת הסיכוי ל Bug במערכת הוא עצום.

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