A programozási nyelveket általában öt generációra osztják.
Az első generáció ( angol. első generációs programozási nyelv , 1GL) gépi nyelveket tartalmaz - programozási nyelveket egy adott gép processzorának utasításai szintjén. A programozáshoz nem használtunk fordítót , a programparancsokat közvetlenül a gépi kódba vittük be a gép előlapján található kapcsolókkal. Az ilyen nyelvek jók voltak egy adott gép működésének részletes megértéséhez, de nehéz megtanulni és megoldani az alkalmazott problémákat.
Az "első generáció" és a "második generáció" kifejezéseket a "harmadik generáció" kifejezéssel egy időben vezették be. Valójában ezeket a kifejezéseket akkoriban nem használták. A magas szintű nyelvek megjelenésével az assembly nyelveket a nyelvek első generációjának tulajdonították.
A második generációs nyelveket (2GL) azért hozták létre, hogy megkönnyítsék a programozás kemény munkáját azáltal, hogy a nyelvi kifejezéseket az alacsony szintű gépkoncepciókból közelebb helyezték a programozó szokásos gondolkodásához. Ezek a nyelvek az 1950-es években jelentek meg, különösen a Fortran és az Algol . A második generációs nyelvek fejlesztőinek legfontosabb problémája az volt, hogy meggyőzzék a vásárlókat arról, hogy a fordító által generált kód elég jól futott ahhoz, hogy indokolja az assembly nyelvű programozás elhagyását. A szkepticizmus az automata fordítók segítségével hatékony programok létrehozásának lehetőségével kapcsolatban meglehetősen gyakori volt, így az ilyen rendszerek fejlesztőinek be kellett bizonyítaniuk, hogy valóban képesek szinte minden forrásfeladatra majdnem olyan hatékony kódot generálni, mint a kézi kódolás.
A harmadik generáció (3GL) eredetileg az assembly nyelvnél magasabb szintű összes nyelvet jelentett. A harmadik generációs nyelvek fő megkülönböztető jellemzője a hardverfüggetlenség volt, vagyis az algoritmus olyan formában történő kifejezése, amely nem függ annak a gépnek a jellemzőitől, amelyen végrehajtják. A harmadik generációs nyelven írt kódot vagy közvetlenül gépi utasításokká fordítják le a végrehajtás előtt, vagy assembly nyelvű kódra, majd összeállítják. Fordításkor a korábbi generációkkal ellentétben már nincs egy az egyhez megfelelés a programutasítások és a generált kód között.
Elterjedtté vált a programok értelmezése - ilyenkor a programutasítások nem gépi kódokká alakulnak, hanem közvetlenül egymás után hajtódnak végre. A hardverfüggetlenség egy adott hardverplatformhoz összeállított tolmács használatával érhető el.
A negyedik generációs programozási nyelvek (4GL) kifejezés jobban értelmezhető negyedik generációs fejlesztői környezetként . Az 1970-es évektől az 1990-es évek elejéig tartó időszakra vonatkoznak.
Ennek a generációnak a nyelveit nagy projektek megvalósítására szánják, növelik azok megbízhatóságát és létrehozási sebességét, speciális alkalmazási területekre összpontosítanak , és nem univerzális, hanem objektum-orientált nyelveket használnak, amelyek speciális koncepciókkal működnek. szűk témakör. Ezek a nyelvek erős operátorokat ágyaznak be, amelyek lehetővé teszik egy sor olyan funkció leírását, amely több ezer sornyi forráskódot igényel a fiatalabb generációk nyelvein [1] .
Az ötödik generációs nyelvek megszületése az 1990-es évek közepén történt. Ide tartoznak azok a rendszerek is, amelyek automatikusan létrehoznak alkalmazásprogramokat vizuális fejlesztőeszközök segítségével, programozási ismeretek nélkül . A fő ötlet a kapott szöveg univerzális programozási nyelveken történő automatikus generálásának lehetősége volt (amit le kell fordítani). Az utasítások a legvizuálisabb formában kerülnek be a számítógépbe, olyan módszerekkel, amelyek a legkényelmesebbek egy olyan személy számára, aki nem jártas a programozásban [1] .
Programozási nyelvek | |
---|---|
|