Microsoft przepisze miliardy linii kodu. Gigantyczna zmiana
Microsoft chce wyrzucić C i C++ do kosza. Do 2030 roku. Ambitne? Bardziej: rewolucyjne.

W branżowych mediach pojawiła się informacja, która powinna zwrócić uwagę każdego, kto choć trochę interesuje się bezpieczeństwem oprogramowania i przyszłością ekosystemu Microsoftu. Distinguished Engineer w zespole CoreAI, Galen Hunt, ogłosił plan: do 2030 r. Microsoft chce pozbyć się absolutnie każdej linijki kodu w C i C++ w swoich kluczowych projektach. Wszystko - od Windowsa po Azure - ma zostać przepisane na Rusta. W Redmond traktują to śmiertelnie poważnie.
Rust kontra dekady. Czy to w ogóle ma sens?
Microsoft to firma, której fundamenty od lat opierają się na C i C++. Windows - system działający na ponad miliardzie urządzeń - wciąż w ogromnej części składa się z kodu w tych językach. To samo dotyczy Azure, jednej z największych chmur świata. Mówimy tu o miliardach linii kodu, które trzeba by zastąpić Rustem.
Czytaj też:
W klasycznym podejściu byłoby to zadanie nierealne. Przepisanie takiego kolosa zajęłoby dekady i wymagałoby armii programistów. Ryzyko błędów? Gigantyczne. Hunt jednak twierdzi, że Microsoft ma sposób - i sprowadza się on do czterech słów:
sztuczna inteligencja oraz algorytmy.
Firma zbudowała własną infrastrukturę do analizy i transformacji kodu, łączącą agentów AI z zaawansowaną analizą algorytmiczną. To nie jest teoretyczny projekt - ta infrastruktura już działa w dużych przedsięwzięciach Microsoftu.
Microsoft już rekrutuje ludzi do tego projektu. W Redmond otwarto stanowisko Principal Software Engineer (IC5), którego zadaniem będzie rozwijanie tej infrastruktury. Wymagania? Minimum trzy lata doświadczenia w niskopoziomowym Rustcie i mile widziane doświadczenie w kompilatorach, bazach danych lub systemach operacyjnych. Krótko mówiąc: szukają ludzi, którzy wiedzą, co robią.
Dlaczego Rust? Bo bezpieczeństwo pamięci to nie żart
Pod postami Hunta na LinkedInie pojawiło się wiele pytań: dlaczego właściwie Rust? Odpowiedź jest prosta - i jednocześnie bolesna dla całej branży.
C i C++ odpowiadają za większość podatności bezpieczeństwa w oprogramowaniu Microsoftu.
Według danych firmy aż 70 proc. wszystkich CVE wynika z błędów związanych z zarządzaniem pamięcią. Use-after-free, buffer overflow, heap corruption - klasyczne problemy, które od lat są paliwem dla cyberataków.
C i C++ dają programiście pełną kontrolę nad pamięcią. To świetne dla wydajności, ale fatalne dla bezpieczeństwa. Wystarczy jeden błąd wskaźnika, jeden indeks poza tablicą - i mamy lukę, którą można wykorzystać do zdalnego wykonania kodu.
Rust działa inaczej. Bezpieczeństwo pamięci jest w nim wbudowane w sam język. System własności (ownership) i rygorystyczne sprawdzanie kodu na etapie kompilacji eliminują całe klasy błędów, zanim program w ogóle się uruchomi. Jeśli chcesz zrobić coś potencjalnie niebezpiecznego to musisz to wyraźnie oznaczyć jako unsafe. To działa jak wielka, czerwona lampka.
Co ważne Rust nie oznacza kompromisu wydajności. Microsoft już przepisał w Rustcie ponad 36 tys. linii kodu jądra Windows i 152 tys. linii biblioteki DirectWrite. Nie odnotowano żadnego spadku wydajności. Pierwsze system calls w Rustcie działają już na produkcji.
Presja z góry. I to z samego szczytu
Ta rewolucja nie jest oddolną inicjatywą entuzjastów. CTO Azure i jedna z najważniejszych postaci technicznych Microsoftu, Mark Russinovich, wydał jasną dyrektywę: wszystkie nowe projekty w kernelu Windows i Azure mają być pisane w Rustcie. Zero wyjątków. To nie tylko wewnętrzna decyzja. Presja rośnie również z zewnątrz. Rządy, regulatorzy i agencje bezpieczeństwa coraz głośniej mówią o konieczności eliminacji błędów pamięciowych.
Dla Microsoftu to jednocześnie ogromne wyzwanie i wielka szansa. Jeśli uda im się przeprowadzić tę transformację to będą mogli pochwalić się jednymi z najbezpieczniejszych systemów operacyjnych i usług chmurowych na świecie.
Czy AI naprawdę da radę przepisać miliardy linii kodu?
Tu zaczyna się część, w której trzeba zejść na ziemię. Ambicja Hunta jest imponująca, ale praktyka może okazać się brutalna.
Przepisanie kodu to nie tylko zamiana składni. To zrozumienie intencji - tego, co kod robi, dlaczego robi to w taki sposób i jakie są jego zależności. System Hunta ma do tego narzędzia: tworzy skalowalne grafy nad kodem źródłowym, a agenty AI działają na ich podstawie. Ale to wciąż eksperyment na niespotykaną skalę.
Do tego dochodzą problemy niskopoziomowe: manipulacja bitami, inline assembly, nietypowe konstrukcje wskaźnikowe. Rust to potrafi, ale inaczej. Konwersja nie zawsze będzie jednoznaczna.
I najważniejsze: każdą linijkę trzeba przetestować. Windows działa na miliardach urządzeń. Jedna pomyłka może oznaczać katastrofę.
2030 r. - realny termin czy życzeniowa wizja?
Cel Hunta jest odważny: pełne wyeliminowanie C i C++ w ciągu pięciu lat. Czy to realne?
Prawdopodobnie nie w 100 proc. Zawsze znajdą się fragmenty, których nie da się łatwo ruszyć. Ale nawet jeśli Microsoft osiągnie 70-80 proc. tego celu to będzie to krok milowy dla całej branży.
Warto zauważyć, że Redmond przygotowywał się do tego od lat. Najpierw małe komponenty, potem większe. Budowa infrastruktury, trenowanie modeli, testy na produkcji. Teraz mają wszystko, by spróbować zrobić to na pełną skalę.
Co to oznacza dla zwykłych użytkowników?
Jeśli plan się powiedzie to zyskamy wszyscy. Windows, Azure, Office - wszystko stanie się bezpieczniejsze, stabilniejsze i mniej podatne na ataki.
Ale jest też szerszy kontekst: jeśli Microsoft pokaże, że da się przenieść miliardowy kod z C/C++ do bezpieczniejszego języka to inni dostawcy będą musieli przemyśleć swoje strategie. Apple, Linux Foundation, producenci oprogramowania wbudowanego - nikt nie będzie mógł udawać, że problem nie istnieje.
Hunt nie ukrywa, że to będzie trudne. Ale jeśli jakaś firma ma zasoby, ludzi i technologię, by spróbować - to właśnie Microsoft.







































