Milyen nyelven beszéljünk a gépekhez?

2020 / 02 / 03 / Bobák Zsófia
Milyen nyelven beszéljünk a gépekhez?
Megalkották a világ első klasszikus kínai programozói nyelvét egy hónappal ezelőtt. A wenyan-lang azóta már rengeteg követőre talált. Lehet, hogy a jövő a nemzeti programozási nyelveké lesz?

Bármit is fantáziáltak a tudományos-fantasztikus írók a jövő robotjairól, bármennyire emberszerűre is építjük őket, a mesterséges külső mögött csak egy halom alkatrész bújik meg. Az egyetlen lényeges különbség egy okosmosógép és Hiroshi Ishiguro robot-ikertesvére között, hogy ezek az alkatrészek, beleértve az „agyat” alkotó chipet, bonyolultabbak. És hiába tudunk ma már akár beszélgetni is az eszközeinkkel, a gépeink tulajdonképpen nem értenek minket, az ő kommunikációs formájuk sokkal szűkszavúbb, lényegretörőb és precízebb a miénkél.

Az egyesek és nullák nyelvét beszélik.

Így hát ugyanúgy szükségünk van egy middlemanre, aki közvetíti a parancsainkat feléjük, mint ahogy szükség van egy fordítóra a különböző nyelvet beszélők között.

Ez a közvetítő a programozási nyelv.

Az első, legegyszerűbb formája a módszernek, amellyel az utasításokat eljuttatták a számítógépekhez a gépi nyelv volt, vagyis a kezdeti időkben még az emberek alkalmazkodtak a géphez és nem fordítva. A feladatokat számformátumban adták meg, a tizenhatos számrendszert alkalmazva, de a szakemberek hamar rájöttek, hogy ennél sokkal hatékonyabb, gyorsabb és mindenki által használható nyelv megalkotására van szükség, másképp csak néhány kiválasztott, leginkább matematikusok és tudósok lesznek majd képesek a komputerekkel kommunikálni és programozni és ők is csak fáradságosan.

A következő szint az Assembly lett, melyet Kathleen Booth alkotott meg először még a negyvenes években, majd David Wheeler ültetett át a gyakorlatba, és fejlesztett tovább. Az Assembly, ahogy a neve is indikálja (összeállítást jelent angolul), az emberek és gépek kifejezéséből is merített és még nagyon közel állt a komputerek bennszülött nyelvéhez, a gépi kódhoz, de már tartalmazott angol szavakat is. 1:1 programozást tett lehetővé, vagyis minden parancssor egy-egy kiadott feladatnak felelt meg.

És innentől kezdve nem volt megállás, jöttek az egyre fejlettebb, egyre hathatósabb és egyre „emberibb” programozási nyelvek.

1957-ben John Backus Fortranja (The IBM Mathematical Formula Translating System), mely már 1:N alapon működött, vagyis egy parancsszó több feladat végrehajtását jelentette, ’58-ban az európai és amerikai kooperációban készülő ALGOL (Algorithmic Language), melyet eredetileg IAL-nak hívtak volna, vagyis Nemzetközi Algebra Nyelvnek (International Algebraic Language), utalva a nemzeti kérdések fölött álló jelentőségére az új korszaknak, a számítógépek korának.

Szintén ebből az évből származik a Lisp, majd következett 1959-ben a COBOL, melyet már minden gépen lehetett futtatni, bár ennek a valóban működő verziójára 1968-ig kellett várni, és a ‘64-es BASIC, Kemény János és Thomas Kurtz alkotása, ami a Fortranra épült, de bizonyos részletekben különbözött tőle, például az időosztásos (time sharing) rendszerében, ami lehetővé tette, hogy egyszerre több felhasználó szerkessze és futassa. Az első személyi számítógépek alaptartozékává vált, amíg ki nem szorította a versenyből az újabb generáció, például az 1972-ben Dennis Ritchie által készített, mérföldkőnek számító C nyelv, mely örökre megváltoztatta a programozás imidzsét és hamar irányadóvá vált a későbbi fejlesztések számára.

Miért volt szükség ennyi fejlesztésre?

Egyrészről a kezdeti programok még specifikusak voltak, egy-egy cél érdekében hozták létre őket, legyen az matematikai számítás vagy adatkezelés, de a számítógépek elterjedésével egyre több mindenre kellett alkalmasnak lenniük, (banki feladatok, oktatás, otthoni alkalmazás). Hiába rendelkezik végtelen kapacitással a gép, ha nem állnak rendelkezésünkre a szavak, melyekkel közölhetjük az utasításainkat. Másfelől a számítógép kezelése az ötvenes években még csillagászati összegekbe került. Felmérések szerint maga a programozás akár nyolcszázezer dollárra is rúghatott, a fordító programok pedig még további hatszázezret értek. A programok gazdaságosabb tétele lejjebb vihette volna az árakat is.

Már megvolt a közös nyelv, a kommunikáció kiépült gép és ember között, mégis csak kevesek kiváltsága volt, hogy megértették és megértethették magukat a készülékekkel.

Kellett egy mindenki számára elérhető, minden komputeren futtatható, az általunk ismert kifejezésekhez közel álló nyelv, és nem igen volt kérdéses, hogy ez a nyelv az angol kell, hogy legyen, tekintve, hogy a létrehozói az angolt beszélték. A programozás viszont ily módon nyelvspecifikussá vált, aki el akarta sajátítani, annak hatalmas előnyt jelentett, ha egyúttal beszélte a közvetítő nyelvet is. De miért is ne lehetne nemzeti programozási nyelveket írni, megkönnyítve a tanulási folyamatot azok számára is, akik nem beszélnek angolul?

