Refresh the page

Programozási nyelvek mindenkinek

Publukálva • Szerző: Michal Rybka

Minden számítógépnek szüksége van programokra a működéshez. Ezek indítóprogramra oszlanak, amely életre kelti a gépet, aztán operációs rendszerre, amely lehetővé teszi a működését – majd felhasználói programokra, amelyek gyakorlati értelmet adnak neki. A programozás bonyolult – és az ésszerű számítógép-kezeléshez vezető út éppen a programozás fejlődésén keresztül vezetett. A programoknak karbantarthatónak kellett lenniük, vagyis a saját szerzőjükön kívül más programozóknak és fejlesztőknek is érteniük kellett őket.

Programozási nyelvek

Kép forrása.


Programozási nyelvek mindenkinek – TARTALOM

  1. A gépi kód mint kezdet
  2. Az első programozási nyelvek
  3. A Basic mindennek lefektette az alapjait
  4. Algoritmikus nyelvek
  5. Az idegen kód olvasása és karbantartása

A gépi kód mint kezdet

Eredetileg a számítógépeket gépi kódban programozták, ami egy nagyon alacsony szintű számítógépes nyelv, amellyel a hardver közvetlenül tud dolgozni. Régebben az a képesség, hogy valaki fejből tudott közvetlenül „gépi kódban” írni, magasabb szintű programozói hatalom, sőt egyenesen szoftveres fekete mágia bizonyítékának számított – erre tényleg nem volt képes akárki. Az így létrejött kód rendkívül átláthatatlan volt, és részletes dokumentáció nélkül általában csak maga a szerzője tudta javítani és módosítani.

Ezért jött létre egy magasabb szintű nyelv, az assembler, amely ugyan még mindig nagyon közel állt a gépi kódhoz, de már tudott szimbolikus változókat és címkéket használni, így a kódot áttekinthetőbben lehetett írni. A programozónak továbbra is ismernie kellett a gépi utasításokat, de már nem kellett fejben tartania a memóriacímeket, és használhatott változókat és konstansokat, ami nagy előrelépést jelentett. Az assemblerben írt kódot már egy másik programozó is tudta olvasni és javítani, de megjegyzések nélkül így is elég nehezen volt érthető.

Az első programozási nyelvek

A számítógépek megjelenése után viszonylag hamar a tudósok elkezdtek foglalkozni azzal a kérdéssel, hogy lehetséges-e olyan magasabb szintű nyelvet létrehozni, amely leírja a problémát, ugyanakkor nem függ a konkrét számítógépes hardvertől, így a programot közvetlenül meg lehet írni, és különböző gépeken futtatni. 1954-ben jött létre a Fortran (Formula Translation) nyelv, amelyet tudományos és matematikai problémák leírására terveztek – és bár eleinte kétségek merültek fel a hatékonyságával kapcsolatban, gyorsan kiderült, hogy a magasabb szintű nyelvek előnyei felülkerekednek.

Programozási nyelvek mindenkinek
A Fortran nyelv kódlapjának reprodukciója, papírra nyomtatva, amelyet a programozók a programok előkészítéséhez használtak, mielőtt a billentyűzetkezelők lyukkártyákra vitték volna fel őket Kép forrása.

Grace Hopper matematikus 1959-ben javasolta a Flow-Matic nyelvet, amely a problémákat a hétköznapi angolhoz közeli nyelven írta le, ami alapvetően leegyszerűsítette a kód megértését. Ez a nyelv lett a nagyon sikeres Cobol alapja, amely főként az üzleti világban terjedt el, és még ma is találkozhatunk vele.

A számítógéptudósok törekvéseinek célja természetesen a „nem programozás” volt, egy sci-fibe illő vízió, amelyben megszólítod a számítógépet, elmondod neki a problémát, ő pedig elemzi azt, és saját magát programozza fel. Ez az a pont, amelyet a jövőbelátók már korábban is láttak, de valójában csak most kezdünk közeledni hozzá. Abban az időben a számítógépes nyelvek egész sorával kísérleteztek, amelyek az érthetőség és a hatékonyság közötti kompromisszumot képviselték.

A Basic mindennek lefektette az alapjait

Egy érdekes, bár kissé problémás kompromisszum volt a Basic programozási nyelv (1964). Kezdők számára készült nyelvként jött létre, egyszerű és interpreteres volt, ami azt jelentette, hogy megállíthattad a futó programot, módosíthattad a kódot, megnézhetted a változók állapotát – majd tovább futtathattad a programot. Nagyon kevés erőforrást igénylő nyelv volt, és rendkívül gyorsan meg lehetett tanulni, ezért szó szerint meghódította a 70-es és 80-as évek kis számítógépeit. A Basicet szó szerint minden számítógép-felhasználó ismerte, a LOAD parancs nélkül a legtöbb esetben még a játékokat sem tudtad betölteni!

