Так, ваші підозри правильні. Microsoft підштовхує C ++ повернутися і стати більш популярною.
Я зараз не можу його знайти, але деякий час тому я побачив презентацію одного з великих хлопців Microsoft, і вся справа була спрямована на розробників і стосувалася розкрутки Windows 8, а особливо WinRT (заміни для .NET Framework також як API Win32).
У нього була часова шкала, що він пояснював, як різні тиски впливають на те, яка технологія була популярною в певний час. Тож спочатку люди хотіли швидкості, тому всі вони були закодовані на C / C ++ (дві окремі мови). Оскільки обладнання стало швидше, фокус відсувався від швидкості виконання та більшої швидкості розвитку, тому мови вищого рівня стали набагато популярнішими.
Однак зараз акценти ставляться все більше до мобільних комп'ютерів та комп'ютерів на основі ARM (Windows 8 - це перший випуск Windows, який збирається для ARM), і багато хто вважає, що вони стануть набагато популярнішими, а для деяких повністю замінять робочий стіл. Тож фокус (принаймні, в очах Microsoft) знову на C ++, тому що зараз ми піклуємося про час автономної роботи. Код вищого рівня = більше інструкцій = потрібно більше соку.
Щоб підтримати цей перехід назад до C ++, вони представили абсолютно новий API програмування Windows 8, який називається WinRT (востаннє я перевірив, так і було це ім’я). Цей API відповідає темі .NET Framework в межах функціоналу, який він надає, але він буде доступний для всіх, хто кодує в C ++ (через COM-інтерфейси), в C # або навіть у Javascript для тих, хто бажає писати програми HTML 5 / Javascript. Вони також пропонують XAML (технологію, що використовується в WPF, їх найновіший інтерфейс UI), щоб бути доступною і в C ++.
Тож для мене такий вид свідчить про те, що на C ++ у Microsoft, безумовно, більше уваги, ніж у минулому.
ОНОВЛЕННЯ №1:
Оскільки я щойно отримав знак «приємної відповіді» на це, я подумав, що, можливо, я повинен повернутися і а) уточнити кілька речей і б) зробити щасливою міліцію, яка перевіряє факти, тому що, як ми всі знаємо на технологічних форумах, все неточне може спричинити війни які тривають роками.
WinRT не є заміною .NET Framework, але це ще одна альтернатива, яку зараз мають розробники MS Windows, а MS наполегливо підштовхує людей йти в цьому напрямку. Здається, що (будь ласка, тримайте полум'я, якщо це не на 100% точно), WinRT в першу чергу був націлений на сучасні програми інтерфейсу користувача, хоча звичайні програми для настільних ПК також повинні мати змогу скористатися цим. Сказавши це, MS наполегливо підштовхує людей перейти до написання а) сучасних програм інтерфейсу і б) почати використовувати WinRT, тому що відсоток змін балансу людей, що використовують .NET Framework, швидше за все, знизиться.
C ++ НІКОЛИ не замінить мови вищого рівня, такі як C # або python. Так само, як ці мови НІКОЛИ не замінять C ++. Це, мабуть, найбільш суперечлива частина питання ОП. Але все полягає в балансі, і факти такі:
- Спільнота C ++ (велика частина якої складає MS) наполягає на сильному поверненні, щоб позиція C ++ була гарною мовою для пристроїв з низьким рівнем живлення, частка ринку яких останнім часом зростає як божевільна. Якщо ви мені не вірите, знайдіть серію розмов "GoingNative", яка розпочалася минулого року.
- При докладанні всіх зусиль та впливу з боку Microsoft, використання C ++ обов'язково зросте, тоді як C # може дещо знизити. На це наполягає МС, і, як я вже говорив у коментарях вище, коли МС відкладає свій капітал за ідею, вони змінюють значну частину галузі. Я, мабуть, отримаю відповідь від якогось хлопця, який буде сперечатися, "яка галузь, я завжди був у Linux", і на це моя єдина відповідь - прокинься! Так, є інші ОС там, але більшість ринку настільних комп'ютерів, як споживача, так і бізнесу на даний момент - це Windows, і будь-який серйозний розробник, який бажає максимально використовувати свій час, був би дуже нерозумним, щоб не націлювати на цю частину ринку настільних ПК.
Отже, на закінчення: Так, MS наполягає на тому, щоб C ++ повернувся, тому, швидше за все, його популярність зросте. Ні, C ++ ніколи не замінить C #.
Оновлення №2:
Я не знаю чому, але технічна спільнота має тенденцію бачити речі абсолютно абсолютними чорно-білими, коли реальність сповнена відтінків сірого. Це відповідь на кілька нових коментарів, які були додані до цієї публікації:
.NET Framework не піде незабаром (або ніколи). Практично кожна технологія, яку мали вікна з 90-х років, все ще існує в певній формі чи моди. Тож для тих, хто так приєднаний до .NET Framework: а) не турбуйтеся про те, що воно зникне, і б) перестаньте сперечатися на його користь так, ніби ваше життя залежить від цього, ваш API безпечний.
WinRT реалізує багато функціональних можливостей, які в минулому забезпечувалися рамками API Win32 та .NET. Люди, які хочуть, щоб ця функціональність матиме вибір, якщо вони хочуть використовувати WinRT, .NET фреймворк або продовжити API Win32 (це теж не мертво). Якщо WinRT не підтримує просте створення веб-додатків сьогодні, є дуже хороший шанс, що він підтримає їх у майбутньому.
Microsoft заявила, що WinRT - це велика основа, яка дала Microsoft шанс почати з чистого аркуша і побудував API, використовуючи уроки, отримані в API Win32 та в самій .NET Framework. Я намагався шукати це відео, і досі не можу його знайти, але одна з речей, про яку говорив спікер, - це те, що є певні області .NET Framework, які можна було б визначити кращими / простішими / чистішими, і WinRT відкриває цю саму функціональність в новому інтерфейсі чистішого.