Az ötlet sokakban felmerült, ahhoz viszont, hogy ez kivitelezhető legyen két dologra van szükség: vagy teljesen új programokra, melyek nemzeti nyelven íródtak, vagy fordításra a már meglévő, elterjedt alkalmazás mellé. Ez utóbbi persze a könnyebb választás, de nem mindenki riadt vissza a kihívástól. Léteznek programozási nyelvek arabul (Qalb), hindiül (Hindawi Programming System), perzsául (farsinet). Egy hónappal ezelőtt Lingdong Huang, a Carnegie Mellon Egyetem végzőse pedig

megalkotta a világ első klasszikus kínai nyelvén, a wenyanon alapuló wenyan-langot.

Huangot mindig is lenyűgözte a régi irodalmi alkotások nyelve , és úgy döntött, a számítógépek világába is be kéne vonni, meg ha nem is sokan beszélik vagy értik. A klasszikus nyelvet, melyet a Tavasz és Ősz korszakában (i.e. 5. századtól i.sz. 3. századig) használták és az irodalmi művek és a buddhista, konfuciánus és taoista alapművek nyelvéül szolgált, még mindig tanítják az általános iskolákban, de a hétköznapi kommunikációban ritkán lehet találkozni vele. A wenyan-lang tradicionális kínai karaktereket és a régi nyelvtani szabályokat ötvözi, mely nem alkalmaz szóközöket, az olvasóra van bízva, hogy rátaláljon az egyes szavak kezdetére.

A programozás során ez nem okoz nagy problémát, hiszen úgyis csak bizonyos kulcsszavakkal kell dolgozni.

A programot nyílt forráskódú formában, a GitHubon lehet elérni és követői máris több tucat algoritmust írták a segítségével, leginkább a klasszikus irodalmi alkotásokban fellelhető matematikai formulák implementációit. A pi_liuhui.wy például az időszámításunk előtti harmadik században élt matematikus, Liu Hui kalkulációt rekreálja, mellyel meghatározta a pí értékét.

A wenyan-langot nem lehet kifejezetten a nemzetiségi programozói nyelvek egyik példájaként említeni, hiszen egy ősi nyelvre épít, de létrehozása rávilágít, milyen nagy az igény a kreatív, alkotói hozzáállásra a programozás területén, hogy egyszerű felhasználókból valódi résztvevőkké válhassunk. A számítógép, feltalálása idején még feladatok végrehajtására szolgáló eszköz volt, melyet komoly felnőttek alkottak és használtak, de ma már jóformán minden egyes ember mindennapi életének szerves része, egészen a gyermekkortól kezdve és ez a jövőben egyre inkább így lesz. Logikus, hogy ha ennyire összenőttünk egy eszközzel, tanuljuk meg minél inkább uralni, ezt pedig érdemes minél előbb elkezdeni. Mivel pedig a gyerekek saját anyanyelvükön tanulnak a leggyorsabban, a jövő generációi is csak profitálhatnának a nem-angol programozói nyelvekből, így a jövőben, bármilyen nyelven szólnánk a géphez, az megértene minket.

“Úgy  gondolom, az ötlet, hogy saját programozói nyelvet találjunk ki, előbb utóbb minden programozó fejében megfordul.”

- mondja Huang - “  megvan a saját, egyedülálló rendszerem és pont olyan, amilyennek szerettem volna.”

(Fotó: Wikimedia Commons, Pxhere, Flickr/ideonexus, Flickr/kevinsavetz, Flickr/jseita)


Egy egyszerű megoldás, amivel végre ténylegesen kihasználhatod azt a sávszélességet, amiért fizetsz
Egy egyszerű megoldás, amivel végre ténylegesen kihasználhatod azt a sávszélességet, amiért fizetsz
A legtöbb ember valószínűleg nem is tud róla, de a sávszélességnek, amiért komoly pénzeket fizetnek az internetszolgáltatójuknak, csupán egy részét használják ki. Most mutatunk egy olyan megoldást, amivel ez a probléma egyszer s mindenkorra megoldható.
Megfogni a jövő építőit – Bálint Attila-interjú
Megfogni a jövő építőit – Bálint Attila-interjú
Szülő–gyermek kapcsolatra alapuló közös programokkal – például golf- és vitorlásversenyekkel – igyekszik előmozdítani a generációváltás kérdését a Raiffeisen Bank. Az intézmény az egyre szélesebb körű banki és befektetési megoldások mellett olyan eseményeket is szervez, amelyeken a fiatalabbak és az idősebbek egyaránt jól érzik magukat, érdeklődésük összeér. A jelenünkben „turbósodó” generációváltás tematikájáról kérdeztük Bálint Attilát, a Raiffeisen Bank privátbanki üzletágának a vezetőjét.
Ezek is érdekelhetnek
HELLO, EZ ITT A
RAKÉTA
Kövess minket a Facebookon!
A jövő legizgalmasabb cikkeit találod nálunk!
Hírlevél feliratkozás

Ne maradj le a jövőről! Iratkozz fel a hírlevelünkre, és minden héten elküldjük neked a legfrissebb és legérdekesebb híreket a technológia és a tudomány világából.



This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.