Myslet jako programátor – komplexně nekomplexní

V předchozí kapitole jsem s nostalgi popisoval rodící se obrovský nový svět informačních technologií, který začínal postupně pronikat do našich životů, značně idealizovaným pohledem malého kluka.

S přibývajícím věkem i prací s výpočetní technikou začínalo být i tomu největšímu idealistovi jasné, že tak jednoduché to být nemůže.

Za pěkným koláčovým grafem se sice skrývala jednoduchá čistá pravda, ale stějně tak veliké zjednodušení. Samotný graf, který se rozhodnete vykreslit třeba v dnešních moderních nástrojích (třeba i v tom obyčejném excelu) je možné realizovat 40 různými způsoby. Koláčovým, Síťovým, Spojnicovým atd… U každého z nich vidíte jiný pohled na tu samou realitu. Na ten samý soubor dat. Co je v jednom zobrazení do očí bijící, v jiném nerozeznatelně zaniká.

K mé hrůze jsem začal pomalu zjišťovat, že ani svět počítačů není ušetřen oné světové komplexnosti. Nestojí mimo ni. Nevymyká se. Napak. Chaos vznášející se nad naší denodenní realitou dokázal proniknout i sem. Do dříve bezpečného světa jedniček a nul. Do světa který zná jen dva stavy. Ano a Ne, Splněno a Nesplněno, Platí a Neplatí.

Úkolem mě „harcovníka“ který se světem počítačů protlouká už nějkou tu řádku let, je předat svá pozorování všem těm, kteří jsou zde noví. Cítím nutkání, potřebu, varovat vás před (na první pohled možná né úplně zřejmými) pastmi které na vás tento svět přichystal a do kterých jsem se sám zachytili. Vymotávání z nich mnohokrát není snadné. Byla by škoda ztrácet čas následováním stějně chybných předpokladů a tvrzení která mě samého svedla kolikrát na zcestí.

Abych se tedy konečně dopracoval k tématu souvisejícímu s programováním a myšlením, mám pro vás první poučení plynoucí z předchozích řádek.

Počitače jsou stejně komplexní jako svět sám a většina zadání není tak jednoduchých jak se na první pohled jeví. Pokud mají naše programy / algoritmy fungovat v živém světě (a nezůstat jen statickým zápisem zdrojového kódu v učebnici programování) čekejte nečekané,

Trpí stejnými problémy a některé dokonce ještě zhoršuje (ukážeme si na příkladech pozdějí). Nenechte se tedy zmást jednoduchým zadáním. Protože i za tím nejjednotušším zadáním se může skrývat noho hodin programování.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *