A kód-forradalom hajnalán

Vezércikk - 2014. szeptember 21.

Írta: Nádori Gergely

Jack the programmerItt a TanárBlogon időről időre ajánlunk olyan oldalakat, olyan alkalmazásokat, amik a programozás alapjait segítenek elsajátítatni mindenkinek. Ezek kapcsán többnyire elindul egy vita arról, hogy kell-e egyáltalán ezt tanítanunk vagy nem. Az egyik álláspont szerint a kódolás csak az emelt szintű informatika része, sokkal fontosabb lenne, hogy a diákok rendelkezzenek stabil felhasználói ismeretekkel, ismerjék az internet veszélyeit, legyenek képesek felelősen közlekedni a kibertérben és készítsenek szép PowerPointokat. A másik vélemény szerint senkinek nem lenne szabad elvégeznie az iskoláit úgy, hogy nem ismerkedett meg a programozás alapjaival, nem tudja, mi az a kódolás és milyen alapelvek mentén működik. Ehhez a vitához szeretném hozzátenni a magam meglátásait.

Nagyon sok olyan szervezet van, ami a programozás tanítására noszogatja a tanárokat és a tanulásra a diákokat, a különféle robot versenyektől a játékos programozást lehetővé tevő oldalakig. Az USA, az EU komoly erőfeszítéseket tesz, hogy minél többen vágjanak bele. Ezt komoly gazdasági, versenyképességi szempontnak is tartják. A modern gazdaság egyre jobban támaszkodik az informatikára és folyamatos az igény az ehhez értő szakemberekre. Ha Kínában, Indiában több és jobb programozó lesz, a gazdaságaik elhúzhatnak mellettünk. Miközben a fejlett világ egyik fő problémája a munkanélküliség, az informatikai területeken hatalmas a munkaerőhiány.

De nem gondolom, hogy a közgazdasági érvek és szempontok lennének a legfontosabbak és a legerősebbek, szerintem másról is szó van, egy egészen különös folyamat részesei lehetünk ugyanis. A technika fejlődése a tartalom, az információ demokratizálódását is magával hozza. Kezdődött talán az írógéppel és a fénymásolóval, majd folytatódott a videokamerákkal. Egyre könnyebb és könnyebb lett tartalmat készíteni, előállítani. Amint megjelentek az elérhető árú (aztán hamarosan ingyenes) kiadványszerkesztő és filmvágó programok a dolog újabb lendületet kapott. Ezt követte a webkettő megjelenése, innentől fogva nem csak lett borzasztóan egyszerű, hogy valaki tartalmat készítsen, hanem az is, hogy eljutassa másokhoz. Bárki indíthat blogot és azt potenciálisan százezrek olvashatják, megszűnt a kiadó szerepe ebből a szempontból, demokratikusabb lett a szövegkészítés. Még látványosabb a YouTube hatása, segítségével bárki kommunikálhat mozgóképben. Ugyanez a folyamat lejátszódott a zenével, nemcsak, hogy bárki felvehet, megvághat vagy éppenséggel készíthet otthon zenét, azt könnyedén meg is oszthatja például a Soundcloudon keresztül.

Ezek a változások gyorsak és látványosak. Megszülettek az új helyzethez illeszkedő műfajok és stílusok (a blogposzt, a videoblog például). Tapasztalom, hogy saját diákjaim számára a film éppen annyira anyanyelv, mint az írott szöveg. Ha valamire kíváncsiak, gyakran a YouTube-on kezdik a keresést.

Gondolkodtam azon, hogy a szöveg és a film (és a zene) után mi lehet a következő olyan dolog, aminek a készítése és megosztása hasonlóan demokratizálódhat és válhat az új generációk anyanyelvévé. Azt gondolom, a programozás lesz az. Egyre több az olyan programnyelv, amiben könnyedén például modulokból lehet összerakni programokat, egyre kevésbé van szükség matematikai ismeretekre a kódoláshoz és az intelligens programnyelveknek köszönhetően már nem kell azon aggódni, hogy egy lemaradt pontosvessző miatt nem működik a programunk. A Wolfram language például azt ígéri, hogy teljesen intuitívvá teszi a programozást, a nehézkes sallangok nélkül. Az új technika azt is lehetővé teszi, hogy ne teljes programokat, csak kis részleteket írjunk meg.

A minap remek példát is találtam arra, hogy miként használhatja az ember (a kezdetleges) programozási tudását. Egy másik blogra írtam egy cikket és eszembe jutott, hogy milyen jó lenne benne egy interaktív, véletlenszerű szöveget generáló rész. Fél órába került megírnom javascriptben, úgy, hogy korábban azt a programozási nyelvet nem ismertem. Középiskolás koromban tanultam programozni (emlékszik még valaki a HT 1080Z-re?) egy kicsit, aztán később a Flash programozgatásával is foglalkoztam valamennyit, de rendes programozónak nem lehetne nevezni. Mégis elég volt ennyi ahhoz, hogy megcsináljam, amit szeretnék. Ha nekem ennyi elég volt, vajon mi mindenre lehetnek majd képesek azok a gyerekek, akik már igazán korán tanulják a kódolást?

Amikor a nyolcvanas évek közepén megjelentek az első otthoni számítógépek nagyon sokan írtak maguknak programokat. A mi iskolánkban nem volt ritka, hogy a szünetben a beszélgetések gépi kód utasításokról folyjanak és természetesen kibékíthetetlen ellentét volt a spectrumosok és a commodore-osok között. Aztán ahogy bonyolultabbak lettek a gépek, megjelent a PC egyre kevésbé volt lehetséges, hogy valaki gyerekként programokat írjon, komolyan foglalkozzon ilyesmivel. Az újabb generációk inkább csak fogyasztói voltak a számítástechnikának, most viszont újra lehetőségük van alkotókként bekapcsolódni.

Nem az a kérdés tehát szerintem, hogy kell-e kódolást tanítani, hanem az, hogy miért nem tanítjuk már akár az óvodában. Például társasjátékokkal, mint amilyen a Robot teknősök. Mert a forradalom itt van a nyakunkon, nem kellene lemaradni róla.