1. A programozási nyelvek generációi
A számítástechnika történetének egyik legfontosabb fejezete a programozási nyelvek kialakulása és fejlődése. Ahhoz, hogy összehasonlíthassuk a különböző fejlődési szinteket, először is nézzük, melyek egy jó programozási nyelv alapismérvei:
- könnyen elsajátítható alapelvek,
- könnyen áttekinthető forráskód,
- egyszerűen bővíthető és módosítható forráskód,
- nehéz hibát elkövetni kódolás közben,
- könnyen dokumentálható kód.
Fejlődésük során a programozási nyelvek több lépcsőfokot is bejártak. Ezen szakaszok figyelembevételével a programozási nyelveket az alábbi generációkba sorolhatjuk:
1. generáció: Gépi kódú programozási nyelv
Jellemzők:
- egyetlen "jó" jellemzővel sem bír
- a kód számok sorozata
- egy "szám" egy utasítás
- relatíve sok utasítás
- nincs változónév
- nincs eljárásnév
- nincs ciklus
- memóriacímekre hivatkozás számkóddal
Egyéb problémák:
- a számkódokat a memóriába kell juttatni
- ha másik memóriaterületre tesszük, az gondot okozhat
- a gépi kód processzorfüggő
Előnyei:
- maximális futási sebesség
- elvileg minimális memóriamennyiség-felhasználás
- a mikroprocesszor és az egyéb hardware elemek képességeinek maximális kihasználhatósága
2. generáció: Assembly programozási nyelv
Jellemzők:
- néhány „jó” jellemzővel bír
- az utasításokat betűkombinációk jelölik (mnemonikok) pl. „MOV” = „move” = „mozgatás”
- egy ilyen mnemonik egy gépi kódú utasításnak felel meg
- sokkal könnyebb megjegyezni a nyelve
3. generáció: procedurális nyelvek
3.5 generáció: objektum-orientált nyelvek
4. generáció: specializált nyelvek
5. generáció: mesterséges intelligencia
2. A programozási nyelvek csoportosítása stílus szerint
Ha viszont a programozási nyelveket egy másik szemszögből nézzük, akkor adódik egy újabb csoportosítási szempont is: mégpedig a stílus szerinti. Ennek megfelelően megkülönböztetünk:
- imperatív (procedurális),
- applikatív (funkcionális),
- szabály alapú (logikai) és
- objektum-orientált nyelveket.
Imperatív nyelvek:
Értékadó utasításokat használ
Ezeket végrehajtva közelít a megoldáshoz
Az elágazások és ciklusok segítik, hogy melyik értékadó utasítást, hányszor kell végrehajtani
Erősen épít a változó fogalmára
Applikatív nyelvek
Figyelem: Ez a bejegyzés még nem készült el, jelenleg is szerkesztés alatt áll. Javaslatokat, megjegyzéseket, észrevételeket a hozzászólásoknál tehettek.