Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Czymjestprogramowanie?
Nauczycielesąludźmi,którzytrenująpodstawowąmaszynerięludzkądo
tego,bywykonywałaonaokreślonezadania.Podobnie,programując,sta-
jemysięnauczycielamikomputerów.Programiściucząkomputeryrobićto,
czegochcą.
Wiedzaotym,jaknauczyćczegośkomputery,bywaprzydatna,zwłaszcza
wtedy,gdychciałobysię,byrobiłycoś,czegojeszczenieumiejąrobićigdynie
możnapoprostupójśćdosklepuikupićdotegoprogramu,ponieważnikt
jeszczepodobnegoprogramunienapisał.Naprzykładwiększośćczytelników
zapewneuważasiećWWWzacośoczywistego,alezostałaonawynalezionanie
takdawnotemu,gdySirTimBernes-Leepotrzebowałbardziejwydajnego
sposobukomunikacjimiędzynaukowcamiEuropejskiejOrganizacjiBadań
Jądrowych(OrganisationEuropéennepourlaRechercheNucléaire,CERN).
Iotrzymałzatotytułrycerski2.Nieźle,prawda?
Uczeniekomputerówjestskomplikowane,alemimowszystkoprostsze
niżuczenieludzi.Owielelepiejznamyfunkcjonowaniekomputerówniżlu-
dzi.Noikomputerraczejnanikogoniezwymiotuje.
Programowaniekomputeratoprocesdwuetapowy:
1.Zrozumwszechświat.
2.Wyjaśnijgotrzylatkowi.
Cotooznacza?Niemożnanapisaćprogramukomputerowegosłużącego
dorobieniarzeczy,którychsamemusięnierozumie.Naprzykładniemożna
napisaćprogramudosprawdzaniapisowni,jeślinieznasięzasadpisowni,
iniemożnanapisaćdobrejgrykomputerowej,jeślisięnieznafizyki.Tak
więcpierwszymkrokiemdopozostaniadobrymprogramistąjestnauczenie
jaknajwięcejowszystkiminnym.Rozwiązaniaproblemówmożnaznaleźć
częstowbardzozaskakującychmiejscach,więcnienależyignorowaćczegoś
tylkodlatego,żenieodrazuwydajesięistotne.
Drugietapprocesuwymagawyjaśnieniatego,cosięwie,maszynie,która
ma,takjakmałedzieci,bardzosztywnespojrzenienaświat.Tasztywność
udziecijestnaprawdęoczywista,gdymająoneokołotrzechlat.Powiedzmy,
żepróbujeszwyjśćzdzieckiemnadwór.Pytaszgo:fiGdziesątwojebuty?”,
aonoodpowiada:fiTam”.Odpowiedziałoprzecieżnapytanie.Problempo-
leganatym,żenierozumieono,żetaknaprawdęmówiszmu,żebyzałożyło
buty,byścieobojemogliwyjśćzdomuipójśćgdzieś.Elastycznośćizdolność
dowyciąganiawnioskówtoumiejętności,którychdziecinabywająwmiarę
dorastania.AlekomputerysąjakPiotruśPan:nigdyniedorastają.
Komputeryprzypominająmałedziecipodjeszczejednymwzględem:nie
potrafiągeneralizować.Sąoczywiściebardzopożyteczne,bogdyjużwykom-
binujesię,jakprzekazaćimjakieśinstrukcje,będątorobićbardzoszybko
ibezznużenia,choćsameniemająanitrochęzdrowegorozsądku.Komputer
bezznużeniabędziewykonywałzadanączynnośćbezwnikaniawto,czyjest
towłaściwezadanie–takjakzaczarowanamiotłazUczniaczarnoksiężnika,frag-
mentufilmuFantazjaz1940roku.Proszeniekomputeraozrobienieczegoś
2
DokładnietytułRycerzaOrderuImperiumBrytyjskiego(przyp.red.).
xxxWprowadzenie