Alacsony szintű programozási nyelv

A Wikipédiából, a szabad enciklopédiából

A számítástechnikában alacsony szintű programozási nyelveknek nevezik az olyan programozási nyelveket, amelyekben a CPU nyelvétől való elvonatkoztatás kis mértékű – ha egyáltalán van.

Az alacsony szó nem azt jelenti, hogy a nyelv alacsonyabbrendű a magas szintű nyelvekhez képest, hanem arra utal, hogy a gépi kódtól való elvonatkoztatás mértéke alacsony. Emiatt az alacsony szintű nyelveket néha hardverközelinek is nevezik.

A „magas szintű” és „alacsony szintű” jelzőket viszonyításra is használhatjuk. Egy Java-programozó számára a C nyelv viszonylag alacsony szintű nyelvnek tűnhet.

Az alacsony szintű nyelveken belül megkülönböztethetünk első és második generációs nyelveket.

Első generációs nyelv[szerkesztés | forrásszöveg szerkesztése]

Az első generációs programnyelv (1GL) a processzor gépi kódja. Ez az egyetlen olyan nyelv, amelyet a CPU közvetlenül képes értelmezni. Manapság szinte soha senki nem ír programot közvetlenül gépi kódban, mivel ekkor nemcsak hogy számos olyan részletre kellene odafigyelni, melyeket egy magasabb szintű nyelv automatikusan kezelne, valamint minden egyes utasításhoz számkódokat kellene megjegyezni vagy kikeresni egy listából.

Második generációs nyelv[szerkesztés | forrásszöveg szerkesztése]

A második generációs nyelvek (2GL) a különböző assembly nyelvek. Azért nevezik őket második generációsnak, mert jóllehet nem a CPU saját nyelve, a programozónak mégis ismernie kell a mikroprocesszor egyedi architektúráját (pl a regisztereket és az utasításokat). A gépi kóddal leírható programokat assembly nyelven a programozó számára sokkal olvashatóbb alakban lehet leírni. A különbség csak az írásmódban van a gépi kódhoz képest, illetve az assembler fordító átvehet néhány adminisztrációs feladatot a programozótól, páldául a kezdőcím allokációját és a program címkéinek innen számított címeit. Az assembly által használt szavakat, aminek a processzor egy-egy utasítása megfeleltethető, Mnemoniknak nevezzük.

Előnyök-hátrányok[szerkesztés | forrásszöveg szerkesztése]

A gépi kódú, illetve assembly programok előnye – a magasabb szintű programnyelvekhez képest – a kis méretű, gyorsan futó kód (akár 50-szer gyorsabb, mint a magas szintű nyelveken írott programok), illetve a rendszerarchitektúrához jobban igazítható működés.

Hátrányuk, hogy a programozás sokkal több rendszerspecifikus ismeretet követel, illetve a programban a hibakeresést sokkal kevesebb eszköz támogatja. Általában sokkal több munkával érhető el ugyan az az eredmény, mint magas szintű programozási nyelven.

Lásd még[szerkesztés | forrásszöveg szerkesztése]