Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Czymjestprogramowanie?
Nauczycieleludź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:fiGdzietwojebuty?”,
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.AlekomputeryjakPiotruśPan:nigdyniedorastają.
Komputeryprzypominająmałedziecipodjeszczejednymwzględem:nie
potrafiągeneralizować.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ściwezadanietakjakzaczarowanamiotłazUczniaczarnoksiężnika,frag-
mentufilmuFantazjaz1940roku.Proszeniekomputeraozrobienieczegoś
2
DokładnietytułRycerzaOrderuImperiumBrytyjskiego(przyp.red.).
xxxWprowadzenie