HTML

Búbosvöcsök

Friss topikok

Linkblog

2007.10.06. 02:10 herczog

Az adatorientált szemléletmód III. A moderátor

Adam Nemeth's Blog

avagy a válasz arra, miért is informatika, és mit csinál ez.

A most következő írássorozat inkább féllaikusoknak, és talán kevésbé a professzionális .NET C#, Java Enterprise, Xquery meg hasonló technológiákkal foglalkozóknak szól, de átfutásra érdemes. Tulajdonképpen bevezetőként szolgál a szemantikus web, mikroformátumok, mashupolhatóság, és egyéb informatikai témáknak, nehéz lenne enélkül megérteni a gyors alkalmazásfejlesztés és a szemantikus információkezelés lényegét.

Az előző részekben az adatorientált rendszerek megfeleltetésével foglalkoztunk a tipikus mindennapi feladatokhoz. A most következő írás az algoritmusokat fogja boncolgatni, hiszen számítógépes program - egyelőre - nehezen képzelhető el nélkülük.
Hol a számítógép?

Kevesen tudják, de a BME-n - nem alaptalanul - úgy tanítják a programtervezést, hogy minden programnak valószínűleg kell lennie egy papíralapú (űrlapalapú) modelljének, különben valamit lehet, hogy elrontottunk. Értelemszerűen a BME-n kevésbé a játékfejlesztőket képzik, inkább az üzleti élet számára nevelnek informatikusokat. Felmerülhet a kérdés:

A számítógépnek tényleg csak az a feladata, hogy az információkat lehessen tárolni, azokon navigálni?

A válasz pedig egyértelműen nem - a számítógépnek ugyanis van legtöbbször egy moderátori szerepe.

Vegyünk egy példát: középiskolában egy informatika előadáson a gyerekekkel elővetetünk egy-egy A5-ös papírlapot, és wikipédiásat játszunk!

A wikipédiás játék szabályai nagyon egyszerűek: minden papírlapra ráírunk egy témát - ezek lesznek a szócikkek - majd mindenki azt ír hozzá, ill. húz ki belőle, amit akar, és minden lap mindenkinél legalább egyszer megfordul. Ha jó szócikkeket választottunk ki, lesznek benne tévedések, esetleg áthúzott, valós állítások.

Kérdés: ki követte el ezeket a hibákat?

Utólag persze valószínűleg kideríthetetlen. A hibás állapotot mégcsak vissza se tudjuk hozni, hiszen - most tegyük fel, a gyerekek írását nem felismerve - meg se tudjuk állapítani, melyik változást követte el két különböző személy, és milyen sorrendben. Ezek mellett a feltételek mellett a wikipédia élvezhetetlen lenne!

Vegyünk egy másik példát, az iwiwet. Használhatjuk a házasságkötést példaként: ha két ember odamegy az anyakönyvvezetőhöz, és kijelentik, ők házasok akarnak lenni, beírja őket. Ha válni akarnak, elég, ha az egyik megy oda (tegyük félre, hogy a válóperes ügyvéd, és az anyakönyvvezető nem ugyanaz! Nem arra kell a bíróság, hogy azt mondja, nem válhattok külön, hanem hogy kinek mennyi jussa van a közösből.), és az anyakönyvvezető kitörli őket.

Namost, ha létrehozunk egy “barátságfüzetet”, akkor hogy tudjuk azt modellezni, hogy senki ne barátkozhasson a másik tudta nélkül? Hogy ne húzhassa őket ki más a listáról, vagy ne írhassa be, hogy “Joci és Ildi szerelmesek”, Joci és Ildi tudta és beleegyezése nélkül? Világos, kell mellé egy anyakönyvvezető, aki felügyeli, hogy ki, mit csinálhat a füzettel, azaz hogy játsszunk a szabályok szerint.

A legtöbb játék tartalmaz egy ilyen szereplőt, mégha egy papírlap formájában is, különben a játék gyakran vitába fullad: kinek van igaza? Ki tehet meg és mit? Akármennyire hihetetlen, de egy World Of Warcraft szervernek pontosan ennyi a szerepe. Néha ugyan játssza a közvetítő szerepét is, hogy ne láthassuk az összes ellenségünket 200 méteres távolságból is, de ez is csupán a játékszabályok betartására szolgál.

A számítógép pedig könyörtelen moderátor. Nem lehet megkenni, nem fog anélkül a másik javára dönteni, hogy ez az általa ismert szabályokkal ne lenne összhangban (ami, ha pl. a másik írta a programot - például egy szerencsejátékautomata mindig ilyen - nem feltétlenül részlehajlásmentes!). Néha túl lehet ugyan járni az eszén, ehhez kell annak a felelőssége is, aki megalkotta a programját, aki beleírta a játékszabályokat, és azok ellenőrzését. Egy számítógép számára valamilyen játékszabály mindig van, de az nem feltétlenül fedi a hivatalosakat, és nem ritkán a hivatalos játékszabály is lehet ellentmondásos, felületes.

Hasonlóan az iwiw, a wikipédia is tartalmazza ezeket, vagy ehhez hasonló játékszabályokat. Belül persze továbbra is listák manipulálása zajlik, de csak olyan változást engednek meg, ami illik az adott világ - kapcsolatépítő program, wikioldal - játékszabályaihoz.

Fontos megjegyezni, hogy a jelen pillanatban használt klasszikus objektum-orientált felfogásban az algoritmusok azonos fontossági szinten vannak az adatstruktúrákkal (bár az adatstruktúrák végsősoron tartalmazzák az algoritmusokat). Ebből a szempontból, egyrészt egyszerüsítve azt mondhatjuk, minden algoritmus vagy olvassa az adatokat, vagy megváltoztatja azokat (ha előállít, azt egy ideiglenes írás- olvasás, majd törlés műveletként fogjuk fel), másrészt viszont ha megnézzük a Java Enterprise (RUP analízis osztályok) aktuális modelljét, azt láthatjuk, az elképzelések erősen elütnek az általában ismert objektum-orientált programozástól, és sokkal adatközelibb annál.

Itt tartunk most.

Vannak informatikusaink, akik azzal foglalkoznak, hogy az információkat megfelelő formában kezeljük, programozók, akik gondoskodnak arról, hogy a megfelelő játékszabályokat tartsuk be. Mi hiányzik még? Nagyon sok minden. Nem beszéltem a dizájnerről, akinek az a feladata, hogy az információk olyan formában jelenjenek meg, hogy mi, emberek tudjunk velük mit kezdeni, és nem beszéltem azokról a dolgokról, amik arról szólnak, hogy ezeket az információkat az információs terek között hogy tudjuk valahogy összekapcsolni. A továbbiakban ezekről is lesz talán szó.

Szólj hozzá!


A bejegyzés trackback címe:

https://bubosvocsok.blog.hu/api/trackback/id/tr68187779

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása