Milyen nyelven ért a számítógép? - A programozási nyelvek története

Közzétéve: 2008.11.09.

Érdekességek
25 éves a CD lemezA 3D filmA 3D TVA billentyűzet fejlődése, történeteA böngészők fejlődéseA DOS rövid történeteA GPS rendszerA GSM rendszer működéseA Holdraszállás informatikai háttereA Linux történeteA műholdak szerepe az infomatikábanA rádióA smiley születéseA szuper, és a nagy számítógépekA táblagépek történeteA TV-k új generációiA videózás történeteA világ első számítógépeiA vonalkód és az RFIDA Windows rövid történeteAz adattárolás fejlődéseAz adattovábbítás módszereiAz első digitális fényképezőgépAz első számítógépes játékAz érintőképernyő (Touch screen) működéseAz Internet történeteFilekezelők, CommanderekHogyan működik a monitor?Hogyan működik a nyomtató?Hogyan működik a projektor?Informatika a légiközlekedésbenInformatika a zenébenIntelligens épületekIP ma és holnapKorai számítógépes játékokKözösségi hálózatokKözösségi hálózatok IIMagyarország Internetes InfrastruktúrájaMerevlemez históriaMilyen nyelven ért a számítógép? - A programozási nyelvek történeteMobiltelefon generációkScanner-ek Varázsszavak: processzor, órajel…Zenei fájlformátumok
KI-KICSODA az informatikában
Legendás IT cégek
Protokoll mindenkinek
Milyen nyelven ért a számítógép? - A programozási nyelvek története

Milyen nyelven ért a számítógép? – A programozási nyelvek története.

Aki ezt a cikket most olvassa, egy számítógép előtt ül. A gép bejelentkezése után elindított egy böngészőt, amit utasított, hogy ezt a weblapot mutassa neki. Leegyszerűsítve utasította a gépet, és az végrehajtotta a parancsokat. Milyen nyelven ért a gép? A kattintások, szövegbeírások nyelvén, sőt újabban már a beszélt nyelven is! – válaszolhatná bárki. Ez bizony nem így van. A számítógép csak gépi kódon ért, ami 1 és 0 számjegyek tömkelege. Ez a cikk arról szól, hogyan jutottunk el a mostani kényelmes számítógép kezelésig.

Miért fejlesztettek az emberek számolni képes gépet? Mert gyorsabb, mint az ember. Mindenkinek van otthon számológépe, akármekkora számokat szoroz össze, egy pillanat alatt kész. A Neumann.elvekig a számítógépek csak számológépekként működtek. Neumann János hívta fel a figyelmet arra, hogy a számítógéppel való munka leglassúbb láncszeme az ember, aki adogatja a feladatokat a gépnek. 1952-ben készítették el az első olyan gépet, amely már a feladatokat is tárolta, így nem kellett várni az emberi beavatkozásra, és az egész program másodpercek alatt lefuthatott.

Ekkor még számokat tápláltak a gépbe, tehát az utasításokat is számformátumban adták meg, nemcsak az adatokat. Ezt gépi nyelvnek hívják, és csak annyi könnyítést tartalmaz, hogy 16-os számrendszert használ, ami tömörebb, mint a 2-es. Nézzünk egy példát: 0B0A 0C0E 0D00. Az első négyjegyű szám az utasítás volt, a 2. és a 3. pedig a két adat memóriacíme. Brrr. Így már érthető, hogy akkoriban a programozók varázslóknak tűntek. Kevesen értettek hozzá.

Sokat javult a helyzet az Assembly nyelvvel. Az utasítások már szavak voltak, és az adatoknak is betűket lehetett választani. Az előző utasítás például: ADD X Y. Ez már kis angol tudással érthető: add össze X-et és Y-t. Ez a nyelv, úgy mint az előző, 1:1 nyelv volt, vagyis a program minden sora a gép egy-egy feladatát tartalmazta. Ezzel véget is ért az alacsony szintű, vagyis az első generációs programozási nyelvek kora. Ma már csak akkor veszik elő, ha nagyon hardver közeli programot kell fejleszteni.

A programozási nyelvek 2. generációja a FORTRAN-nal kezdődött, ez volt az első magas szintű programozási nyelv. Az IBM fejlesztette ki 1957-ben.

Ez már 1:N típusú nyelv volt, vagyis a programozó egyetlen utasítása sok kisebb utasítás végrehajtását jelentette a gépnek. Ez a nyelv emberközelibb volt, tehát a programozó a probléma megoldására koncentrálhatott, nem kellett a gépre figyelnie. Ennél, és ettől kezdve az összes további nyelvnél létezik egy fordító program, amely a programot gépi kódra fordítja., így állítva elő a tényleges programot. A programozó által írt szöveget forrásprogramnak, a fordító programot compiler-nek nevezzük. A FORTRAN-t főleg matematikai problémák megoldására fejlesztették ki, és bármily meglepő, még ma is használják, az utolsó verziója a FORTRAN 2000 volt.

Hasonló fejlettségű volt az ALGOL, de annyival többet tudott, hogy egy-egy programrész önmagát is újra végrehajttathatta (szakszóval:rekurzív lehetett a program). Bár fejlettebb volt a FORTRAN-nál, mára teljesen eltűnt.

