Programozas tanulasnal nagyon fontos a jo kornyezet kivalasztasa. En pl. anno kb. 8 evesen egyszerre tanultam az angolt es a programozast, mindezt egyedul, magyar nyelvu konyvekbol. (olvasni ugyebar mar tudtam, a szukseges alap matek meg ment) De nem windows alatt probalkoztam, hanem egy commodore 64-en es eloszor basic-ben.
Milyen egy jo kezdo nyelv? Viszonylag egyszeru. Milyen egy jo kezdo kornyezet? Viszonylag egyszeru.
A ket fenti feltetelnek mapansag pl. egy arduino felel meg leginkabb. Egyszeruen hasznalhato programnyelv (alapvetoen c akar lenni) es egyszeru hardver es szoftver kornyezet (arduino szoftver, atmel 8 bites mikrovezerlo). Az elso mellekelt peldak onnan indulnak, hogy hogyan villogtassunk egy ledet, ismerjunk fel egy lenyomott gombot vagy irjunk ki egy mondatot a soros konzolra. Az egesz alapvetoen gyerekeknek keszult, oktatasi celbol.
Hasonloan egyszeru programnyelv linux es windows alatt egyarant a python. A kod formazasa nagyon mas filozofia mint c eseten, de eleg egyszeru egy kezdo programozonak es az alap funkciok eleg konnyen elerhetoek. Ennek ellenere nagyon sok MI kutatas hasznalja, tehat a felhasznalas felso vege eleg magasan van.
Igazabol mindkettohoz csak az alap aritmetikat (osszeadas, kivonas, szorzas, osztas, maradek), logikat (es, vagy, nem), tovabba a relaciokat (kisebb, nagyobb, egyenlo, stb.) kell ismerni, ami elso ket eves altalanos iskolai osztalyos anyag volt anno. Ezek melle jon a felteteles vegrehajtas, azaz az a 'ha' es az erre epulo ismetlo ciklusok, amiket regen a 'mit csinal ez a gep' tipusu feladatokon keresztul tanitottak (lasd: bedobjuk ezt folul, mi jon ki alul). Ha valaki idaig eljutott, spagetti kodot mar tud irni. Kevesbe spagetti kodhoz kellenek a fuggvenyek is, ez meg ha jol nezem mindig masodikos tananyag es mar a strukturalt programozasnal jarunk. Egy 4. osztalyt befejezett tanulo kb. tud minden elmeletet alapszinten ami egy egyszeru program megirasahoz szukseges.
Amiert az alapszintu programozas bonyolultnak tunik, az az, hogy bonyolult kornyezetek vannak, ahol egy hello vilag megirasa is tobb szaz sornyi kodot es mindenfele kattingatast igenyel. Idealis esetben pedig az elinditom, beirok egy sort a szerkesztobe es kesz is van a hello world program tipusu kornyezetek a jok kezdok szamara.
A programozas elmelete is egyfajta nyelv, csak eppen a matematikai logika nyelve. Ez nem fugg az aktualis programnyelvtol, hanem egy altalanos, matematikai es logikai szimbolumokra epulo nyelv, amit ha ismer valaki, akkor az adott programnyelven valo megtanulas mar nagyjabol csak azt jelenti, hogy megnezi hogyan is hivjak aznap eppen a print parancsot. meg az ertekadast. A szukseges matematikai alap mar az okori gorogok idejen is iskolai anyag volt. Persze kesobb egyre bonyolultabb programokhoz, egyre bonyolultabb matematikai tudasra van szukseg, egeszen az egyetemi matek es algoritmuselmelet szintjeig (ami tovabbra is csak a matematika egyik aga). De alapvetoen nem akar az ember elso nekifutasra egy quake-et vagy egy windows-t irni.
ps: A cikkben emlitett swift az elso ranezesre a c, az objective c, a python es a java keverekenek tunik. Biztos hasznalhato, de egyetlen gyarto termeke es nem annyira regi es elterjedt mint mas, nyiltabb nyelvek. (bar egy ideje ez is open source lett)