Warsztat programisty

Wstęp do działu

Umiesz już układać przepisy (dział 1) i wiesz, jak komputer przechowuje informacje (dział 2). Czas domknąć trójkąt: nauczyć się mówić do maszyny tak, żeby przepis wykonała. Ten dział to nauka języka — z gramatyką, słówkami i typowymi błędami — tyle że rozmówcą jest komputer, a język nazywa się Python.

Dobra wiadomość: cały język programowania, w którym pisze się i gry, i systemy bankowe, i sztuczną inteligencję, stoi na czterech klockach: zmiennych, warunkach, pętlach i funkcjach. Poznasz je wszystkie w tym dziale. Zła wiadomość: komputer jest najbardziej upierdliwym rozmówcą świata — przecinek w złym miejscu i rozmowa stoi. Dobra wiadomość numer dwa: dokładnie dlatego programowanie tak dobrze uczy myślenia. Nie da się „mniej więcej" zaprogramować — a jak się uda, to znaczy, że naprawdę rozumiesz.

Pamiętaj o żelaznej zasadzie z wstępu do książki: najpierw kartka, potem komputer. Każdy program z tego działu najpierw prześledź w głowie lub w tabelce, przewidując wynik — a dopiero potem uruchom i sprawdź, czy maszyna przyznała Ci rację.

Mapa pojęć działu

                     WARSZTAT PROGRAMISTY
                              |
   ┌──────────┬───────────┬───┴────────┬───────────┬─────────────┐
 zmienne    decyzje     pętle       kolekcje     funkcje
 wejście/   (if/elif/   (for, while) (listy,     (def, parametry,
 wyjście     else,       + off-by-one napisy,     return)
 (print,     warunki      i pętla     indeksy
  input)     logiczne)    bez końca)  od zera!)
                              |
        TESTOWANIE I DEBUGOWANIE (błędy: składni / wykonania / logiczne)
        STEROWANIE ŚWIATEM (czujnik → decyzja → działanie)
        [R] WIĘKSZY KOD: IDE, styl strukturalny, obiekty, biblioteki

Jednostki w tym dziale

  • 3.1 Pierwszy program — środowisko, wejście, wyjście, zmienne
  • 3.2 Decyzje — warunki i rozgałęzienia
  • 3.3 Powtarzanie — pętle
  • 3.4 Wiele naraz — listy i napisy
  • 3.5 Funkcje — program z klocków
  • 3.6 Testowanie i debugowanie — sztuka znajdowania własnych błędów
  • 3.7 Program steruje światem — czujniki i decyzje
  • 3.8 Porządek w większym kodzie — IDE, struktura, obiekty, biblioteki (rozszerzenie)