- Tudja valaki, hogy mi az a láncolt lista? - kérdezte az előadó a funkcionális programozás előadáson. - Aki hallott már róla, az tegye fel a kezét!
Két-három hallgató bátortalanul jelentkezik.
- Talán az első félévben találkoztatok már vele... vagy nem? - nézett körbe az előadó. - Nem gond, akkor elmagyarázom.
Eközben az egyik diák elgondolkozott. Valóban nem tanították még a láncolt listát? Ő ugyan tudta mi az, de előadó szájából még nem biztos, hogy egyáltalán hallotta ezt a szakkifejezést.
Az előadó így folytatta:
- Ugye valószínűleg már hallottak arról (de ha nem, higgyék el), hogy a memória kis rekeszekből áll, és minden ilyen rekesznek van egy sorszáma. Fel is rajzolom a táblára. Itt a nulladik rekesz, alatta az első, aztán a második, és így tovább. Az a több gigabyte memória, amit vettek a boltban, mind megcímezhető byte-onként. Persze nyilván nem fogok annyit felrajzolni, kicsit sok lenne. Ha felrajzolnék 1024-et, még akkor is csak 1 kilobyte-nál tartanék. Na most megtehetjük azt, hogy egy rekeszben eltároljuk egy másik rekesz sorszámát. Aztán az adott sorszámú rekeszben eltárolunk valami adatot, majd utána megint egy sorszámot. - az előadó közben nyilakat rajzolt a táblára, amelyek egyik rekeszből a másikba mutattak az ábrán. - Ez így érthető? Nem??? Akkor még egyszer...
A fentebb említett diák itt már nem figyelt. Azon gondolkodott, hogy vajon tényleg lehetséges az, hogy egyáltalán egyetlen hallgató is legyen a teremben, akinek a láncolt lista meg a memóriatérkép újdonságnak minősül így a második félév közepén; vagy csak senki sem figyel az előadóra? Igen, lehetséges. Ami azt illeti, a programozás előadások keretében még csak arról sem esett szó, hogy mi az a pointer, nemhogy mi az a láncolt lista. Sőt, ha már itt tartunk, még azt sem tanították, hogy egyáltalán mi az a számítógép, de úgy igazából. Miből épül fel? Hogyan működik? Meg mi az a misztikus dolog, amit processzor néven emlegetnek, és állítólag a számítógép lelke? Mit csinál az tulajdonképpen, miért kell az annyira? Azért volt egy első féléves tárgy, "Számítógépes alapismeretek" címmel, amelynek keretében legalább felszínesen érintették a témát.
De végülis nem gond, a lényeg az, hogy a programozási tételeket legalább mindenki tudja. Akinek jobb a memóriája, az könnyebben megjegyzi őket, akinek rosszabb, az kevésbé. De tényleg muszáj kívülről fújni ezeket - nem elég, ha le vannak írva egy papírra, mert a gyakorlatok elején kérdezik őket. Az meg tök jó divat, hogy olvassunk be akár többszáz megabyte adatot is egy tömbbe, hogy aztán kiderítsük, hogy már az első négy adat között van csúcs. Mert ha van, akkor nagyon örülünk, és kilépünk a gecibe. Persze senki sem teszi fel azt a kérdést, hogy akkor egyáltalán miért olvastuk be a fájl többi részét, ha már az első négy adat is elég volt. De a lényeg, hogy így matematikailag bizonyítható a program helyessége - ha majd olyan programot írunk, amelyik csak azért nem lesz hajlandó lefutni egyetlen létező számítógépen sem, mert basztunk optimalizálni, akkor se lesz gond, majd megkérjük a mérnököket, hogy tervezzenek jobb gépet; hiszen nem a program a hibás, az tökéletes, Q.E.D.!
Az se baj, hogy senki sem tudja, hogy mit jelent az, hogy strukturált programozás, hiszen nem kell a fogalmakkal tisztában lenni. Persze azért az nyilván megbukik, aki goto utasítást használ, de nem szabad elmagyarázni neki, hogy miért. De tökmindegy. Szerencsére senki sem használ goto utasítást - már nem azért, mert tudják, hogy nem szabad; hanem mert azt sem tudják, hogy létezik egyáltalán. Jobb is így.
A hallgató sóhajt egyet. Sajnos nem először fogalmazódik meg fejében a következő kérdés:
Mi a retkes lófaszt keresek én itt?
(Megtörtént eset alapján.)
Örülök, hogy eddig nem fagyott ki a Firefox a seggem alól a 128 megás laptopon. Most így inkább nincs kedvem nekiállni idézetet keresni. Sorry.
(Én)
█
Recent patches