Wszystko, co składa się na cały kod źródłowy systemu Windows 10 “waży” nieco ponad 0,5 terabajta (TB) i został napisany głównie w języku programowania C – wynika z informacji opublikowanych przez głównego inżyniera Microsoftu Axela Rietschina. Gdyby jedna osoba chciała sprawdzić co zawiera cały ten kod, nie starczyłoby jej na to życia.
Dominuje język C
Według Rietschina Windows 10 napisany jest głównie w języku C oraz zawiera w niektórych miejscach C++ i zaprojektowany dla Microsoftu język C#.
Zdziwieni? Dzieje się tak dlatego, że najnowszy Windows ma tą samą (tylko znacznie rozwiniętą) podstawę kodu, co kod Windowsa 8, 7, Vista, XP, 2000 czy NT, gdzie każda następna generacja systemu dodawała nowe funkcje, zwiększała wydajność, wsparcie sprzętowe, jak również bezpieczeństwo, przy równoczesnym zachowaniu bardzo wysokiego stopnia kompatybilności wstecznej.
Zdecydowana większość jądra systemu operacyjnego (ntoskrnl.exe) i tego co działa w trybie jądra tj. pliki systemowe, pliki sieciowe i sterowniki są napisane w języku programowania C z małymi fragmentami kodu napisanego w C++. Natomiast, jeśli przyjrzymy się temu, co jest dodawane w ostatnim czasie, to można powiedzieć, że znajdziemy więcej języka C++ niż samego C.
Nie trzeba tylko polegać na tym co mówi inżynier; nieco światła na zawartość jądra systemu rzuca Windows Research Kernel (WRK), który zawiera właśnie kod źródłowy systemu Windows Server 2003. Można go bez problemu znaleźć w serwisie GitHub (który nomen omen należy do firmy Microsoft) pod adresem: https://github.com/markjandrews/wrk-v1.2
Kod jest w dużej mierze niekompletny, ale pozwala zrozumieć w jaki sposób pracują programiści Microsoftu.
Windows to naprawdę ogromny projekt
Rietschin zwraca przy tym uwagę na fakt, że większość ludzi nie dostrzega jak wielkim przedsięwzięciem jest system Windows 10. To ogromny projekt, o prawdziwie epickich proporcjach – ocenił. Dodał, że kompletna struktura drzewa kodu źródłowego (na który składa się kod testowy i wszystko, co stanowi kod źródłowy Windows 10) zajmuje ponad 0,5 TB. Wyjaśnił również, że kod źródłowy zawiera ponad pół miliona folderów, które zawierają kod każdego komponentu oraz blisko 4 miliony plików, a także powiązane z nimi narzędzia i zestawy programistyczne.
Według inżyniera Microsoftu zbadanie pełnej struktury wszystkich folderów może zająć około rok czasu. Jeśli natomiast ktoś chciałby zajrzeć do wnętrza każdego pliku i spróbować zrozumieć, który plik za co odpowiada, najpewniej nie wystarczyłoby mu na to całego życia (albo nawet dwóch). Myślę, że można powiedzieć, iż jedna osoba nie jest w stanie przeczytać całego kodu, który jest dodawany do systemu Windows każdego dnia, nie mówiąc już o tym, co zostało napisane w ciągu ostatnich trzydziestu lat! – oceni Rietschin.
Axel Rietschin wyjaśnił również rolę, jaką odegrał język programowania C# w całej architekturze systemu Windows. Według niego biblioteki klasy podstawowej platformy .NET (BCL) i inne biblioteki są zwykle napisane w języku C#, ale i tak jest to tylko mała kropla w gigantycznym morzu kodu napisanego w C i niekiedy w C++. Zaznaczył przy tym, że pisaniem bibliotek zajmują się jednak inne działy w Microsofcie (m.in. DevDiv), a ich kod źródłowy nie jest częścią drzewa źródłowego systemu Windows.
Na koniec Rietschin postanowił odpowiedzieć na pytanie dotyczące tego w jakich językach programowania został napisany Windows, który trafia do konsumenta w formie płyty DVD. Zgaduję, że 98% będzie napisana w C i C++, przy czym C zajmuje lwią część – ocenił inżynier.