PROGRAMOZÁS
Üdv Mindenkinek! Szeretném ezzel a kis honlappal a programozást népszerűsíteni magyar nyelven, hogy minél több lelkes informatikai affinitású kreatív honfitársamnak segíthessek. Fontosnak tartom, hogy magyarul több infó legyen a programozásról, hiszen hiába a világháló, angolul sokan nem, vagy nagyon kicsit beszélnek, ezért az ilyen önképzés nekik nagy nehézségekbe ütközik.
A számítógép és az internet terjedése révén sok-sok magyar családban elérhető egy gép, amin egy alkotni vágyó ember nyílt forrású és ingyenes programfejlesztési eszközökkel szoftvereket készíthet. Ilyen a Python, PHP, Ruby, Perl, Java, C++ és még sorolhatnám. Ezekről bővebben itt.
A számítógép és az internet terjedése révén sok-sok magyar családban elérhető egy gép, amin egy alkotni vágyó ember nyílt forrású és ingyenes programfejlesztési eszközökkel szoftvereket készíthet. Ilyen a Python, PHP, Ruby, Perl, Java, C++ és még sorolhatnám. Ezekről bővebben itt.
A három fő irány:
Általános célú, magas szintű nyelvek:
Az általános célú programozási nyelvek családjába tartozó nyelvek széleskörűen alkalmazhatók a gazdasági számításoktól a rendszerprogramozási fejlesztésekig, széles a lehetőségek skálája.
Objektum-orientált programozási nyelvek:
Az utóbbi években kezdett széleskörűen elterjedni egy új szemléletű programozási technika, az objektum-orientált programozás, amely az elődeinél egyszerűbbé, hatékonyabbá, biztonságosabbá teszi a programkészítési munkát. Az objektum-orientált programozási nyelvek absztrakt adattípusokkal és a hozzájuk tartozó előre definiált algoritmusokkal segítik a programozó munkáját.
Objektum-orientált programozás: Az objektum-orientált programozás lényege, hogy a programozás során felhasznált elemeket a nyelv előre definiálja, és különböző tulajdonságokkal ruházza fel. Amikor a programozó használni szeretné az egyik elemet, csak a tulajdonságait kell egyéni ízlése meghatározni.
Ez a programozási technika sokkal közelebb áll az emberi gondolkodáshoz, mint a procedurális programozás.
Ezek a nyelvek alkalmazzák a strukturált programozás módszereit. A programok szerkezete sokkal tisztább, egyszerűbben kezelhető, mint a korábbi generációknál. Bevezetik a típus fogalmát, amellyel lehetőséget kaptunk új eddig nem használt adattípusok létrehozására
Az objektum-orientált programozás elterjedésével sok új nyelv jött létre, amelyek tiszta objektum-orientált nyelvek, más technikát egyáltalán nem támogatnak. Sok nyelvet kibővítettek az objektum-orientált technika alkalmazásának lehetőségével, ezek az ún. vegyes nyelvek.
Specializált programozási nyelvek:
Ma már a számítógépet a tudományos és kutatómunka igen sok területén is felhasználják. Ezek a területek olyan speciális igényeket támasztanak a számítógépekkel szemben, amelyek megoldásához hasonlóan speciális eszközökre van szükség. A problémák támogatása érdekében fejlesztették ki a specializált programozási nyelveket, amelyek sokszor csak igen szűk problémacsoportok megoldására alkalmasak. Ez mégsem említhető hátrányként, hiszen éppen ezért alkották őket: egy-egy probléma megoldásához hatékony segítséget biztosítanak
Az általános célú programozási nyelvek családjába tartozó nyelvek széleskörűen alkalmazhatók a gazdasági számításoktól a rendszerprogramozási fejlesztésekig, széles a lehetőségek skálája.
Objektum-orientált programozási nyelvek:
Az utóbbi években kezdett széleskörűen elterjedni egy új szemléletű programozási technika, az objektum-orientált programozás, amely az elődeinél egyszerűbbé, hatékonyabbá, biztonságosabbá teszi a programkészítési munkát. Az objektum-orientált programozási nyelvek absztrakt adattípusokkal és a hozzájuk tartozó előre definiált algoritmusokkal segítik a programozó munkáját.
Objektum-orientált programozás: Az objektum-orientált programozás lényege, hogy a programozás során felhasznált elemeket a nyelv előre definiálja, és különböző tulajdonságokkal ruházza fel. Amikor a programozó használni szeretné az egyik elemet, csak a tulajdonságait kell egyéni ízlése meghatározni.
Ez a programozási technika sokkal közelebb áll az emberi gondolkodáshoz, mint a procedurális programozás.
Ezek a nyelvek alkalmazzák a strukturált programozás módszereit. A programok szerkezete sokkal tisztább, egyszerűbben kezelhető, mint a korábbi generációknál. Bevezetik a típus fogalmát, amellyel lehetőséget kaptunk új eddig nem használt adattípusok létrehozására
Az objektum-orientált programozás elterjedésével sok új nyelv jött létre, amelyek tiszta objektum-orientált nyelvek, más technikát egyáltalán nem támogatnak. Sok nyelvet kibővítettek az objektum-orientált technika alkalmazásának lehetőségével, ezek az ún. vegyes nyelvek.
Specializált programozási nyelvek:
Ma már a számítógépet a tudományos és kutatómunka igen sok területén is felhasználják. Ezek a területek olyan speciális igényeket támasztanak a számítógépekkel szemben, amelyek megoldásához hasonlóan speciális eszközökre van szükség. A problémák támogatása érdekében fejlesztették ki a specializált programozási nyelveket, amelyek sokszor csak igen szűk problémacsoportok megoldására alkalmasak. Ez mégsem említhető hátrányként, hiszen éppen ezért alkották őket: egy-egy probléma megoldásához hatékony segítséget biztosítanak
Programozási nyelvek típusai
Gépi kód:
A gépi kód valójában nem nyelv, mivel az a gép számára közvetlenül értelmezhető adatsort jelenti. A gépi kódhoz legközelebb álló nyelv az Assembly nyelv. Ha egy assembly nyelv, és az általa előállított gépi kód között egy-az-egy megfeleltetés van, akkor mondhatjuk, hogy az adott nyelv gépikód szintű.
Fordított nyelvek:
A compiler (fordító) gépi kódú programot állít elő, így azt az operációs rendszer már közvetlenül képes futtatni. DOS/Windows architektúrákon az ilyen programok indítása egy COM (command - parancs) vagy EXE (executable – végrehajtható) kiterjesztésű fájl betöltésével kezdődik.
Interpretált nyelvek:
Az interpreter (értelmező) viszont nem állít elő gépi kódot, a beírt kód végrehajtása lényegében a kód soronkénti értelmezésével történik. Ebben az esetben a kód futtatásához tehát egy külön futtató környezet szükséges, ami gyakran azonos a fejlesztői környezettel. Egyes interpretált nyelveknél (pl. Perl, Python) a fordító először egy átmeneti, a forrásszövegnél hatékonyabb kódot állít elő, ami a soronkénti értelmezéshez képest hatékonyabb szintaktikai ellenőrzést, kisebb kódméretet és a „hagyományos” interpretált nyelvekhez képest némi sebességnövekedést eredményez.
A gépi kód valójában nem nyelv, mivel az a gép számára közvetlenül értelmezhető adatsort jelenti. A gépi kódhoz legközelebb álló nyelv az Assembly nyelv. Ha egy assembly nyelv, és az általa előállított gépi kód között egy-az-egy megfeleltetés van, akkor mondhatjuk, hogy az adott nyelv gépikód szintű.
Fordított nyelvek:
A compiler (fordító) gépi kódú programot állít elő, így azt az operációs rendszer már közvetlenül képes futtatni. DOS/Windows architektúrákon az ilyen programok indítása egy COM (command - parancs) vagy EXE (executable – végrehajtható) kiterjesztésű fájl betöltésével kezdődik.
Interpretált nyelvek:
Az interpreter (értelmező) viszont nem állít elő gépi kódot, a beírt kód végrehajtása lényegében a kód soronkénti értelmezésével történik. Ebben az esetben a kód futtatásához tehát egy külön futtató környezet szükséges, ami gyakran azonos a fejlesztői környezettel. Egyes interpretált nyelveknél (pl. Perl, Python) a fordító először egy átmeneti, a forrásszövegnél hatékonyabb kódot állít elő, ami a soronkénti értelmezéshez képest hatékonyabb szintaktikai ellenőrzést, kisebb kódméretet és a „hagyományos” interpretált nyelvekhez képest némi sebességnövekedést eredményez.
Motiváció
EGY KIS MOTIVÁCIÓ:
Szerinted mennyi kitartás kell ahhoz, hogy megtanuljunk járni? Láttál már kisbabát, amint járni próbál, és naponta ötszázszor is orra esik? És mennyi kitartás kell, hogy megtanuljunk beszélni? Hány százezer szót mondunk ki, ami a felnőttek számára gügyögésnek hangzik, mire az első érthető szó elhagyja a szánkat?
Egyetlen kisgyerek sem tanulna meg járni, ha feladná a 100.
próbálkozásra. Egyetlen kisgyerek sem tanulna meg beszélni, ha feladná a
10000. próbálkozásra.
Tehát legalapvetőbb dolgokra is képtelenek lennénk, ha a gyerekként nem lennénk kitartóak.
Tudnod kell, te is rendkívül kitartó voltál kisgyerekként.
És most mondok egy titkot: ez a kitartás továbbra is ott van benned és ott is marad!
A jó hír, hogy ezt a kitartást bármikor újra felfedezheted magadban.
Ami megvan benned, de nem tudsz róla, az felfedezhető. Azt nem
kell feltalálnod, nem kell kiérdemelned, nem kell megküzdened érte. Csak
újra rá kell találnod.
Van egy mondás, ami úgy szól, hogy háromféle ember van a világon: azok,
akik megvalósítják a dolgokat, azok, akik nézik, ahogyan a dolgok
megvalósulnak, és azok, akik csak kapkodják a fejüket, és csodálkoznak,
hogy mi folyik körülöttük.
Ha úgy érzed, hogy az első csoportba tartozol, akkor te már felfedezted
a saját kitartásodat – vagy soha nem is felejtetted el. Ha azonban az
utolsó két csoport valamelyikébe tartozónak érzed magad, akkor a jó
hírem számodra az, hogy bármikor fel tudod fedezni magadban a kitartást,
és átkerülhetsz azok közé, akik véghezviszik a terveiket és megtanulnak programozni
Szerinted mennyi kitartás kell ahhoz, hogy megtanuljunk járni? Láttál már kisbabát, amint járni próbál, és naponta ötszázszor is orra esik? És mennyi kitartás kell, hogy megtanuljunk beszélni? Hány százezer szót mondunk ki, ami a felnőttek számára gügyögésnek hangzik, mire az első érthető szó elhagyja a szánkat?
Egyetlen kisgyerek sem tanulna meg járni, ha feladná a 100.
próbálkozásra. Egyetlen kisgyerek sem tanulna meg beszélni, ha feladná a
10000. próbálkozásra.
Tehát legalapvetőbb dolgokra is képtelenek lennénk, ha a gyerekként nem lennénk kitartóak.
Tudnod kell, te is rendkívül kitartó voltál kisgyerekként.
És most mondok egy titkot: ez a kitartás továbbra is ott van benned és ott is marad!
A jó hír, hogy ezt a kitartást bármikor újra felfedezheted magadban.
Ami megvan benned, de nem tudsz róla, az felfedezhető. Azt nem
kell feltalálnod, nem kell kiérdemelned, nem kell megküzdened érte. Csak
újra rá kell találnod.
Van egy mondás, ami úgy szól, hogy háromféle ember van a világon: azok,
akik megvalósítják a dolgokat, azok, akik nézik, ahogyan a dolgok
megvalósulnak, és azok, akik csak kapkodják a fejüket, és csodálkoznak,
hogy mi folyik körülöttük.
Ha úgy érzed, hogy az első csoportba tartozol, akkor te már felfedezted
a saját kitartásodat – vagy soha nem is felejtetted el. Ha azonban az
utolsó két csoport valamelyikébe tartozónak érzed magad, akkor a jó
hírem számodra az, hogy bármikor fel tudod fedezni magadban a kitartást,
és átkerülhetsz azok közé, akik véghezviszik a terveiket és megtanulnak programozni