Kafetanje je lahko odlična priložnost za pripravo švasarij, recimo te, ki sledi. 🙂
Najprej terminologija, ki jo bom uporabljala. Programerji, pozor, ni čista preslikava iz programiranja, zato se ne razburjajte, ja? 😛
Pri programiranju življenja se uporablja naslednje:
- Razred – predpis, kakšen naj bo objekt; npr. predpis, da ljudje (načeloma) nimamo repa, da imamo glavo (ni nujno) …
- Objekt – oseba, katere življenje se programira; sam objekt je lahko spremenljivka, vendar je vsak objekt tudi določen s spremenljivkami
- Spremenljivka – predalček, v katerega se shranjujejo lastnosti objekta; iz “predalčkov” verjetno izhaja tudi priljubljena fraza “ti pa nimaš vsega pospravljenega“
- Kontekst – okolje, v katerem se objekt nahaja; nanaša se tako na fizično okolico kot na vremenske vplive in valovne dolžine, ki jih oddajajo drugih objektov (od tod tudi “dragi Ata Smrk, midva trenutno nisva na isti valovni dolžini“)
- Metoda – evolucijski, psihološki, vzgojni, strateški ali drugi manipulativni prijem ali poseg 😀
- Zaporedje – zaporedje ukazov, ki se izvedejo eden za drugim; npr. najprej štalca, pol pa kravca.
- Vejitev – točka v programu, kjer potek programa sledi eno izmed vej v vejitvi – glede na pogoj; npr. če(pejneze > 150 000 EUR) potem kupi_bajto sicer najemi_stanovanje.
- Zanka – del programa, ki se izvaja tako dolgo, dokler ni izpolnjen nek pogoj, npr. hodi v službo dokler (starost < predpisana starost za penzijo) ali dokler (pejneze > nič) zapravljaj.
- != pomeni “ni enako”
- == pomeni “je enako”
- ; predstavlja poklicno (jezikovno) deformacijo 😀
- // predstavlja komentarje
Običajno imamo v nekem danem kontekstu več objektov določenega razreda, ki so določeni s spremenljivkami. Denimo, da imamo razrede A, B in C.
Objekt a razreda A je recimo muhast, zato vsakič, ko se spremeni vreme, spremeni svoje razpoloženje. Objekt b razreda B je vedno tečen, ne glede na letni čas, uro, družbo, lokacijo ali zvezdno konstalacijo. Objekt c razreda C je vedno dobre volje, vedno na hece, tudi takrat, ko je najmanj treba. Res vedno.
Za objekt a bi lahko rekli, da je močno kontekstno odvisen, objekt b in objekt c sta kontekstno popolnoma neodvisna.
Ker je Mati Narava dobra programerka, je ugotovila, da s takim naborom razredov ne bo prišla nikamor. Uvedla je posebno spremenljivko, ki lahko ima vrednost vtič ali vtičnica. Seveda se da za spremembo vrednosti te spremenljivke uporabiti posebno metodo, ki sicer (še) ni hudo pogosta, obstaja pa. Opisana spremenljivka absolutno vpliva na vrednosti ostalih spremenljivk v objektu, to je jasno in dokazano. Preko spremenljivke vtič/vtičnica lahko že razredi (in posledično tudi objekti) med seboj “komunicirajo”, se združujejo in ustvarjajo nove objekte. Dobimo lahko razrede AA, AB, AC, BB, BC in CC (prištejte še permutacije).
Nekateri objekti kontekstno neodvisnih razredov imajo namesto določenih spremenljivk kar konstante vrednosti oz. krajše – konstantne. Spremenljivke, ki so zelo dovzetne za limitiranje h konstantnim vrednostim, so: stopnja neumnosti, stopnja nevrotičnosti ali histerije, egoizem itd.
Pri nekaterih objektih je z določenim naborom metod možno lepo nastavljati vrednosti spremenljivk. Nekatere izmed metod so časovno odvisne — prej ko jih pričnemo izvajati, večji in dolgotrajneši učinek imajo (npr. vzgojne metode, strateške metode). Nekatere izmed njih je potrebno izvajati v zanki, spet druge izvedemo samo enkrat in je mir. Npr. rojevanje_objekta (koga) se zgodi samo enkrat, med tem ko je treba kreganje_na (koga) ponavljati večkrat. Obstajajo tudi izjeme, se razume, kjer je treba določeno metodo, ki bi jo sicer lahko izvedli samo enkrat, ponavljati večkrat. Ena izmed takšnih metod je (od)šraufanje_glave (komu).
Primer programa:
Objekt ab je razreda AB; //tečen kot driska večino časa in še bolj tečen, ko je slabo vreme
Objekt ac je razreda AC; //delno odvisen od lepega vremena, večino časa pa dobre volje
ab.jeBedak = 100%; //nastavljanje lastnosti
//objekt ab se odloči izvajati sračkalno metodo v zanki – program izstopi iz zanke, ko ac popizdi
dokler (ac.dobi_popizditis() != “ja!!!!”)
ab.seri_po_glavi (ac); //psihološka, včasih še strateška metoda sračkanja po glavi
//če je objekt ac vsaj malo agresiven, se bo odločil ab-ju šraufati glavo, dokler ne bo pomirjen
//primer vejitve, znotraj katere je zanka
če (ac.je_malo_agresiven() == “res je”) potem
dokler (bc.vrni_stopnjo_pomirjenosti() != “zen”)
bc.šraufaj_glavo(ab);
Zdaj ste verjetno že ugotovili, da znate programirat 😆