You are on page 1of 7

Programozási nyelvek

Első generációs programozási nyelv


Gépi kód
Ennek a nyelvnek az utasításait a számítógép képes volt közvetlenül, minden átalakí-
tás nélkül végrehajtani, értelmezni. A problémákat nagyon precízen kellett megfogal-
mazni, lépésekre bontani. Emellett a nyelv erősen gépfüggő volt, hiszen minden
gépen más és más utasításokat használt, az adott problémát minden géptípus ese-
tén másképpen kellett leírni, megfogalmazni, alkalmazkodva a számolóegység
sajátosságaihoz. A leggyorsabb programot eredményezi, mivel nem tartalmaz
felesleges utasításokat.
Assembly nyelvek
A gépi kódú lehetőségekhez képest komoly előrelépést jelentett az Assembly nyelvek
megjelenése, amelyek tulajdonképpen segédeszközt jelentettek a gépi kódú utasítá-
sok egyszerűbb megfogalmazásában. Az egyes gépi kódú utasításokhoz egy-egy
mnemonikus kódot rendeltek hozzá, a tárcímeket pedig a memória kezdetéhez
viszonyított relatív címekkel számították. Szintén újdonságnak számított, hogy az
egyes memóriacímeket egy-egy szimbolikus névvel lehetett helyettesíteni.
Napjainkra az alacsony szintű programozási nyelvek háttérbe szorultak.
Az Assembly-t ma már csak olyan feladatok esetén használják, ahol hardver szintű
vezérlést kell megvalósítani.
Második generációs programozási nyelvek
A számítógépek alkalmazási területének bővülése szükségessé tette a programok
fejlesztési idejének csökkentését, azaz felmerült az igény, hogy a programokat minél
gyorsabban írják meg a programozók. A gépi kód és az assembly nehézkessége, géphez
igazodása miatt nem volt erre alkalmas.
A 60-as évek elején jelentek meg az első magas szintű programozási nyelvek. Az új
nyelvek struktúrája már nem a számítógép sajátosságaihoz, hanem a problémához
igazodott, a programozóknak itt már nem kellett a gépi végrehajtással foglalkoznia.
A magas szintű programozási nyelvek 1:N típusú nyelvek, azaz egyetlen magas szintű
programnyelvi utasítás több gépi kódú utasítást reprezentál. Természetesen a magas
szintű nyelven írt programokat is le kell fordítani - az assembly-hez hasonlóan - de
komoly előny, hogy ezeknél a nyelveknél már sokkal kisebb a hibalehetőség, a
forrásprogram sokkal áttekinthetőbb.
FORTRAN (FORmula TRANslation)
Az első magas szintű programozási nyelv az IBM cég által kidolgozott FORTRAN volt.
1957-ben jelent meg, elsősorban a műszaki-tudományos számítások legősibb nyelve.
Nevét a Formula Translation szavak összevonásából kapta. Elsősorban matematikai
formulákat tartalmazó elágazások kezelésére volt alkalmas, a numerikus algoritmusok
széles körét támogatta, viszont az I/O műveletek, és a karakteres adathalmazok kezelése
szempontjából nem bizonyult hatékony nyelvnek. Az I/O műveleteket mindössze alapvető
függvények által valósította meg, a nyelv elsődleges célja a matematikai problémák
megoldása volt, ehhez a speciális területhez azonban nagyon hatékony eszköznek
bizonyult.
ALGOL (ALGOrithmic Language)
1955-ben fejlesztették ki, a matematikai, műszaki számítások célnyelveként.
Az első véglegesnek tekintett változatot 1960-ban fogadták el egy párizsi konferenci-
án, neve ALGOL 60 volt. Később, több lépcsőben történő fejlesztés után megjelent a
nyelv egy újabb változata, az ALGOL 68.
Az ALGOL nyelv elsősorban a kutatómunkában és az oktatás területén terjedt el.
Első számú alkalmazási területe az informatikai kutatás volt. Jelentősége azonban
vitathatatlan, mivel számos később kialakult programozási nyelv alapjaként szolgált.
Pld: PASCAL.
COBOL (Common Business Oriented Language)
Adatfeldolgozás-orientált nyelv létrehozása volt a cél, amely alkalmasnak látszott a
gazdasági életben való alkalmazásra is. A COBOL nyelvet ma is használják az adat-
feldolgozás területén. Az első változathoz képest a nyelv igen nagy változásokon
ment keresztül, nagyon sokat fejlesztették az évek során. 1989-ben jelent meg a
strukturált, néhány évvel később az objektumorientált változata. A COBOL nyelv
előnyeként meg kell említeni a kiváló dokumentálási lehetőségeket, a komplex adat-
halmazok kezelésének jelentős könnyítését. Hátránya viszont, hogy a programok
mérete igen nagy lesz, és az alapvető matematikai műveleteken túl nem támogatja a
bonyolultabb számítási feladatokat.
BASIC (Beginners All-Purpose Symbolic Instruction Code)
Első működő változata 1963-ban jelent meg. A nyelv valójában a FORTRAN egysze-
rűsített változata volt, korlátozott utasításkészlettel és egyszerű szimbólumrendszer-
rel. A fontosabb változatok a QUICK BASIC, GFA BASIC, MS-BASIC, és a Pascal
elemet is tartalmazó VISUAL BASIC.
A változatok közül egyedül a VISUAL BASIC-et tekintjük strukturált programozási
nyelvnek, a programblokkok és eljárások, függvények kezelése miatt.
Harmadik generációs programozási nyelvek
A második generáció programozási nyelvei már lényegesen függetlenebbek voltak a gépi
logikától, mint az első generációs nyelvek, az elkészített programokat többféle gépen is
használni lehetett. Azonban a nyelvek többsége egy-egy problémacsoport megoldására
specializálódott, ami a programok fejlesztése, javítása során igen komoly akadályokat jelentett.
A 60-as évek derekán kíséreltek meg először olyan programozási nyelvet fejleszteni, amely
rendelkezik az előző nyelvek jó tulajdonságaival, emellett többféle problémacsoport
megoldására alkalmas, univerzális. Az új korszakot a procedurális programozási szemlélet
és az adatok struktúrájának hangsúlyozása jellemezte.
Pascal (Niclaus Wirth 70-es évek, később Delphi)
A cél egy az ALGOL-hoz hasonló, de általános célú programozási nyelv elkészítése volt. A
PASCAL általános célú programozási nyelv, amelyet elsősorban az oktatásban, a műszaki-
tudományos számítások területén és a komplex programrendszerek fejlesztése során
alkalmaznak elterjedten. A PASCAL nyelv támogatja a moduláris programozást, függvények és
eljárások definiálhatók, sőt a nyelv támogatja a rekurziót is. A PASCAL erősen típusos nyelv.
MODULA2
Olyan programozási nyelvről van szó, amely igen magas szinten támogatja a moduláris progra-
mozás módszerét, azaz a feladatok részfeladatokra bonthatók és az egyes részeket külön lehet
programozni, fejleszteni. Az egyes modulok az utasítások mellett tartalmazzák a modul során fel-
használt adatokat, változókat, konstansokat is. A modulok hierarchikus felépítésűek, tehát
egymásba ágyazhatók. A nyelv támogatja a rekurzív alprogramok mellett, a párhuzamos
vezérlőszerkezetek készítését is. Ez utóbbi lehetőség a versenyhelyzetben álló folyamatok
programozásánál lehet hasznos (multitasking). A nyelv egyik nagy előnye, hogy a moduláris
felépítésű programok könnyen áttekinthetők, értelmezhetők egy esetleges módosításkor.
Manapság is népszerű nyelv, majdnem minden operációs rendszerhez beszerezhető a
fordítóprogramja.
ADA (Augusta Ada Byron 70-es évek közepe)
Az ADA nyelv fejlesztésének célja egy hatékony, teljes gépfüggetlenséget
biztosító programozási nyelv létrehozása volt. Éppen ezen törekvések miatt
az ADA nyelv nagyon sok lehetőséget biztosít, a fontosabbak: multitasking,
kommunikáció, megszakítás-kezelés. A megírt program áttekinthető,
könnyen módosítható, a moduláris felépítés miatt. A nyelv szerteágazó
lehetőségei szinte minden területen használhatóvá teszik, ugyanakkor
ebben a komplexitásban kereshető a nyelv hibája is. Az ADA egyik gyenge
pontja, hogy bonyolult és sajátságos szemantikával rendelkezik, amely más
nyelvek esetén nem jellemző, ezért tanulása elég nehéz feladat.
C nyelv (Dennis Ritchie, 1972 )
A nyelv különlegessége, hogy egyesíti magában a hardverközeli programozás és a
magasszintű nyelvek előnyeit, ilyen módon jól kihasználhatjuk a hardver adta
lehetőségeket – javul a futási idő – mégis gyorsan tudunk új programokat írni, mivel
logikájában a magas szintű nyelvek formáját követi a C is. Továbbfejlesztése a C++.
PROLOG (PROgramming in LOGic, Alain Colmerauer, 1972)
LOGO (Wally Feurzeig és Seymour Papert 1966)
Eiffel (Bertold Meyer, 1988)
Stb.

You might also like