Mi lehet ennek a furcsaságnak az oka?
Két MI-t használok. A chatGPT-t (USA) és a DeepSeek-et (CHINA). Van egy fejlesztésem, ami egy primitív scriptnyelv. A nyelv érdekessége, hogy ciklus-szervező utasításokat nem ismer, de cimkéket támogat és ha egy cimke alatt van egy utasítás, a "return", akkor a cimke és a return közötti sorok szubrutinként funkcionálnak, tehát a return sorhoz érve a végrehajtás visszatér a cimkére ugrás (hívás) előtti sorra. Ha csak cimke van, tehát nincs return, akkor ugye, nincs visszatérés sem.
a két MI ismeri ezt a scriptnyelvet és mindkettő képes scripteket generálni a nyelv szabályai alapján. Azt is tudják, hogyan kell a "return" segítségével szubrutinokat képezni.
Az érdekesség az, hogy mindkét intelligencia oda biggyeszti a return kulcsszót a scriptjei legvégére, aminek nincs sok értelme. Vajon miért teszik meg ezt a fölösleges lépést és főleg, miért teszi meg mind a kettő??
Ha tudnád pontosan mik is ezek az "MI"-k, akkor értenéd.
LLM-nek nézz utána, hogy pontosan mit takar.
Valószínűleg abból indulhatnak ki, hogy az operációs rendszer elvárja, hogy a programok adjanak neki valami visszajelzést a működésük sikerességéről. Ezt tipikusan azzal érik el, hogy a main függvény (lehet nem minden nyelven így hívják, de arra a függvényre gondolok amit a rendszer automatikusan meg akar hívni, amikor futtatsz egy végrehajtható fájlt) return-öl valamilyen értéket, ami közmegegyezés szerint 0 ha a program hiba nélkül futott, és valamilyen más szám ha hiba történt.
Természetesen nem kötelező minden programnyelvnek így működnie, de ha nem fejtetted ki kifejezetten az úgynevezett mesterséges intelligenciának (ami valójában egyáltalán nem intelligens, gondolkodni ugyanis nem tud), hogy a te nyelved határozottan nem így működik (mert mondjuk lesz hozzá egy C-ben írt interpreter, ami majd úgy fog viselkedni ahogy az operációs rendszer elvárja), akkor könnyen lehet, hogy oda fog tenni felesleges return-öket a szkript végére.
Az operációs rendszerek a programokat úm. függvényként kezelik és elvárnak tőlük valamiféle visszatérési értéket, ami, ahogy az előttem posztoló is írja, tájékoztatást nyújt a lefutott program által hátrahagyott állapotról. Ti. hogy van-e nyitva hagyott állomány, port, stb. vagy sem.
Ezért lehet a program végi return, mert az a főprogramból való kilépést, a rendszerbe (operációs rendszerbe vagy interpreterbe) való visszatérést jelenti, jelentheti a mesterséges intelligenciák számára.
"Az operációs rendszerek a programokat úm. függvényként kezelik" csak az a baj, hogy ez ebben a formában nem igaz.
Illetve azon múlik, hogy mit értesz "függvény" kifejezés alatt. De alapvetően a függvény teljesen más. bár lehet kiizadni olyan definciót ami alapján egy elindott program függvény lesz. De nagyon nem az.
chatGPT:
Igen, az operációs rendszerek általában úgy kezelik az általuk elindított programokat, mint függvényeket vagy folyamatokat, amelyek végrehajtásuk után visszatérési értéket adnak. Ennek a fő oka az, hogy a visszatérési érték lehetővé teszi az operációs rendszer (vagy más folyamatok) számára, hogy információt kapjanak a program futásának sikerességéről vagy az esetleges hibákról. Nézzük meg részletesebben:
1. A programok visszatérési értéke
Egy program futása során a visszatérési érték egy egész szám (általában int típusú), amely jelzi, hogy a program milyen állapotban fejeződött be.
A visszatérési érték hagyományosan a 0-t jelenti sikeres végrehajtás esetén, míg a nem nulla értékek valamilyen hibát vagy speciális állapotot jeleznek.
2. Hogyan használja az operációs rendszer?
Az operációs rendszer a program befejezése után elmenti a visszatérési értéket, amit például más folyamatok is lekérdezhetnek. Unix-szerű operációs rendszerekben ez az érték a process exit status néven ismert.
Szkriptekben és más programokban ez az érték felhasználható döntéshozatalra, például feltételes utasításokban.
6: Én nem sértegettelek. Kérlek Te se tedd.
Viszont amit írsz az teljesen értelmetlen. Ld.:
[link] Ez sehol nem említi, hogy a process függvény lenne. (mnagyjából azonos magyarul [link] )
Illetve [link] pontosan írja, hogy nem függvényértket ad vissza, hanem (és ebben rajtad kívül mindenki egyetért) exit statuszt. Az, hogy ez távolról hasonlít a függvényre az egy dolog. De a futó program nem függvény.
8-at kiegészíteném még ezzel (igaz ez linux és nem windows, de az is hasonló):
Illetve:
[link] (sehol nem említi, hogy a futó processt az oprendszer függvénynek tekintene)
És nem ChatGPT ami sok esetben főleg magyar nyelven zöldségeket tud beszélni.
És ezt azért tettem be ezeket a hivatkozásokat kiegészítva 8-ast, hogy ha valaki ide téved ne a ChatGPT-s zöldség maradjon meg.
Neked kéne befejezned, mi több, el sem kellett volna kezdened.
A pascal (és más nyelvek) fordítói a fordítás során teszik hozzá azt, amit te itt annyira hiányolsz.
De hogy visszatérési érték van, létezik, arról meggyőződhetsz magad is, futtass egy pascalban írt, majd lefordított hello world-öt és futtasd le:
./hello_world
echo $?
"ezt meg honnan vetted, hogy a scriptnyelvek virtuális gépben futnak?"
Az, hogy neked alapvető dolgokról, láthatóan fogalmad sincs, nem az én problémám, hanem a tiéd.
A wikpédiás műveltségedet meg végképp ne itt villogtasd, mert még meg találok vakulni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!