Pierwszym krokiem w klasycznej ścieżce edukacji przyszłych programistów jest stworzenie programu wypisującego – najczęściej w konsoli – tekst „Hello, World!”. Sam program jest z definicji banalny, ale to, co dzieje po jego uruchomieniu – już nie do końca. W tym artykule prześledzimy ścieżkę wykonania mini-programu „Hello World” napisanego w Pythonie, zaczynając od pojedynczego wywołania wysokopoziomowej funkcji print, poprzez kolejne poziomy abstrakcji interpretera, systemu operacyjnego i sterowników graficznych, a kończąc na wyświetleniu odpowiednich pikseli na ekranie. Skupimy się przy tym na systemie Windows. Jak się okaże, ścieżka ta sama w sobie nie jest ani prosta, ani krótka, ale zdecydowanie bardzo ciekawa...
Zagadnienia poruszane w tym artykule:
Artykuł pochodzi z magazynu Programista nr 100 (1/2022). Magazyn jest z przełomu stycznia i lutego 2022 roku. Szczegółowy spis treści wydania nr 100: https://programistamag.pl/programista-1-2022-100/
Autorami artykułu są:
Adam Sawicki - zainteresowany głównie programowaniem grafiki, multimediów i gier. Aktualnie pracuje jako Developer Technology Engineer w AMD. Wcześniej m.in. w firmie Intel, Microsoft, w branży gier, w telewizji. Ma szerokie doświadczenie – od niskopoziomowego programowania sterowników graficznych i silników gier po fotografię, montaż video i VJ-ing na imprezach. Mgr inż. informatyki - absolwent Politechniki Częstochowskiej. Autor bloga asawicki.info.
Mateusz Jurczyk - od wielu lat pasjonuje się niskopoziomowymi aspektami programowania i bezpieczeństwem komputerowym. Specjalizuje się w metodach znajdowania oraz wykorzystywania podatności w popularnych aplikacjach klienckich oraz systemach operacyjnych. Na co dzień pracuje w firmie Google w zespole Project Zero.
Gynvael Coldwind - programista pasjonat z zamiłowaniem do bezpieczeństwa komputerowego i niskopoziomowych aspektów informatyki. Autor książki „Zrozumieć Programowanie”, redaktor naczelny i twórca eksperymentalnego magazynu Paged Out!, a także licznych artykułów, publikacji, podcastów oraz wystąpień poświęconych wspomnianym tematom. Od 2010 roku mieszka w Zurychu, gdzie pracuje dla firmy Google jako Senior Software Engineer/Information Security Engineer.
>> POBIERZ FRAGMENT TEGO ARTYKUŁU <<