Tak, twoje podejrzenia są słuszne. Microsoft naciska na C ++, aby powrócił i stał się bardziej popularny.
Nie mogę go teraz znaleźć, ale jakiś czas temu widziałem prezentację jednego z dużych facetów Microsoftu, a cała ta sprawa była skierowana do programistów i dotyczyła wprowadzenia Windows 8, a zwłaszcza WinRT (także zamiennika dla platformy .NET jako Win32 API).
Miał oś czasu, w której wyjaśnił, w jaki sposób różne naciski wpływały na to, która technologia była popularna w określonych czasach. Na początku ludzie chcieli prędkości, więc wszyscy kodowali w C / C ++ (dwa osobne języki). W miarę jak sprzęt stawał się coraz szybszy, nacisk kładziony był na szybkość wykonywania, a bardziej na szybkość programowania, dlatego języki wyższego poziomu stały się znacznie bardziej popularne.
Jednak teraz nacisk kładzie się coraz bardziej na komputery mobilne i oparte na architekturze ARM (Windows 8 to pierwsza wersja Windows, która została skompilowana dla ARM) i wielu uważa, że staną się one znacznie bardziej popularne, a dla niektórych całkowicie zastąpią pulpit. Tak więc nacisk (przynajmniej w oczach Microsoftu) powrócił do C ++, ponieważ teraz zależy nam na żywotności baterii. Kod wyższego poziomu = więcej instrukcji = potrzeba więcej soku.
Aby wesprzeć to przejście z powrotem do C ++, wprowadzili zupełnie nowy interfejs API programowania Windows 8, zwany WinRT (ostatnio sprawdzałem, to była i tak nazwa). Ten interfejs API podąża za motywem .NET Framework w zakresie zapewnianej funkcjonalności, ale będzie dostępny dla każdego, kto koduje w C ++ (przez interfejsy COM), w C #, a nawet w Javascript dla tych, którzy chcą pisać aplikacje HTML 5 / Javascript. Wprowadzają także XAML (technologię używaną w WPF, ich najnowszym frameworku interfejsu użytkownika), która będzie również dostępna w C ++.
Tak więc dla mnie oznacza to, że zdecydowanie większy nacisk kładzie się na C ++ w Microsoft niż w przeszłości.
AKTUALIZACJA # 1:
Ponieważ właśnie dostałem za to znaczek „ładnej odpowiedzi”, pomyślałem, że może powinienem wrócić i a) wyjaśnić kilka rzeczy ib) uszczęśliwić policję sprawdzającą fakty, ponieważ jak wszyscy wiemy na forach technologicznych, wszystko co jest nieścisłe, może doprowadzić do wojen to trwa przez lata.
WinRT nie zastępuje frameworku .NET, ale jest to kolejna alternatywa dla programistów MS Windows, a MS zdecydowanie popycha ludzi w tym kierunku. Wygląda (trzymaj płomienie, jeśli nie jest to w 100% dokładne), że WinRT był głównie ukierunkowany na aplikacje Modern UI, chociaż zwykłe aplikacje komputerowe również powinny móc z niego skorzystać. Powiedziawszy to, MS mocno naciska, aby ludzie przerzucili się na pisanie a) nowoczesnych aplikacji interfejsu użytkownika oraz b) rozpocząć korzystanie z WinRT, aby saldo przesunęło procent osób korzystających ze środowiska .NET.
C ++ NIGDY nie zastąpi języków wyższego poziomu, takich jak C # lub python. Tak jak te języki NIGDY nie zastąpią C ++. To była prawdopodobnie najbardziej kontrowersyjna część pytania OP. Ale chodzi o równowagę, a fakty są następujące:
- Społeczność C ++ (w której stwardnienie rozsiane jest w dużej części MS) dąży do silnego powrotu do pozycji C ++ jako dobrego języka dla urządzeń o niskiej mocy, których udział w rynku rośnie ostatnio jak szalony. Jeśli mi nie wierzysz, poszukaj serii rozmów „GoingNative”, która rozpoczęła się w zeszłym roku.
- Przy wszystkich wysiłkach i wpływach Microsoftu użycie C ++ zdecydowanie wzrośnie, podczas gdy C # może trochę zrzucić. Do tego dąży stwardnienie rozsiane i jak powiedziałem w komentarzach powyżej, kiedy stwardnienie rozsiane stawia swój pomysł za sobą, zmieniają dużą część branży. Prawdopodobnie dostanę odpowiedź od jakiegoś faceta, który spiera się: „Jaką branżę zawsze byłem na Linuksie” i na to moja jedyna odpowiedź brzmi: obudź się! Tak, istnieją inne systemy operacyjne, ale większość rynku komputerów stacjonarnych, zarówno konsumenci, jak i biznes to obecnie Windows, a każdy poważny programista, który chce zmaksymalizować wartość swojego czasu, byłby głupi, aby nie celować w tę część rynku komputerów stacjonarnych.
Podsumowując: Tak, MS naciska na powrót C ++, więc najprawdopodobniej jego popularność wzrośnie. Nie, C ++ nigdy nie zastąpi C #.
Aktualizacja nr 2:
Nie wiem dlaczego, ale społeczność techniczna zazwyczaj widzi rzeczy w absolutnie czarno-białych kategoriach, kiedy rzeczywistość jest pełna odcieni szarości. To jest odpowiedź na kilka nowych komentarzy, które zostały dodane do tego postu:
.NET Framework nie zniknie w najbliższym czasie (ani nigdy). Prawie każda technologia, którą Windows posiadał od lat 90-tych, wciąż istnieje w jakiejś formie lub modzie. Tak więc dla tych, którzy są tak przywiązani do frameworku .NET: a) nie martw się, że zniknie i b) przestań się kłócić na jego korzyść, tak jakby twoje życie zależało od niego, twój interfejs API jest bezpieczny.
WinRT reimplementuje wiele funkcji, które w przeszłości były dostarczane przez interfejsy API Win32 i .NET Framework. Ludzie, którzy chcą tej funkcji, będą mieli wybór, jeśli będą chcieli korzystać z WinRT, .NET Framework lub kontynuować korzystanie z Win32 API (to też nie jest martwe). Jeśli WinRT nie obsługuje dziś łatwego tworzenia aplikacji internetowych, istnieje duża szansa, że będą one obsługiwać je w przyszłości.
Microsoft ogłosił, że WinRT jest dużą strukturą, która dała Microsoft szansę na rozpoczęcie od czystego konta i zbudowała API wykorzystując doświadczenia zdobyte w Win32 API i samej platformie .NET. Próbowałem szukać tego filmu i nadal nie mogę go znaleźć, ale jedną z rzeczy, o których mówca wspomniał, jest to, że istnieją pewne obszary frameworku .NET, które można by zdefiniować lepiej / prościej / czysto, a WinRT udostępnia tę samą funkcjonalność w tym nowym, czystszym interfejsie.