השבוע אני מלמד קורס Advanced C++ (כן, כן, native C++, וכן, יש עוד כאלה שמעוניינים אם כי לא הרבה).
הקורס הזה כבד למדי, ונכנס לכל הפינות האפלות של השפה, עם כל הטריקים
האלגנטיים והמלכודות הקטלניות. במהלך הקורס אני חושב לעצמי כמה שהחיים ב-.NET קלים ופשוטים ביחס לשפה מתוחכמת
כמו C++. מצאתי את עצמי נותן דוגמאות להשוואה מ-.NET ו-C# בכל מיני נושאים...
אני מאד אוהב C++ אבל חייב להודות שלרב האפליקציות הפרודוקטיביות גבוהה ב-.NET הרבה יותר מ-C++. אין דרך להתחמק מזה. C++ עדיין שימושית, בעיקר ב-system
level programming כאשר נדרשת עבודה
קרובה ל-API ושליטה מוחלטת בהתנהגות האפליקציה, לטובת ביצועים משופרים, צריכת
זיכרון קטנה יותר וכדומה.
כמובן שבעולמות יותר נמוכים, כגון real time ו-embedded C++ יכולה ומצליחה יפה. המתחרה שלה שם היא C.
בתקופה זו סוף סוף יש התקדמות בסטנדרט של C++ ובהתייחסות של Microsoft לשפה. היציאה של ה-VC++
feature pack עם תוספות משמעותיות ל-MFC אחרי שנים של הזנחה, פלוס מימוש לחלק מ-TR1 הם ברכה. הספריות של BOOST (boost.org) מהווים זו תקופה ארוכה מגדלור של C++ כמו שרצה המשורר.
בכל מקרה, כדאי לזכור שאת ה-CLR שאנחנו כל כך אוהבים כתבו ב-C++.