Programozási nyelv
Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
A programozási nyelv a számítástechnikában használt olyan, ember által is értelmezhető utasítások sorozata, amivel közvetlenül, vagy közvetve (például: gépi kódra fordítás után) közölhetjük a számítógéppel egy adott feladat elvégzésének módját.
A programozási nyelvek története
[szerkesztés]Valószínűleg Charles Babbage készítette az első számítógép-szerű gépet, melyre Ada Lovelace írt különböző (assembly-szerű) programokat.
Alan Turing megalkotta a Turing-gép elméleti konstrukcióját, mely már a mai modern számítógép viselkedését írja le. A gépet egy program vezérli, melynek lefutását a kapott input befolyásolja.
Konrad Zuse a modern programnyelvek egyik úttörője, aki az általa kifejlesztett nyelv, a Plankalkül használatát már nagyjából úgy képzelte el, ahogy a programozási nyelveket napjainkban használjuk problémáink megoldására.
Az 1940-es években, amikor elkészítették az első elektronikus számítógépet, programozókra volt szükség, akik a saját kezükkel működtették a gépeket. Ebben az időben a számítógépek hihetetlenül nagy méretűek és drágák voltak. A 20. század végén bekövetkezett robbanásszerű elektrotechnikai fejlődés elősegítette a felhasználóbarát számítógépek elterjedését.
Az ezt követő fejlődés (tranzisztorok, integrált áramkörök és chipek) a számítógépeket sokkal megbízhatóbbá, könnyebben kezelhetővé tette, s a legkülönbözőbb programozási nyelvek jelentek meg. Ez vezetett az exponenciálisan növekvő fejlődéshez, amely az internetet, a mindenütt előforduló számítógépeket eredményezte, és lehetővé tette az olyan könnyen elsajátítható nyelvek elterjedését, mint például a Python vagy a Visual Basic.
Ahogyan a számítógépek ára drámaian csökkent, úgy nőtt a programok jelentősége és komplexitása, aminek eredményeként a számítógép-időnél sokkal fontosabbá vált a fejlesztési idő.
A fejlődés következő állomását az (IDE) megjelenése jelentette, melyek csökkentették az idő-, és pénzráfordítást. A képernyő területei, melyek végrehajtják a programvezérlést, gyakran interaktívan átrendezhetőek. A kód-részleteket egy egérkattintással is előhívhatjuk. A munkát tehát előregyártott komponensek és újrafelhasználható kódokkal operáló eljáráskönyvtár teszik könnyebbé.
A korszerű nyelvek új fejlesztéseket tartalmaznak, mint például felhasználói jogok meghatározása; szabadon variálható, testhezálló telepítés és kinézet.
Az objektumorientált programozás módszertana képes lényegesen csökkenteni a programok elkészítési idejét, a programkód olvashatóságát, de azok hatékonyságát is.
Lásd még: Programozási paradigma.
Programozási nyelvek típusa
[szerkesztés]Alapvetően három kategóriába soroljuk a programozási nyelveket.
Gépi kód
[szerkesztés]A gépi kód valójában nem nyelv, mivel az a gép számára közvetlenül értelmezhető adatsort jelenti. A gépi kódhoz legközelebb álló nyelv az assembly nyelv. Ha egy assembly vagy mnemonik nyelv és az általa előállított gépi kód között egy-az-egy megfeleltetés van, akkor mondhatjuk, hogy az adott nyelv „gépi kód szintű”.
Assembly
[szerkesztés]A gépi kódhoz, vagyis az adott számítógép saját nyelvéhez legközelebb álló nyelveket nevezzük assembly nyelveknek: ezen a nyelven a legnehezebb programot írni, mert azt teljesen a számítógép architektúrájához alakítva, gépi logika szerint kell elkészíteni. Cserébe az assembly nyelven írt programok a leggyorsabbak.
Az assembly nyelven írt programot gépi kódra az „assembler” (fordítóprogram) fordítja le. (Ebből látható, hogy igazából az assembly is egy fordított nyelv, de mégsem soroljuk a fordított nyelvek közé, mivel a legtöbb esetben a „fordított nyelvek” az adott nyelvről assembly-re fordítanak (belsőleg), és utána azt alakítják át gépi kóddá.)
Minden egyes processzor-családnak saját assembly nyelve van (vagy nyelvei vannak).
Magas szintű nyelvek
[szerkesztés]A magas szintű nyelvek esetén valamilyen absztrakció segítségével az emberi logikához vagy a problématérhez közelebb eső nyelven fejezzük ki a programunkat.