Egy idegen szót el tudok fogadni olyannak, amilyen. Ha mindenképpen magyarítani szeretnénk, akkor ezt ne stupid módon csináljuk. A közkeletű számítástechnikában a "load" szó elég rég óta jelen van, és általában töltés, betöltés szokott lenni a magyar megfelelője (ami véleményem szerint picit szerencsésebb fordítás a terhelésnél).
Az "over"-nél hasonló a helyzet. Az override-ot sem legázolnak vagy megsemmisítnek fordítjuk, inkább a felülbírál és hasonló magyar szavakat használjuk. Miér? Mert a számítástechnikában a logikai jelentésében szerepel a szó.
Ha egy teherhajóról beszélünk, lehet a túlterhelés a megfelelő magyar fordítás, de ebben a logikai értelemben nemhinném, hogy helytálló.
Ha mindenáron magyarítani akarunk, természetesen megtehetjük. Például az overload lehetne magyarul "ingyombingyom" is. De ha választhatunk, használjunk olyan tagokat, amik közelebb vezetnek a kifejezés megértéséhez.
Itt nincs "túl". Nincs semmi, amit kapacitásán felül használnánk. Arról nem is beszélve, hogy a túltöltés egyértelműen negatív hagszínű. A túl-nak van egy "valaminél tovább" jelentése is, de ilyenkor a "valamin túl" formában hazsnáljuk.
Az ingyombigyom legalább nem adna rossz tippet a szó jelentéséről egy ártatlan szemlélőnek. Amúgy meg mi baj a "felülír"-ral?
Valahány magyar nyelvű szakkönyvet fogtam a kezemben, mindegyik a túlterhelés kifejezést használta. Hogy a load töltés jelente, nem tudom, ha egy szervernek a loadjáról van szó, az a terheltségét jelenti, és nem a töltését.
Szerintem a túlterhelés kifejezés szemléletes, jó fordítás. Mindazonáltal ez a hivatalos fordítása is. Ha idegennyelven elfogadott ez a szóhasználat, téged miért zavar.
A felülír nem tudom, hogy jön ide, a blogmark magyarázó szövegében is eredetileg overload volt, azt cseréltem le a magyar megfelelőjére.
A szervernél pontosan a terhelés értelmében használjuk. Ugyebár ott egy mérhető dologról van szó, és kapacitásról, ami véges. Ha egy szerver túlterhelt, akkor kapacitása határait súrolja, és ez egy negatív dolog. Ugyanbban az értelemben használjuk, mint egy túlterhelt szekérnél. 100%ban egyetértek a frodítással.
Azonban programszervezésnél semmi, ezzel rokon értelme nincs. Ott egy létező dolgot (eljárást) felülbírálunk, felülírunk egy újjal. Az, hogy elterjedt egy rossz fordítás, nem jelenti azt, hogy helyes. Olyan pedig, hogy "hivatalos fordítás" nem létezik. A nyelvésznácik erre még nem tették rá a kezüket.
Itt nincs terhelés, és főleg nincs túl. Ha van egy eljárás, az vagy felülírod, vagy nem. Nincs egy határ, vagy mennyiség, amin túl kéne menni, és nincs teher sem (vagy terhelés), aminek mennyisége lenne. Egy túlterhelt metódus nem azért nem fut le, "mert ez már túl sok neki", hanem, mert felülbírálja egy másik.
Talán a legjobban az átdefiniás, felüldefiniálás hordozza érzékelteti legjobban a dolgot. Bár szótagszámban kétszer olyan hosszú, mint angol változata, a maygar sosem volt az egytagú szavak nyelve... A "felülírás" szerintem egy józan kompromisszum a szótagszám és a tartalom érzékeltetése között.
Ez újabb nehézségeket okozna, pl: ,,Fontos, hogy lássuk a felüldefiniálás és a felüldefiniálás közötti különbséget.'' (T.i. overloading vs overriding/redefining) ;)
Nem vagyok meggyőződve róla. Ha OOP tervezésről beszélünk, akkor viszonyleg egyértelmá, hogy mit akarunk mondani. Az "overriding" pedig 100%ban azt jelenti, amit a overloading csinál :)
Nem. Az overload polimorfizmus, az override felülírás. Sem a felülírás, sem a felüldefiniálás nem jó szó ezért.
Az én jelöltjeim a felültöltés vagy felülszabályzás, amik hülyénhangzásban a túlterhelés méltó társai, de legalább közelebb vannak. Vagy esetleg rá lehet menni a konkrétumokra: típusszabályzás (paramétertípus szerinti disztingválás, "szabályzás", szabályzás olyan értelemben, hogy kontrollt gyakorolsz a típusok szerint). "Típusvezéreltség" – ez milyen szép, csak ez már elvisz messzire.
Az overloadnak semmi köze nincs a polimorfizmushoz, pontosan az overriding az ami ezt lehetővé teszi. A polimorfizmus az azt jelenti, hogy különböző objektumok ugyanarra a kérésre eltérően reagálhatnak.
Mindkét szó kapcsolódik a polimorfizmushoz. Az overriding öröklődéssel, az overloading pedig típusszelekcióval. A kettő közül sztem az utóbbi van közelebb a szó szoros értelméhez (de a lényeg az, hogy mást jelentenek).
Ez lehet, de ezzel együtt a polimorfizmusról így önmagában nem hiszem, hogy bárkinek a függvény polimorfizmus ugrana be. Ráadásul Vbence OOP-t emlegetett, ott meg végképp azt jelenti, amit fentebb írtam: ugyanarra az üzenetre (overload esetén ugye nem erről van szó) a különböző objektumok eltérően tudnak reagálni. És ezt az override-ing biztosítja, nem az overloading.
vbence azt mondta, hogy OOP témában egyértelmű, miről akarunk beszélni, ha felüldefiniálásról van szó. Vagyis ezek szerint ha az overloadot felüldefiniálásnak fordítjuk, akkor egyértelmű, hogy az ebbéli fordítása alatt nem az overloadot fogjuk érteni. (legalábbis ha OOP-ről van szó; csak akkor hogy fogom nevezni azt, ha egy metódust overload-olok...)
Az meg nem állja meg a helyét, hogy az overriding 100%-ban azt jelentené, amit a overloading csinál.
Erre reagáltam. De valóban, az overriding elsődleges fogalom (tőlem) OOP témában, ha polimorfizmusról van szó, mert alapvetően azzal van megvalósítva. Tehát így vitatható az állításom, csak az én felfogásomban az overload egy echte megvalósított többalakúság (nevében is közelebb áll), az override pedig inkább egy arra lehetőséget adó mechanizmus. (Az OOP polimorfizmushoz kell egy hierarchia -- szülőosztály --, ezért is áttételesebb a fogalom, míg overloadnál instant egyenrangú alakokat kapsz.)
De legyen igazad (indokolatlan volt lehagyni a típus- előtagot a polimorfizmus elől), a lényeg itt az volt, hogy nem lehet az override fordítását az overloadra használni, mert nem ugyanaz a kettő.
(Szerk. Erre nem figyeltem, OK OK, a kettő nem állítható párhuzamba, az input ugyanaz/nem ugyanaz eltérés miatt. OOP polimorfizmus: override. Megadom magam, a magyarázat nem volt helytálló.
Tehát vbencének adott válaszom helyesbítve: nem ugyanazt csinálja az override, mint az overload, mert bár mindkettő polimorfizmus, a kettő tök más. Így jó? Kösz a korrekciót.)
Én az "operator overloading" konstellációban hallottam eddig, ami az OOP kontextusában jelentkezik, legalábbis én C++ tanulmánaim során találkoztam vele (és kellett hozzá objektum, aminek egy metódusa futott le mondjuk a + műveletre).
Ha azt mondjuk, hogy a "Foo objektumban felülírtuk / átdefiniáltuk az összeadás műveletét", szerintem megérti mindenki aki ismeri a technikát. Ezért mondtam, hogy ebben a kontextusban nincs mivel összekeverni. (Legalább is nehéz..)
Szerencsére ma már a "szabályos kifejezések" értelmetlen de hivatalos fordítást egyre többen cserélik le a "mintaillesztő kifejezés" értelmes, jelentés tartalommal bíró, habár nem hivatalos megfelelőjére. Remélhetőleg ez lesz a hivatalos is valamikor talán.
A túlterhelés egy hülye és béna fordítás, hiába ez a hivatalos. pl. a kiterjesztés/kibővítés értelmesebb, bár nem szó szerinti fordítás lehetne. (tudom, hogy nem az, de talán egy alapot jelenthet egy értelmes eszmecsere elindításához a témakörben.)
pp
Annak idején mindig röhögő görcsöt kaptam a directory, könyvtárra való fordításától.
- Gyerekek jártok könyvtárba?
- Persze, minden nap: cd Games
:)
A mappa a folder fordítása, és egy metafora a directoryra. Így aztán semmivel nem volna jobb fordítása ennek, mint a könyvtár (ugyanúgy távol áll az eredeti angol szó jelentésétől és ugyanúgy félreérthető, mint a directory és a library azonos fordítása).
A SZTAKI szótár nem számítástechnikai szakszótár, így nem releváns, másrészt attól, hogy MTA, még nem lesz „hivatalos”.
A túlterhelés ez esetben sima fantáziátlan tükörfordítás, és szvsz helytelen. Ui. minden fordítás értelmezés is egyben, az eltérő konnotációk miatt még a túlterhelés sem feleltethető meg egy az egyben az overloadnak (ettől még az értelmezettség megmarad, legfeljebb szándéktalanul). Az angolban az overloadot bevetten alkalmazzák a polimorfizmus egy válfajára, egyfajta szemantikai túl/rá/felül-töltöttségre, tuningra utal (CPU overclock/underclock felül/alul értelmében). Ez a fajta konnotációja a magyar túlterhelésnek nincs meg, és én nem is erőltetném. Terhelés/töltés kérdésében is világos, hogy az utóbbi van közelebb.
Hanem mert számtalan szakkönyvben ezt használják. (legalábbis ahol én találkoztam vele) Első találkozásunkra jól emlékszem úgy 95-96 környékén, vagy előbb, amikor a "Bevezetés a C++ programozásba" c. könyvet olvastam. Ott volt az operator overloading-ról szó. Általában az a baj ezekkel, hogy a magyar fordítás léte fontosabb annál, hogy az adott szó milyen értelmet hordoz. Ez egyfajta vaskalapos hozzáállás, hogy mindent magyarul, mert ez az anyanyelvünk. Szóval ez azért hivatalos, mert a szakkönyek ezt használják, tehát aki olvas róla magyarul, az ehhez a szóhoz ezt a fogalmat társítja. Elvileg, mert engem spec túlterhel egy picit mindig, hogy kitaláljam, hogy akkor most az overloading-ról beszélünk. óverlódingról, így szépen magyarul ;))
A hozzászólásod többi részével pedig maradéktalanul egyetértek.
Általában az a baj ezekkel, hogy a magyar fordítás léte fontosabb annál, hogy az adott szó milyen értelmet hordoz. Ez egyfajta vaskalapos hozzáállás, hogy mindent magyarul, mert ez az anyanyelvünk.
Bocs, de a linkből nem egyértelműen sikerült kiderítem azt, amire kíváncsi vagyok:
légyszi, valaki mondja már el, hogy mi akar lenni ez a "paramétertípus szerinti túlterhelés" ???
Köszi...
class Foo {
private int value;
public void add(int num) {
// itt hozzáadjuk a kívánt értéket valmihez
value += num;
}
public void add(float num) {
// itt mondjuk kerekítünk előtte
int inum = Math.round(num);
add(inum);
}
}
Szóval egy függvényt nem csupán a neve, hanem a neve és paraméterei (azok típusa) azonosítják, így lehet két külön funkció egyazon néven, ha különbözik a paraméterlistájuk. A cikk hasonlót valósít meg a JS-ben.
Köszi, így már értem.
És egyben csatlakozok a "túlterhelés" kifejezés ilyen célra való használatának ellenzéséhez. (Jó mondat, ugye? :-)
javaslatom esetleg: áttöltés (benne van a töltés "load" szó és talán érthetőbb: az egyik proceduradef helyett a másikba (a megfelelőbe) töltjük a paramétereket)
Túlterhelés
Overload
Ha muszáj...
Az "over"-nél hasonló a helyzet. Az override-ot sem legázolnak vagy megsemmisítnek fordítjuk, inkább a felülbírál és hasonló magyar szavakat használjuk. Miér? Mert a számítástechnikában a logikai jelentésében szerepel a szó.
Ha egy teherhajóról beszélünk, lehet a túlterhelés a megfelelő magyar fordítás, de ebben a logikai értelemben nemhinném, hogy helytálló.
Ha mindenáron magyarítani akarunk, természetesen megtehetjük. Például az overload lehetne magyarul "ingyombingyom" is. De ha választhatunk, használjunk olyan tagokat, amik közelebb vezetnek a kifejezés megértéséhez.
Itt nincs "túl". Nincs semmi, amit kapacitásán felül használnánk. Arról nem is beszélve, hogy a túltöltés egyértelműen negatív hagszínű. A túl-nak van egy "valaminél tovább" jelentése is, de ilyenkor a "valamin túl" formában hazsnáljuk.
Az ingyombigyom legalább nem adna rossz tippet a szó jelentéséről egy ártatlan szemlélőnek. Amúgy meg mi baj a "felülír"-ral?
Magyar túlterhelés
Szerintem a túlterhelés kifejezés szemléletes, jó fordítás. Mindazonáltal ez a hivatalos fordítása is. Ha idegennyelven elfogadott ez a szóhasználat, téged miért zavar.
A felülír nem tudom, hogy jön ide, a blogmark magyarázó szövegében is eredetileg overload volt, azt cseréltem le a magyar megfelelőjére.
Fordítás
Azonban programszervezésnél semmi, ezzel rokon értelme nincs. Ott egy létező dolgot (eljárást) felülbírálunk, felülírunk egy újjal. Az, hogy elterjedt egy rossz fordítás, nem jelenti azt, hogy helyes. Olyan pedig, hogy "hivatalos fordítás" nem létezik. A nyelvésznácik erre még nem tették rá a kezüket.
Itt nincs terhelés, és főleg nincs túl. Ha van egy eljárás, az vagy felülírod, vagy nem. Nincs egy határ, vagy mennyiség, amin túl kéne menni, és nincs teher sem (vagy terhelés), aminek mennyisége lenne. Egy túlterhelt metódus nem azért nem fut le, "mert ez már túl sok neki", hanem, mert felülbírálja egy másik.
Oké
felüldefiniálás :)
Felüldefiniálás vs felüldefiniálás
más mondakör
Nem.
Az én jelöltjeim a felültöltés vagy felülszabályzás, amik hülyénhangzásban a túlterhelés méltó társai, de legalább közelebb vannak. Vagy esetleg rá lehet menni a konkrétumokra: típusszabályzás (paramétertípus szerinti disztingválás, "szabályzás", szabályzás olyan értelemben, hogy kontrollt gyakorolsz a típusok szerint). "Típusvezéreltség" – ez milyen szép, csak ez már elvisz messzire.
hát pont nem
Üdv,
Felhő
irodalom
Mindkét szó kapcsolódik a polimorfizmushoz. Az overriding öröklődéssel, az overloading pedig típusszelekcióval. A kettő közül sztem az utóbbi van közelebb a szó szoros értelméhez (de a lényeg az, hogy mást jelentenek).
polimorfizmus
Üdv,
Felhő
vbence azt mondta, hogy OOP témában egyértelmű, miről...
Az meg nem állja meg a helyét, hogy az overriding 100%-ban azt jelentené, amit a overloading csinál.
Erre reagáltam. De valóban, az overriding elsődleges fogalom (tőlem) OOP témában, ha polimorfizmusról van szó, mert alapvetően azzal van megvalósítva. Tehát így vitatható az állításom, csak az én felfogásomban az overload egy echte megvalósított többalakúság (nevében is közelebb áll), az override pedig inkább egy arra lehetőséget adó mechanizmus. (Az OOP polimorfizmushoz kell egy hierarchia -- szülőosztály --, ezért is áttételesebb a fogalom, míg overloadnál instant egyenrangú alakokat kapsz.)
De legyen igazad (indokolatlan volt lehagyni a típus- előtagot a polimorfizmus elől), a lényeg itt az volt, hogy nem lehet az override fordítását az overloadra használni, mert nem ugyanaz a kettő.
(Szerk. Erre nem figyeltem, OK OK, a kettő nem állítható párhuzamba, az input ugyanaz/nem ugyanaz eltérés miatt. OOP polimorfizmus: override. Megadom magam, a magyarázat nem volt helytálló.
Tehát vbencének adott válaszom helyesbítve: nem ugyanazt csinálja az override, mint az overload, mert bár mindkettő polimorfizmus, a kettő tök más. Így jó? Kösz a korrekciót.)
OOP
Ha azt mondjuk, hogy a "Foo objektumban felülírtuk / átdefiniáltuk az összeadás műveletét", szerintem megérti mindenki aki ismeri a technikát. Ezért mondtam, hogy ebben a kontextusban nincs mivel összekeverni. (Legalább is nehéz..)
Hasonlóra volt már példa ;)
A túlterhelés egy hülye és béna fordítás, hiába ez a hivatalos. pl. a kiterjesztés/kibővítés értelmesebb, bár nem szó szerinti fordítás lehetne. (tudom, hogy nem az, de talán egy alapot jelenthet egy értelmes eszmecsere elindításához a témakörben.)
pp
Annak idején mindig röhögő görcsöt kaptam a directory, könyvtárra való fordításától.
- Gyerekek jártok könyvtárba?
- Persze, minden nap: cd Games
:)
Ehh
Akkor már inkább ...
Az más
A SZTAKI szótár nem számítástechnikai szakszótár, így ne
A túlterhelés ez esetben sima fantáziátlan tükörfordítás, és szvsz helytelen. Ui. minden fordítás értelmezés is egyben, az eltérő konnotációk miatt még a túlterhelés sem feleltethető meg egy az egyben az overloadnak (ettől még az értelmezettség megmarad, legfeljebb szándéktalanul). Az angolban az overloadot bevetten alkalmazzák a polimorfizmus egy válfajára, egyfajta szemantikai túl/rá/felül-töltöttségre, tuningra utal (CPU overclock/underclock felül/alul értelmében). Ez a fajta konnotációja a magyar túlterhelésnek nincs meg, és én nem is erőltetném. Terhelés/töltés kérdésében is világos, hogy az utóbbi van közelebb.
Nem a SZTAKI szótár miatt hivatalos
A hozzászólásod többi részével pedig maradéktalanul egyetértek.
Tényleg?
Én sajnos pont nem ezt tapasztalom manapság.
túlterhelés?
légyszi, valaki mondja már el, hogy mi akar lenni ez a "paramétertípus szerinti túlterhelés" ???
Köszi...
"Túlterhelés" nélkül
köszi
És egyben csatlakozok a "túlterhelés" kifejezés ilyen célra való használatának ellenzéséhez. (Jó mondat, ugye? :-)
javaslatom esetleg: áttöltés (benne van a töltés "load" szó és talán érthetőbb: az egyik proceduradef helyett a másikba (a megfelelőbe) töltjük a paramétereket)