Programozási nyelvek Programozási nyelvek csoportosítása
A hagyományos programozási megközelítés az adatokat és a hozzájuk kapcsolódó eljárásokat külön kezeli, az objektum-orientált megközelítés ezzel szemben az adatokat és a velük végzett eljárásokat együtt kezeli egy objektumban. Az objektumközpontú programozási nyelveket feloszthatjuk tisztán objektumközpontú nyelvekre, illetve kevert vagy hibrid nyelvekre is.[1]
Ahhoz, hogy a számítógéppel „kommunikálni” tudjunk, szükséges, hogy az általunk utasításokat megértse, ez okból jöttek létre a programozási nyelvek. A programozási nyelveket szintjei szerint így csoportosíthatjuk: [2]
- Alacsony szintű vagy gépi kód
A processzor számára közvetlenül végrehajthatóak, mivel ez bináris kód, vagyis a programkód kizárólag nullák, illetve egyesek számsorozatából áll.
Alacsony szintű nyelvként értelmezhető, mivel az emberi gondolkodástól távol áll szerkezetileg. Itt már megjelennek a szavak. Ezt szükséges lefordítani gépi kódra, úgy tud futni, viszont egyik előnyének tekinthető, hogy a fordítás gyorsan megy végbe.
- Magas szintű programozási nyelvek
Az emberi gondolkodáshoz közel álló nyelvek tartoznak ide, pl. C#. A legtöbb programozást tanító weboldal ezeket a programokat tanítja. Lassabb programfutást eredményez, mint a gépközeli nyelvek.
Az emberi gondolkodáshoz még jobban közelebb álló nyelvek. Napjainkban még nem terjedtek el széles körben. Lényeges különbség a magas szintű programozási nyelvekhez képest, hogy míg azok csak a programozó által kiadott utasításokat hajtják végre, az újabb generációs nyelveknél a döntést bizonyos esetben rábízzák a számítógépre. Ez az egyik ok, amiért nagy jövőt jósoltak neki a szakértők, ám kiderült, hogy bizonyos problémákat ilyen módon nem lehetséges megoldani, ezért továbbra is használni fogjuk a magas szintű nyelveket. [3]
Az alacsony és magas szintű programozási nyelvek tulajdonságai fordított arányossági kapcsolatban állnak egymással. A fordítási idő alacsony az alacsony szintű programozási nyelvnél, viszont az értelmezési nehézség magas, ennek megfelelően a magas szintű programozási nyelv fordítási ideje is magas, és ezt viszont könnyebb értelmezni.
Az ábrán szemléltetem a fordítási idő, illetve az értelmezési egyszerűség (vagy ellentétét, a nehézséget) kapcsolatát. A két tényező fordított arányossági kapcsolatban áll egymással, ezért van létjogosultsága az alacsony, illetve a magas szintű nyelveknek, a feladat milyensége határozza meg az alkalmazandó nyelv megválasztását.
[1] D. Bell, I. Morrey, J. Pugh: Programtervezés p. 118. In: Az objektumközpontú programozás alapelvei
|