'<<' ''A GONDOLKODÁSRÓL
Úgy érzem, azt a módot, ahogyan gondolkodom, nagy mértékben befolyásolja
az, hogy sok év óta foglalkozom számítógép-programozással. Persze ez sem
teljesen így igaz, hiszen azért szeretek programozni, mert gondolkodási
módszereim közel állnak ahhoz, amit a gép követel tőlem. Kis kitérő ez,
kedves Árnyék, de talán van értelme. Az első és legfontosabb eleme ennek a
gondolkodásnak az, hogy hinned kell saját képességeidben. Hinned kell, hogy
bármilyen problémát meg tudsz oldani. Azokra a kérdésekre, melyek a fejedben
megszületnek, ugyanott létezik a válasz is - persze lehet, hogy nem azonnal
jut az eszedbe. A gép azt csinálja, amit mondasz neki. Ha meg tudod
fogalmazni a kérdést, már félig meg is fogalmaztad a választ, bár néhány
furcsa formáját is kénytelen vagy elfogadni, például azt, hogy erre a
kérdésre most nincs szükséged, vagy azt, hogy már régen megvan a válasz,
előbb, mint a kérdést feltetted.
Másodszor, a válaszok a valóság egy kis darabjának egy lehetséges
modelljét adják - és ez nem csak a programozással van így. Életem bármely
kérdésére kereshetek választ, hinnem kell, hogy megtalálom, de amit találok,
nem több, mint egy egyedül számomra létező modell, amely segít nekem jobban
működni. Tehát (csak érdemes volt elindulni ebbe az irányba!) nem keresek
soha abszolút válaszokat, mert az csak akkor létezik, ha a világ minden
tényének birtokában vagyok. Egyszerű példa: ha elejtek egy kavicsot egy
tányér felett, nem tudom, el fog-e törni a tányér - ennek abszolút
eldöntéséhez a tányér minden tulajdonságára szükségem lenne - és nem csak
arra. Hiszen ha éppen a kritikus pillanatban földrengés történne vagy meteor
találná el a házat, a kavics esetleg el sem érné a tányért. Akkor mondhatom-
e bármilyen egyszerű megállapításomra azt, hogy igaz? Legfeljebb számomra
használható, engem cselekvésre sarkalló vélemény lenne - jelen esetben bár
nem tudom, eltörne-e a tányér, megpróbálnám elkapni vagy elrúgni a kavicsot.
Ez a harmadik dolog. Választok egy modellt, aminek abszolút valódiságában
nem vagyok biztos, viszont úgy érzem, az általa ösztönzött cselekedetek
használhatók, akkor a modellt fenntartás nélkül használni kezdem. Teljes
mélységében, minden szempontból elfogadom, ugyanakkor tudom, hogy levegőben
lóg, tehát belül minden pillanatban megkérdőjelezem, keresek más modelleket.
Így képes az ember programozni - vagy már nem is arról van szó? Felépítek a
problémára egy modellt, finomítom és használom. A kidolgozás növeli a
használhatóságot, viszont kevésbé átlátható lesz a rendszer, az esetleges
hibajelenségek egyre jobban elbújnak. A kidolgozás nem mehet egy bizonyos
szinten túl az áttekinthetőség rovására, mert ekkor már jobb egy
kipróbálatlan, de áttekinthető modell, mint a teljesen elbonyolódott
rendszer, amelyben a hibák felderítése és lehetőleg minimális mellékhatással
járó javítása sokkal nehezebb (ez utóbbi pedig általában a kegyelemdöfés az
áttekinthetőségnek). Ugyanakkor a kidolgozott rendszer stabilitása hatalmas
tehetetlen tömegként áll ellen a változtatásnak, ami aztán általában
robbanásszerűen következik be, egy súlyos összeomlás utáni kapkodó - tehát
ismét veszélycsírákat hordozó - új prototípus létrejöttével. Már megint!
Most programozásról, gondolkodásról vagy társadalmi rendszerekről beszélek?
Hihi. Ez a néhány mondat is hogy el tudott bonyolódni egy pillanat alatt.
Nem szabad elfelejteni azonban a modellek információszűrő tulajdonságát
sem. Ha van egy kialakult modellem és kapok egy új információt, nem fogom a
modellt és az új ismeretet teljes egészében kielemezni és mindent
átalakítani, sokkal inkább azt nézem meg, hogyan illeszkedik a modellbe. Van
egy bizonyos tűréshatár is, ha túl nagy átalakítással járna egy kirívó eset
lekezelése, a modellt nem fogom megváltoztatni. Például van egy nullánál
nagyobb esély arra, hogy egy, a fejemre eső nehéz tárgy fogja okozni a
halálomat, ami kivédhető lenne bukósisak viselésével. Ha a bennem a világról
kialakult kép olyan, hogy bár léteznek benne ilyen esetek, a modellemben
azonban nem szerepel valós veszélyként, akkor nem veszek fel sisakot -
ugyanakkor egy épület bontása során lehet, hogy viselni fogom. Lesz
mellettem olyan ember is, aki nevetni fog túlzott óvatosságomon, másvalaki
egész életét bukósisakban tölti. Ha a bontás során történik hasonló baleset,
megnövekszik a sisakot viselők száma - a baleset esélye nem módosult,
viszont a modellek információszűrője igen.
A kép stabilitását növeli a hatékony szűrés, de általa
használhatatlansága is növekedhet, mert a szűrő elemzés nélkül tünteti el a
nem illeszkedő felfedezéseket ("és mégis mozog a Föld!").
Azt hiszem - remélem - ezek határozzák meg gondolkodásomat. Nem fogadok
el dogmákat és Szent Igazságokat - de nem is teremtek ilyeneket magam
számára. Amit a világról magamban kialakítottam, számomra működő és engem
működtető modellek halmaza, segítenek a tiszta szemű tanulásban. Szerintem
ez fontos: nem állítom, hogy bármiről valaha is össze fogom gyűjteni az
összes információt (bár nem zárom ki a megvilágosodás lehetőségét, sőt!), de
minél több módon vagyok képes elfogulatlanul információt szerezni a
világról, annál nagyobb esélyem van olyan szemlélet kialakítására, amit nem
fogok megbánni. Furcsa definíció a tömör JÓ fogalom helyett. Sajnos ez
utóbbit kénytelen vagyok halomra ölni, mert egy "jó" rendszer néha
tehetetlenségénél fogva indokolatlanul gátol egy még jobbat, egy "rossz"
ugyanakkor számtalan tanulsággal szolgál.
Igen, programozás szempontjából nincs jó vagy rossz megoldás. Vannak
létrejött megoldások, amelyekre szükség volt és használható tanulságokkal
szolgálnak, és vannak leendő megoldások, amelyek minél inkább ismerik -
előítélet-mentesen viszonyulnak - elődeikhez, annál nagyobb esélyük van a
hasznos működésre mindaddig, amíg egy ismét újabb fel nem váltja őket.
'>>'