Az eddigi két nyelv a matematikára koncentrált. Hamar szükségessé vált olyan nyelv, amely a nagy adatbázisokkal való munkát könnyíti meg. 1963-ban született ötlet szinten, 1968 hozta az első verzióját, 1974-ben szabványosították a COBOL nyelvet. Minden gépen futott, kiváló lehetőségeket kínált adatállományok létrehozására, karbantartására, lekérdezésére. Ennek a nyelvnek is lett még folytatása, 1989-ben született a strukturált, nem sokkal később az objektum-orientált változata. Legfőbb hátránya a nagy programméret, és a matematikai függvények szűkössége volt.

A 60-as évek elején már egyre több embert érintett meg a számítástechnika, így igény formálódott egy könnyen megtanulható és kipróbálható nyelvre. 1963 a BASIC születési éve. A magyar származású Kemény János és munkatársa, Thomas Kurtz kidolgoztak egy olyan nyelvet, amellyel a programozás könnyen oktatható és tanulható. A könnyű kipróbálhatóságot segítette, hogy interpreter típusú lett a nyelv.

Interpreter: Azok a nyelvek, amelyek nem interpreter típusúak, szöveg formátumban készülnek a programozó gépén. Ha a programozó ki akarja próbálni, elindítja a fordító programot, amely előállítja a gépi kódú változatot, amely ezután teljes egészében működik (vagy nem, ha hibás). Ezzel ellentétben az interpreter soronként fordít és azonnal végrehajt, tehát rögtön látszik az eredmény, vagy kiderül a hiba.

Ezt a nyelvet nem tekintették „komoly” nyelvnek, főleg a GOTO utasítás miatt, amely megengedi az ugrálgatást a program egyes részei között (ez egyébként tényleg nagyon „bugyuta” megoldás). A nyelv tovább fejlődött, sok iskolás gyerek tanulja, és Visual Basic néven ma is használatban van. Hogy mennyire él még, azt bizonyítja, hogy a Microsoft Office programcsomag makronyelve a VBA, amely a Visual Basic for Application rövidítése. A programnyelvek második generációja ezzel le is zárult.

A harmadik generációt az általános nyelvek jelentik. Az eddigieket mindig valamilyen célra fejlesztették ki: matematikai számítások, adatkezelés, oktatás. A harmadik generációs nyelvekkel bármelyik cél kivitelezhető. A kezdeti PL/1 és APL nem lett meghatározó, mert megjelenésekor már széles körben elterjedt a FORTRAN és a COBOL. Az ezután megjelent PASCAL viszont már teljes siker volt. Niklaus Wirth a Zürichi Műszaki Főiskola professzora fejlesztette ki az ALGOL-ból kiindulva, de általános célokra. Ez annyira jól sikerült, hogy még a mai könyvekben is pl. a programok logikai szerkezetét (szakszóval az algoritmusokat) a PASCAL segítségével írják le. Szabad formátumú, kevés utasítást tartalmaz és strukturált, támogatja a moduláris programozást. Aki ezt megtanulja, az már könnyen sajátít el bármilyen más nyelvet.

Ebben az időben jelent meg a MODULA2, amely, mint a neve is mutatja, a moduláris programozást helyezte előtérbe, és először lehetett egymással versengő programszálakat létrehozni, valamint az ADA, amely a GENERIC és NEW kulcsszóval az egymáshoz hasonló programrészeket egymásból engedte származtatni. Ez tekinthető az objektum-orientált programozás ősének. Külön érdekessége, hogy ezt az első programozónőről Augusta Ada Byron-ról (1815 – 1852) nevezték el.

1972-ben Dennis Ritchie alkotta meg a mérföldkőnek számító C nyelvet. Eredetileg a UNIX fejlesztő programjának szánta, de hamar megírták más operációs rendszerekhez is. Mindent tud, amit a PASCAL, de hatékonyabb, egyszerre lehet alacsony szinten, hardver közeli, és magas szintű programot írni vele. Természetesen azóta megjelent a C++, a C objektum-orientált változata is. Ma is az egyik legkedveltebb nyelv.

A fejlődés újabb vargabetűje, hogy a programnyelvek megint az általános felől a speciálisak felé változnak. A mai világban, ha adatkezelésre van szükség, akkor SQL, ha Internetes alkalmazásra, akkor PHP, vagy Java platformot használnak a programozók.

Talán a programfejlesztés könnyítése terén lezajlott fejlődést sem árt megemlíteni. Én 1990 táján kezdtem programozni, és mindent (a menüket, ablakokat, stb.) külön-külön meg kellett alkotnom. Ma a vezérlő elemekkel egyáltalán nem kell foglalkozni, azokat készen nyújtja helyettem a fejlesztő rendszer. A munka tényleg a program tartalmi részére fordítódhat. És ez még nem a fejlődés vége. Kidolgozás alatt vannak azok a fejlesztő rendszerek, amelyek grafikus felületen, egyszerű egérkezeléssel vezérelve fejlesztik a kívánt programot (tehát én csak teszek-veszek a monitoron, és közben íródik a forrásnyelvű program). Valószínűleg nincs már messze az az idő, amikor mikrofonba beszélve utasíthatjuk a gépet. Most még nem tudom elképzelni, mi jöhet majd azután?

Vissza a listára