Gyakran Ismételt Kérdések XV.

Programozás és a Pénzes-féle Gitáriskola kapcsolata

 

Meglehetősen nehéz erről a témáról beszélni azoknak, akiknek nincsenek programozási ismereteik. Hogy mégis vállalkozom erre, az csakis azért van, mert az alapelveket megértve valós és "virtuális" tanítványaim könnyebben, sőt már más, szerintem lényeges nézőpontból vizsgálhatják a megtanulandó anyagot.

 

A programozás manapság igen leegyszerűsödött tevékenységgé vált. A processzort szinte közvetlenül működtető utasításkészlet programozása (Assembly) még mindig nagyon nehéz, mert rendkívül részletes és aprólékos munkát igényel. Ezt nevezzük alacsony szintű programozásnak. Igen hamar felvetődött azonban az a gondolat, hogy ezeket a nehézkes és aprólékos lépeseket próbáljuk meg nagyobb, szinte gondolatközpontú lépésekké átalakítani. Tehát, ha például valamit törölni akarunk, akkor ehhez ne 200 Assembly-lépést kelljen beprogramozni, hanem 1 vagy 2 nagyot, mondjuk delete (file). Így születtek meg a magas szintű programozási nyelvek, például a C és a Pascal.

Ám itt még korántsem szakadt a "gondolatközpontúság" iránti igény. Mi volna, ha ezekből a magasabb programozási elemekből olyan, még nagyobb egységeket, úgynevezett objektumokat barkácsolnánk, amelyek összetettebb, szinte már önálló működésre is képesek? Például: alkossunk egy olyan objektumot, amely file-okat keres x,y,z helyen és az eredményről tájékoztat is! Ilyen megoldás lehet: search (x,y,z, filetípus). Kimeneti paramétere pedig igen vagy nem. Igen, ha talált file-t, nem, ha nem talált. Látható, ekkor már nem tettünk többet, mint az objektum bemeneti és kimeneti paramétereit programoztuk le. Ezt nevezzünk objektumorientált programozásnak. Ez voltaképpen a legmagasabb szintű (és elég jól megfizetett) LEGO. Az alapsablonok adottak, az objektumok belső szerkezetei szabványosan leprogramozottak (és nem változtathatók vagy ha igen, akkor azt valójában nem érdemes megtennünk), nekünk programozóknak más dolgunk sincs, mint ezeket az objektumokat szándékunknak megfelelően, LEGO-szerűen összeilleszteni, úgymond műveltetni, amely azonban a könnyítések ellenére sem egyszerű dolog.

A legmagasabb szintű LEGO

Gitáriskolám ugyanilyen előregyártott technikai sablonokat tartalmaz, voltaképpen egy objektumorientált zenei fejlesztési környezet. Felismerhetőek benne a különálló, mégis zeneelméletileg tökéletesen összetartozó-összeilleszthető objektumok:

A tanítvány feladata ezen különálló objektumok "egyetlen zenévé" való összeillesztése, azaz programozási szempontból az alkalmazás megírása. Látható, hogy az objektumok önmagukban is működőképesek: egy egyhúros E-moll skála-roaming (kóborlás, egyfajta skálavariáció) nagyon jól szól önmagában (sokszor ezzel kápráztatom el a kezdőket), de általában egy improvizáción belül önmagában nem elég. Másik evidencia, hogy ezzel a tanulási-tanítási módszerrel sem lesz gyorsabb a gitártanulás, de az alapelvek megértése és következetes technikai követése után könnyebb és jóval rendezettebb, valamint nem fognak maradni a tanítvány fejében érthetetlen fogalmak.

 

Ebben az összefüggésben a személyes tanulás (és oktatás) a következő egyirányú folyamat szerint bonyolódhat le:

  1. A zenei objektumok technikai elsajátítása külön-külön,

  2. az objektumok közötti kapcsolat tisztázása (zeneelmélet),

  3. az objektumok fokozatos, egyre bonyolultabb összekapcsolása szólóval, dallal, versenyművel, improvizációval és egyéb zenével.