Tanulj programozni, hogy jobban tudj angolul!?
A programozási nyelvek parancsai az angolból jönnek, tehát lehet abban valami, hogy a programozás segít az angol elsajátításában... de mennyit?
Aki valaha belekóstolt a programozás művészetébe, bizonyára észrevette, hogy a legkülönbözőbb programnyelvekben is van valami közös: parancskészletük az angol nyelv szavaira épül. Persze vannak, akik ez ellen is tenni próbálnak valamit és vannak kivételek is... Olvasónk mindenesetre az iránt érdeklődik, hogy segíthetnek-e a programozási ismeretek az angoltanulásban.
Napjainkban, a digitális korban sokan tanulnak programozási nyelveket, amelyek jellemzően az angol nyelv lexikájából merítik a parancskészletüket (kivétel például a ??? programozási nyelv). A programozási nyelvek rendszeres alkalmazásával elméletileg kialakulthat egy úgynevezett algoritmikus gondolkodásmód.
Egy felvetődött kérdésre érdekelne egy lehetséges válasz: A programozási nyelvek rendszeres alkalmazásával kialakult algoritmikus gondolkodásmód vajon elősegíti-e az angol nyelv – szintaktikai és lexikális – elsajátítását?
Először is tisztázzuk azt, hogy mi az az algoritmikus gondolkodásmód! Egyszerűen arról van szó, hogy a feladatainkat (vagy mások, akár a számítógép feladatait) hogyan tudjuk a lehető legcélszerűbben elrendezni, azaz hogy a folyamat a lehető leggyorsabban menjen, a legkevesebb legyen a hibalehetőség, és a legmegbízhatóbb eredményt kapjuk. Természetesen az ilyen gondolkodásmódra nem csak akkor van szükségük, amikor számítógépes programot írunk, hanem akkor is, amikor süteményt sütünk, takarítunk vagy amikor a szupermarketben a lehető leggyorsabban szeretnénk elintézni a bevásárlást. (Csupa olyan dolog, amiben a sztereotípiák szerint a lányok jobbak.) Ha vannak kiváló programozó ismerőseink, akkor talán észrevehettük, hogy ők ezekben a feladatokban nem feltétlenül a leghatékonyabbak. Ez nem csoda, hiszen amikor programozni tanulunk, akkor bizonyos feladatok elvégzésére alkalmas algoritmikus gondolkodást tanulunk meg, nem pedig általában az algoritmikus gondolkodást.
Az is világos, hogy a nyelveknek nincs sok közük az algoritmikus gondolkodáshoz. Maga a nyelvtan tele van kivételekkel, szabálytalanságokkal, esetlegességekkel, a nyelvhasználat során pedig inkább akkor tűnik jónak a nyelvtudásunk, ha nem célratörően, takarékosan fogalmazunk, hanem fecsegünk. Az algoritmikus gondolkodás tehát aligha segíti a nyelvtanulást.
Olvasón konkrétan rákérdez arra, hogy az angol szintaxis (azaz mondattan) illetve lexikon (azaz szókincs) elsajátítását segítheti-e a programozás. Sajnos ebben sem biztathatjuk sok jóval.
A programozási nyelvek esetében is szokás szintaxisról beszélni: ez azt mondja meg, hogy hogyan kell a sort kezdeni és lezárni, mikor és milyen zárójelbe kell rakni a parancsok paramétereit; vesszővel, pontosvesszővel, kettősponttal, netán egyszerűen szóközzel kell-e elválasztani őket; hogyan jelöljük, hogy egy-egy elem szövegként (stringként) vagy változónévként értelmezendő-e; hova kell és hova tilos szóközt rakni stb. Látható, hogy ez a tudás nem sokban segít a helyes angol mondatok alkotásában.
Nincs nagyobb szerencsénk a szókinccsel sem. Egy programozási nyelv legfeljebb 100-200 parancsot ha tartalmaz, ráadásul ezek egy része is rövidítés, szóösszevonás, nem valódi angol nyelvű szó. Ha egy szó parancs neve össze is kapcsolható valamelyik létező angol szóval, annak is leginkább csak egyik jelentésével – az emberi nyelvekre viszont éppen az a jellemző, hogy a szavaknak több jelentésük is van. Ezzel kapcsolatban megemlíthetjük, hogy az angol nyelvű parancsokat félre is lehet érteni. Ennek tipikus esete a magyarban a save félreértelmezése:ennek megfelelőjeként a magyarban a terjedt el, bizonyára nem függetlenül attól, hogy a programokat és az adatokat azért is rendszeresen el kell menteni, mert a gép lefagyásakor elvesznek. Valójában a parancs az ige egy másik, ’félretesz, elrak’ jelentésén alapul (de van ’óv, véd’ jelentése is).
Vigasztalásul megemlíthetjük, hogy a nyelvészet tanulása sem sokban segíti a nyelvtudás fejlesztését. Persze abban segíthet, hogy megértsük a nyelvtani szabályokat, de a gyakorlati alkalmazásukban már csak annyira, amennyire a statikaszigorlat a kerékpározásban vagy korcsolyázásban. Ennyit persze segíthet a programnyelvek ismerete az angoltanulásban: előfordulhat, hogy egy-egy szót éppen a programnyelvnek köszönhetően ismerünk meg.
Ami valóban mindenképp segít, az az idegen nyelvű szakirodalom rendszeres tanulmányozása, legyen szó programozásról, nyelvtudományról vagy akármi másról. Igaz, ez is csak passzív, olvasási készségünket fejleszti igazán, ahhoz, hogy hallott szöveget is jól értsünk, sok szöveget kell hallgatnunk, a szövegalkotási képességünk fejlesztésének pedig egyetlen hatékony módja, ha sokat írunk és beszélünk.
Ha valaki még emlékszik rá, a COBOL volt az a nyelv, amelyet kifejezetten azzal a végcéllal kezdtek el fejleszteni, hogy minél inkább hasonlítson a beszélt amerikaihoz. Ennélfogva aztán ilyeneket lehetett írni benne:
ADD A TO B GIVING C
Ezt a kevésbé fejlett programnyelvek ilyesféleképpen valósították meg:
C = A+B;
Meg lehet figyelni, hogy csupa jelen idejű felszólító módú ige szerepel a programokban. Az élő nyelvre talán legjobban az "if ... then ... else ..." szerkezet emlékeztet.
A szükséges jegyzetek nagyrészt angolok. A programozással foglalkozó fórumok, ahol valószínűleg már megtalálták a megoldást a problémádra, angolok. Ha van egy alap nyelvtudásod, akkor az fejlődni fog, mert használod. Különösen, ha mégiscsak adódik egy új probléma, amire nem találod a választ.