Microsoft przepisuje kod kluczowych elementów systemu Windows. Postawił w tym celu na język Rust, charakteryzujący się wysoką wydajnością, a także (choć właściwie należałoby powiedzieć, że przede wszystkim) oszczędnością i bezpieczeństwem pamięci.
Rust zastąpi C/C++. Windows ma nowy język programowania
Kod systemów z rodziny Windows (w tym Windows 11) napisany jest w językach C, C++, C# i w asemblerze. Rust ma nad nimi tę przewagę, że potrafi eliminować ewentualne błędy związane z bezpieczeństwem pamięci już na etapie kompilacji. W dodatku umożliwia zaoszczędzenie pamięci, a jego wykorzystanie wiąże się także ze wzrostem wydajności, szacowanym w różnych przypadkach na 5-15 proc.
Microsoft jest przekonany o potencjale języka Rust, który uważany jest za jednego z najpoważniejszych kandydatów do zastąpienia w przyszłości języków C/C++. To dlatego na nim właśnie zamierza opierać kolejne funkcje systemu Windows. Równocześnie już w 2020 roku rozpoczęto przepisywanie kodu podstawowych elementów systemu i aktualnie można mówić już o setkach tysięcy linijek kodu w tym języku. David „dwizzle” Wetson, dyrektor ds. bezpieczeństwa systemu Windows, wyraził ponadto przekonanie, że Windows będzie uruchamiał się z Rustem w jądrze w ciągu najbliższych kilku tygodni lub miesięcy.
Element po elemencie. Kod Windows w języku Rust
Jako pierwszy przepisany został DirectWrite API, a obecnie „na warsztacie” znajduje się główny interfejs graficzny (Wind32 GDI). Równocześnie jednak Microsoft podkreśla, że w najbliższym czasie większa część systemu nie zostanie jednak przeniesiona na Rust. Byłoby to nie lada wyzwanie, biorąc pod uwagę to, jak wiele milionów wierszy tworzy system Windows.
Rust, opracowany przez Graydona Hoare’a i upubliczniony w 2010 roku, przykuł także uwagę innych firm i organizacji. Google, Facebook i Amazon to niektórzy z wykorzystujących ten język w swoich rozwiązaniach. Także jądro Linux coraz bardziej otwiera się na Rusta. Warto tu podkreślić, że dwa lata temu Microsoft (wraz z firmami Google, Huawei, AWS i Mozilla) powołał do życia Fundację Rust.
Źródło: The Register, TechSpot
Komentarze
27Twierdzenie, że rust pozwala zwiększyć wydajność w stosunku do asemblera jest głupotą roku.
Generalnie o coś zupełnie innego w tym wszystkim chodzi,
Rust po prostu pozwala zapobiegać częstym i typowym błędom programistów. I na tym polega jego siła, Każdy kto pisał zwłaszcza w C pewnie przynajmniej kilka razy zrobił jakiś błąd w kodzie związany z zarządzaniem pamięcią.
Perfekcyjnie napisany kod w asemblerze zawsze będzie szybszy lub przynajmniej nie wolniejszy niż w dowolnym innym języku...
Dlaczego? Trzeba rozumieć czym jest asembler...
Natomiast pisanie w asemblerze jest nieefektywne, wymagające dogłębnej wiedzy i zrozumienia architektury procesora i układów, i wybitnie podatne na błędy ludzkie. Ot co...
Chciałbym się mylić też na temat tego, że ten Windows będzie obcinał FPSy w grach, podobnie jak Win11, który też miał być 10-15% szybszy....
Tak więc jest szybki bo jest niebezpieczny. Aby był bezpieczny musi być o 20% wolniejszy.