i

A számítógép története

A Basic nagy hátránya az volt, hogy egyszerűsége miatt nem támogatta az összetettebb adatszerkezeteket, és a programokat is afféle spagettiszerű, átláthatatlan módon írták benne. Sok IT-szakember számára ez volt a legnagyobb rossz, amely a számítástechnikai hallgatók „átnevelését” igényelte. Ennek ellenére a Basic alapvető volt a technológia fejlődése szempontjából – és mellesleg az Altair 8800 számítógépre készült Basicet egy bizonyos fiatal vállalkozó, Bill Gates is megírta – a Basic példányainak eladásai pedig a Microsoftot oda juttatták, ahol ma van (talán ezért volt a Basic interpreter, a GW-Basic, az MS-DOS állandó része).

Algoritmikus nyelvek

A számítástechnika azonban más irányokban is fejlődött. Az egyik ilyen irány a mesterséges intelligencia felé tartó nyelvek voltak, mint a LISP (1960) és a Prolog (1972). Ezek a nyelvek formális logikán és azon az elképzelésen alapultak, hogy a problémát csak le kell írni a gépnek, és az képes lesz a megadott információkból következtetni, valamint saját maga levonni a következtetéseket. Ez az elképzelés ma kissé naivnak tűnik, de számos módszer alapjává vált, például az automatikus bizonyításé.

Programozási nyelvek mindenkinek
Példa a LISP programozási nyelvre Kép forrása.

Fontosabb irányt jelentettek a problémák hatékony leírására összpontosító nyelvek – az algoritmikus nyelvek. Ezek az összetett adatszerkezetekre és annak átlátható leírására összpontosítanak, hogyan lehet velük dolgozni. A cél az írott programok olvasásának megkönnyítése, és az architektúrájuk révén a hibák megelőzése. Sok hiba ugyanis nagyon buta – például a ciklusok belsejéből történő kezeletlen ugrások –, ezért a fejlesztők úgy gondolták, hogy minél bonyolultabb ilyesmit megcsinálni, annál kevesebb hasonló hiba keletkezik.

Az idegen kód olvasása és karbantartása

Így jött létre 1960-ban az Algol nyelv, lényegében a mai modern programozási nyelvek elődje. Adatszerkezetei és vezérlési módszerei átkerültek más modern nyelvekbe is, mint a ma nagyon népszerű C, C++ és C# – sőt tulajdonképpen minden modern nyelvbe. Ma az adatokkal való munka a döntő – hogyan vannak az adatok rendezve, hogyan férsz hozzájuk, hogyan véded őket a helytelen használattól és hasonlók. Egy másik jelentős lépést a programozói konvenciók jelentenek, vagyis azok az előírások, amelyek szerint a nagy csapatokban dolgozó fejlesztők haladnak, és amelyek megkönnyítik számukra az idegen kód olvasását és karbantartását, segítenek felismerni a változók jelentését, és általában együttműködésre vezetik őket úgy, hogy egyikük munkája ne rontsa el a másik eredményeit.

Ettől azonban a programozási nyelvek bonyolultabbá váltak – és ismét olyan dologgá lettek, amelyhez csak a profik értettek. A hétköznapi felhasználók számára túl összetettek voltak – és ahelyett, hogy közelebb vitték volna hozzájuk a technológiát, bonyolult akadályt állítottak az emberek és a gépeik közé. Világos volt, hogy a számítógépes nyelvek nem alkalmasak a számítógépek hétköznapi vezérlésére, valami mást, egyszerűbbet és intuitívabbat kell kitalálni: a grafikus felületet.

i Ezek a cikkek is érdekelhetnek:

A számítógépek parancssorozatokkal történő vezérlése soha nem tűnt el teljesen. Még ma is lehet számítógépeket szkriptekkel vezérelni, vagyis az egyes programhívások sorrendjének leírásával. A legtöbb szkript rejtve marad a felhasználók előtt, de még ma is megnyithatod a Windows PowerShellt, és írhatod a saját szkriptjeidet!

Try our cookies

Alza.cz a. s., Company identification number 27082440, uses cookies to ensure the functionality of the website and with your consent also to personalisage the content of our website. By clicking on the “I understand“ button, you agree to the use of cookies and the transfer of data regarding the behavior on the website for displaying targeted advertising on social networks and advertising networks on other websites.

More information
I understand Detailed settings Reject everything
P-DC1-WEB20