A nyelvészet ennyire fontos?
Kommunkikálni lehet kétirányúan (duplex) és lehet egyirányúan (simplex) is.
A többes jelentéstartalom nem feature egy természetes nyelvben, hanem funkcionális hiba.
Az a baj, hogy kevered a szezont a fazonnal.
Tipikus szakbarbár hiba, erre szokták mondani, hogy ha kalapácsod van, mindent szögnek nézel. A programozás folyamatának absztrakt algebrai és analitikus megfogalmazását nagyon jól bevágtad, ezt el kell ismerni. Az információelméleti ismereteid is kiválóak. Ami nem megy: ezek adaptív alkalmazása, illetve annak felismerése, hogy mely jelenségekre lehet, és melyekre nem, vagy csak részben lehet ráhúzni az ismereteidet.
A gondolatmeneted már ott megbukik, hogy a nyelvészet még igazából a nyelvtanuláshoz sem kell. Definíció szerint a nyelvészet "az emberi nyelvekkel foglalkozó tudományág", ami a nyelvek különböző jellemzőit, valamint az egyes nyelvek közötti összefüggéseket tanulmányozza. Ez még az emberi nyelvek tanulásához sem szükséges, ott ugyanis az a lényeg, hogy megismerd az adott nyelv szavait, és a nyelvtan, valamint a nyelvhez kötődő egyéb összefüggések segítségével abból képes legyél emberi kommunikációra alkalmas mondatokat, szövegeket alkotni.
Van olyan ismerősöm, aki 7 nyelven beszél legalább társalgási szinten, ebből hármat anyanyelvi szinten, és teljesen buta a nyelvészethez. De a felsőfokú nyelvvizsgával rendelkezők nagy részére szintén igaz ez. A középfokú szintet elérőknél meg 1-2% kivételével mindenkire. Ennyire számít a nyelvtanuláshoz a nyelvészet.
"A nyelvészet a nyelvekkel fogllakozik. Ebbe minden nyelv belefér, még a programozási nyelveknél sokkal elrugaszkodottabb nyelvek is, mint az állatok kommunikációja során alkalmazott nyelvek."
A nyelvészet az emberi nyelvekkel foglalkozik. Azokkal, amelyeket interperszonális kommunikációra használnak. Az állatok kommunikációját nem szokás nyelvnek tekinteni, legalábbis a legtöbb állatét biztos, hogy nem. Ezek nem bírnak összetett jelentéstartalommal, csak egy-egy érzés, jelzés, vagy utasítás kifejezésére szolgálnak. Nincsenek mondataik, nincs szintaktikájuk, nincsen meg bennük az, amitől egy nyelvet nyelvnek lehet tekinteni.
Amúgy meg gáz, hogy a nyelvészetről okoskodsz, de teljesen alapvető nyelvészeti fogalmakkal sem vagy tisztában. Innentől már végképp komolytalan az erőlködésed.
"A programozási nyelvek a természetes nyelvek analógiájára létrehozott, redukált eszközkészletű (szókincs, szófajok) formalizált mesterséges nyelvek."
Távolról sem.
A programozási nyelvek algoritmusok leírására szolgálnak, közvetlen, vagy közvetett módon a processzor számára kiadott utasításokat írják le. Ennek kb. annyi köze van az emberi nyelvekhez, mint egy kémiai reakcióegyenletnek.
"A többes jelentéstartalom nem feature egy természetes nyelvben, hanem funkcionális hiba."
Ismét csak előjön a "ha kalapácsod van, mindent szögnek nézel" jelenség.
Túl azon, hogy láthatóan a magyar nyelv egyre nehezebben megy neked (a "feature" egy angol szó, és még csak jövevényszónak sem tekinthető), amit írsz, az egész egyszerűen baromság. Te abból indulsz ki, hogy a természetes, emberi nyelveknek ugyanaz a feladatuk, mint a programozási nyelveknek. Közben pedig ez a legnagyobb ostobaság, amit állítani lehet. Az emberi nyelvek nem csak puszta tényszerű információközlésre szolgálnak. Az emberi nyelvek feladatai közé tartozik többek között a jelentésárnyalatok, hangulatok közvetítése, vagy a művészi kifejezés lehetősége is.
Élek a gyanúval, hogy a programozó ismerősöd nem a „nyelvészeti ismeret” kifejezést használta, hanem talán a „nyelvek ismeretét”, ami alatt nem a természetes nyelveket, hanem a különböző programnyelvek ismeretét értette. És úgy igaza is van, ha valaki 1–2 programnyelvet ismer azzal is lehet programozgatni, de igazán minőségi tudást tud adni, ha valaki mondjuk egy tucat programnyelvvel megismerkedett közelebbről.
Mert lehet, hogy van analógia, ami miatt jó ötlet volt a programok, az utasítások sorának megírási módját nyelvnek hívni, de egy programozó kb. annyi hasznát veszi a nyelvészeti ismereteknek, mint egy receptkönyv írója a gyógyszerészeti ismereteknek, vagy mint te a telefonod menüjének kezelésében a szakács szakma menü összeállítási fortélyainak, vagy mint a részecskecsaládokat vizsgáló fizikus a családterápiának vagy a családfakutatásnak.
(Nyilván más tészta, ha valaki kimondottan nyelvészeti területhez kapcsolódóan ír szoftvert. Neki kellenek a nyelvészeti ismeretek is. Kb. úgy, mint ahogy ahhoz, hogy valaki kottaszerkesztő programot írjon, kellenek zenei ismeretek. De a zeneismeret csak az *adott* szoftver megírásához kell, nem általánosságban a programozáshoz.)
Az, hogy a programnyelvet nyelvnek neveztük el, azt néhány analógia indokolta. A számítógépnek a számok, a gépi kód a nyelve. Az utasításokat is számok reprezentálják, a paramétereket is számok reprezentálják, ha valamilyen feltétel esetén máshogy kell folytatni az utasítások végrehajtásának sorát, vagy egy utasítássort többször kell végrehajtani, akkor a kódban való ugrálást is számok reprezentálják. Azt azért elég nehéz megírni is, értelmezni is, módosítani is, hogy: 200, 0, 0, 0, 0, 102, 184, 1, 0, 102, 185, 2, 0, 102, 59, 13, 0, 0, 0, 0, 119, 7, 102, 247…
Ezért jött már az ősidőkben az ötlet, hogy bár egy-egy utasítást egy adott processzoron egy adott kódszám jelenti, írjuk mégis valamiféle érthetőbb kulcsszóval le ezt. Ha egy adott regiszterbe – afféle belső munkamemória – kell írni egy számot, akkor az angol „move” szót rövidítve írjuk azt, hogy „mov”. Ha két regiszter tartalmát össze akarjuk hasonlítani, akkor írjuk a „compare” rövidítéseként azt, hogy „cmp”. Meg eleve a regisztereket – amiből néhány van csak – szintén jelöljük számok helyett betűkkel. Ha máshonnan kell egy adott utasításra ugrani, akkor azt meg jelöljük valami olvasható címkével. Az már egy fokkal olvashatóbb, hogy:
factorial:
enter 0, 0
mov ax, 1
mov cx, 2
loopstart:
cmp cx, di
ja loopend
mul cx
inc cx
jmp loopstart
loopend:
leave
ret
És már itt érezhető az analógia. Ez nem a számítógép nyelvén van írva – ami a gépi kód –, hanem valamilyen ember által olvashatóbb nyelven. A számítógép ebben a formában nem tud vele mit kezdeni, ahhoz ezt le kell neki fordítani (mint ahogy a természetes nyelvek között is fordítunk). Az utasítások ilyen módon való megadásában vannak kulcsszavak (amik egy-egy utasítást vagy utasításcsoportot, vagy mondjuk egy adott regisztert jelentenek), van valami olyasmi szabályrendszer is, mint a természetes nyelveknél (kvázi nyelvtana, szintaktikája van a nyelvnek), hiszen a „mov” vagy a „cmp” jelent valamit, szemben a „XQW”-vel, ami nem értelmes „szó” ebben a „nyelvben”. Az utasítás paramétereit vesszővel kell elválasztani, a címkék után kettőspontot kell tenni, ez is nagyon hasonlít arra, minthogy a magyar nyelvben a kérdőmondat után kérdőjelet kell írni.
Aztán persze megjelent az igény, hogy még könnyebben érthető, a gépi kódtól távolabbi, az emberi gondolkodáshoz közelebbi módját találjuk meg annak, hogy megadjuk, milyen utasításokat hajtson végre a számítógép. Meg ugye minden processzor más-más utasításokat ismer, máshogy kell paraméterezni, stb… Megjelent az igény arra is, hogy ugyanazon programnyelvnek ugyanazon forráskódjából többféle különböző processzorra is le lehessen fordítani ugyanazt a programot. Persze minél magasabb szintű egy programnyelv, a fordítás annál komplexebb feladattá válik.
~ ~ ~
De itt véget is ér az analógia. A nyelvészet foglalkozik pl. a beszédhangokkal. Na az a programnyelvek esetén értelmezhetetlen. Vagy foglalkozik a morfológiával. Az is értelmezhetetlen a programnyelveknél. Foglalkozik pl. szociolingvisztikával, nyelvtörténettel, lexikológiával, etimológiával, dialektusokkal, meg a jó ég tudja még mivel. Ezek is értelmezhetetlenek a programnyelvek esetén. Olyan fogalmak, amikkel a nyelvészet is foglalkozik, mint pl. szintaktika, szemantika, azok ugyan értelmezhetők a programnyelvekre, de teljesen máshogy működik, másról szól.
Szóval ahogy írtam, a programozónak kb. annyira hasznos a nyelvészeti tudás, mint a csontkovácsnak a fémek ötvözésével kapcsolatos tudás.
#4: "láthatóan a magyar nyelv egyre nehezebben megy neked (a "feature" egy angol szó, és még csak jövevényszónak sem tekinthető)"
Amúgy tök jó, hogy ennyi okosat írsz, és mindent helyére teszel, ebből igazán sokat tanulhatunk (köszönöm is!) – de speciel ebben kicsit eltévedtél: a feature szót szokták használni a magyarban, úgyhogy ennek a használata nem mutatja, hogy valakinek ne menne a magyar nyelv (épp ellenkezőleg).
Persze, nem egy "irodalmi", választékos, szép megoldás, de hát a nyelv nemcsak olyasmikre való, neked nem kell mondanom.
Lehet, hogy bizonyos szempontok szerint te nem tekinted jövevényszónak, de a "jövevényszónak" – ahogy nyilván tudod – már eleve nincs egy olyan, egzakt definíciója, amely alapján egyértelműen, objektíve megmondható volna egy-egy szóról, hogy jövevényszó-e, így kicsit megtévesztő az a megfogalmazás, hogy "jövevényszónak sem tekinthető".
(Profi vagy abban, hogy objektív(nek tűnő), vitathatatlan(nak tűnő), "tudományos" módon fogalmazz meg valamit ("láthatóan", "tekinthető"), de ettől ez még nem lesz objektív igazság, csak a te szerény véleményed, amely ez esetben – úgy tűnik – hiányos ismeretekre támaszkodott.)
Azt azért nem lehet mondani, hogy a nyelvészetnek nincs semmi köze a programozáshoz. Pl. a generatív nyelvtan és a formális nyelvek, amik a fordítóprogramok (compilerek) alapját képezik, Chomsky munkásságára épülnek, aki az egyik legnagyobb ma élő nyelvész.
Nyilván egy programozási nyelv más, mint egy beszélt természetes nyelv, de hasonlóan analizálható mindkettő, felbontható elemekre, tokenekre, különböző funkciójú részekre.
Aki azt mondja, hogy semmi köze a neylvészetnek a programozáshoz, az tuti nem végzett egyetemet.
"fonetika, morfológia, pragmatika nincsen, egy-egy utasításnak mondjuk kontextusa nincs"
Fonetika valóban nincs, de morfológia van, hiszen pl. egy utasítás felbontható akár függvénynév, paraméterlista vagy objektumok esetén metódus alapján, illetve pragmatika is, mert pl ha egy függvénynek nincs explicit dekarálva a visszatérési típusa, de a return után "blablabla" szerepel, akkor egyértelmű, hogy string típusú a függvény. Ez persze nyelvtől függ, mert pl egy C++ esetén kötelező megadni a típust.
És kontextus meg pláne van. Egy this kulcsszó teljesen mást fog jelenteni egyik objektumban, mint a másikban. Ugyanígy egy változó lehet lokális vagy globális és akár teljesen más típusú az egyik scope-ban, mint a másikban.
14-es [ 21:04] te nagyon sokat hazudsz. Azt vettem észre, hogy nálad valami komoly defekt lehet.
Három nyelvet senki nem beszél anyanyelvi szinten. Aki meg sok (legalább öt-hat) nyelvet beszél, az már elég erősen képben van nyelvészeti kérdésekben, legalábbis egy olyan átlagemberhez képest, aki történetesen nem nyelvész. Nem is sorolom tovább, hogy mi másban tévedsz, mert csak ostoba módon okoskodsz, bornírt hülyeségeket állítasz, vég nélkül.
Miért lenne otthon a nyelvészetben, aki akárhány nyelvet tud? :-o
_Egy_ nyelv megtanulásához nem kell nyelvészetet tudni (illetve a nyelvtanulásból sem fakad, hogy megtanulná a nyelvészetet az illető). Kettőhöz(/ből) pont annyira nem. Többhöz miért kéne?...
Minél több nyelvet tud valaki, annál több olyan dolgot tud, persze, aminek egy részét a nyelvészek is, de attól az még nem ugyanaz, csak kis átfedés van.
Én nem vagyok nyelvész, csak halovány fogalmam van a témáról, "műkedvelő amatőrként". :-) Te mennyit tudsz a nyelvészetről, milyen szinten, honnan?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!