REKLAMA

Programista 1/2022 (100) – styczeń/luty 2022 – wydanie 100 – Hello World pod lupą

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:

  • Kod w Pythonie;
  • Obiekt code;
  • Maszyna wirtualna CPython i funkcja print;
  • System naczyń połączonych i sys.stdout;
  • Konsole w systemie Windows;
  • Rasteryzacja tekstu;
  • Zarządzanie oknami;
  • GPU;
  • Alfa-blending;
  • Klatki obrazu.

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 <<