כנס Core C++ 2024 (ישראל)
אמנם קצת באיחור, אבל סוף סוף מצאתי כמה דקות לכתוב על הכנס.
בשבוע שעבר נערך בתל אביב הכנס השנתי הבינלאומי של קהילת ה-C++ בישראל, Core C++ 2024. כנס שנערך כבר מספר שנים ומהווה את הכינוס השני בגודלו בעולם בתחום. הכנס השנה, כפי שניתן לצפות, היה שונה מעט מאלו של השנים שעברו. במקום בקיץ, הוא נדחה לחורף (רגע לאחר כניסת הפסקת האש לתוקף… נראה שלמישהו יש קשרים בחלונות הגבוהים 🙂 ). במקום נוכחות בינלאומית משמעותית בין המרצים, הדוכנים והמשתתפים, נשמעה בעיקר העברית. ובעיקר, וזה מה שהיה מעניין במיוחד בעיניי השנה – קהל היעד אליו הופנו ההרצאות היה מגוון יותר הפעם.
האם זה בגלל ההסתמכות על מרצים מקומיים בעיקר, או בגלל שניג'זתי מספיק לענבל בשנים הקודמות? קשה לדעת. מה שבטוח הוא, שזה היה מרענן מאוד, וראיתי את זה בעיקר בתגובות של האנשים שלי לאחר הכנס.
אז מה היה לנו?
בשנים הקודמות, הפוקוס המרכזי היה על חוד החנית של השפה: נושאים שנכנסו בסטנדרט האחרון, נושאים שעתידים להכנס בסטנדרט הבא. זה כמובן מעניין בהחלט, אבל מי שעושה את צעדיו הראשונים בשפה, או עסק עד היום בעיקר בגרסא הקלאסית של השפה (98/03), התקשה מאוד להבין על מה מדובר. עוד פחות מכך רלוונטית עבורו, כשהוא חוזר למחרת הכנס לסביבת העבודה שלו, האפשרות ליישם את הדברים. תוצר לוואי נוסף של הפוקוס הזה היה מעט מאוד התייחסות לסביבות Realtime/Embedded. השפה מתקדמת בצירים שמתעלמים לחלוטין מקיומן של מערכות Hard-Realtime, וכמעט לא מתייחסים לסביבות Embedded בכלל. שיח שממוקד ב-C++23 או C++26, לפיכך, אינו כולל התייחסות משמעותית לעולם הזה.
ובכל זאת, רק אחוז קטן מה-Codebases הכתובים בשפה מתקדם עד כדי כך. קשה לדעת מה המספרים האמיתיים, אבל אני נוטה להאמין שרוב שורות הקוד הפעיל בשפה עדיין לא שמעו על המושג “Modern C++”. (ואולי אני טועה. קשה לדעת. לפני כמה שנים הופיעה באחד הכנסים נציגה של Jetbrain עם מספרים מעניינים על התעשייה. אבל המידע היה מבוסס על משתמשי CLion, ולא בטוח שמי שעוד כותב C++03 בהכרח שדרג דווקא את ה-IDE שלו.) לא פחות מכך, חלק חשוב מאוד מהמערכות הכתובות ב-C++ הן מערכות Embedded, והן מציבות לשפה אתגרים משלהן.
ומה היה הפעם?
השנה, הכנס נתן התייחסות מגוונת מאוד. לצד השיח על נושאים שהוחלטו רק שבוע קודם לכן בוועדת התקינה של השפה, היו הרצאות שכיסו את כל מגוון הגרסאות. החל מנושאי ליבה בשפה שניתן ליישם בכל גרסא, דרך התייחסות קונקרטית למעבר מ-Classic C++ לגרסאות מודרניות, ולא מעט מיקוד בגרסאות הביניים (14, 17, 20), שבהן כנראה חונים כרגע מרבית המפתחים. היו גם הרצאות בנושאי מערכות משובצות, הרצאות שפונות יותר לכיוון ניהול, סביבות עבודה ועוד.
כמה הרצאות ששוות אזכור (אולי בהמשך אכתוב יותר בפירוט): הפרומו של ענבל ל-Reflection בשפה, שהולך לפתוח עולם חדש ומופלא; הדיון של אמיר על ירושה של אופרטור השוואה בזמן קומפילציה, שהזכיר קצת מהלך תלמודי של שקלא וטריא; הבעיות בשפה והפתרונות האפשריים, של אסף צור-אל, ההרצאה של ריאן בייקר שהשאירה פיות פעורים על השימוש ב-Floating Point, וההרצאה של אלכס דסקובסקי על החיבור בין C++ לפייתון (שלצערי לא הייתי בה, אבל שמעתי תגובות נלהבות).
ולסיכום
הכנס היה בעיניי הצלחה גדולה, והיה קשה לבחור לאילו הרצאות להיכנס. מרבית ההרצאות היו ברמה גבוהה ומי שנכנס אליהן הוסיף לארגז הכלים שלו יכולות משמעותיות. גם הפידבקים שקיבלתי מהאנשים שלי, מג'וניורים ועד סניורים, היו חיוביים מאוד. זמן טוב לפרגן למארגנים, שהצליחו בשנים בודדות להרים אירועים בעלי אימפקט בינלאומי, וזאת בהתנדבות מלאה ומתוך רצון לתרום לקהילה ולפתח אותה.
אז תודה לענבל לוי, מיכאל גופשטיין, אמיר קירש, עדי שביט, ערן גלעד וכל האחרים שאיני זוכר את שמם. אתם עושים את זה מצויין.
ובפוסט הבא אנסה לתת את דעתי בעניין השאלה של ענבל על Reflection of function parameter names.