ugrás a tartalomhoz

Ékezetes változónév <> teljesítmény?

laji · 2006. Jún. 23. (P), 03.51
Tud róla valaki?

A PHP (4.3.5, utf-8) megengedi az ascii 255 feletti (tehát bármely ékezetes, sőt akár pl. cirill) betűket tartalmazó változónevek használatát. Ha ezt kihasználom, csökken-e a PHP-feldolgozó teljesítménye?

Hogy ne nyissak feleslegesen új társalgót: ugyanez lenne a kérdésem a MySQL oszlopnevekre vonatkozóan is (4.1.11, utf-8).

Köszönöm a segítségeket.
 
1

neked rossz

Bártházi András · 2006. Jún. 23. (P), 06.04
A számítástechnika történelme azt mutatja, hogy az ékezetes változónevek maga a GONOSZ. Egyébként nem hiszem, hogy számottevő teljesítménycsökkenés lenne, ha van egyáltalán valami különbség. De hogy te csak szívni fogsz vele, az tuti... Mert mi van, ha a rendszergazdának valamibe bele kell nyúlnia, és a szerveren nincs utf-8 képes editor, mi van, ha át akarsz térni egy másik editorra, és annak a beépített egyébként hiper-szuper PHP értelmezője / kódszínezője nem bírja az ékezeteket (Eclipse-nek például gondjai vannak diff készítésekor), stb., stb., stb. Határozottan azt mondom, hogy ne is gondolkozz ilyenben.

Ha pedig egyszer valamiért odáig jut a dolog, hogy egy nemzetközi projektben résztvennél (akár itt Mo-on), és a programjaid ékezetesek... Nem tudom, én elborzadnék, ha valaki nekem dolgozna, és ékezetes változóneveket használna.
2

Nem is annyira... :)

laji · 2006. Jún. 23. (P), 08.18
Köszönöm a segítséget!

Jó hírnek vélem, mert nekem a lényeg a teljesítmény (e kérdésben). A többi vonatkozással kapcsolatban:

a szerveren nincs utf-8 képes editor
Szvsz ha valaki még a kovakőnél tart, az nem ok arra, hogy elhajítsam az öngyújtómat :)

nemzetközi projektben résztvennél
Ez, mondjuk, jogos. Viszont, legalábbis nekem többet ér a szép, helyes magyar szöveg látványa (és főleg, ugye, haszna), mint az a munka, amit ilyen esetben be kéne fektetnem a nevek kicserésébe egy szerkesztővel (legf. 30 perc több tízezer soros anyagon is).

Félre ne érts, nem kötözködni akartam - csak kinek-kinek más a szempontok rangsorrendje.

A MySQL esetéről nincs értesülése valakinek?

UI
A szerkesztőkkel kapcsolatban egyébként igazad van. A Dreamweaver pl. eleve kiakad, ha többjegyű (multibyte) szöveggel, pl. cirillel van dolga: onnantól kezdve egérrel szinte képtelenség kijelölni (máshová ugrik), csak a billentyűzet marad. De hát ugye, ha valaki többjegyű betűkkel adja meg a változókat, akkor úgyis eleve feltételezhető, hogy a feldolgozandó szövegek is olyanok - akkor meg már nem oszt, nem szoroz, hogy a szerkesztő a változónevektől is kiakad(na), hisz már megtette ezt vele maga a szöveg :)
3

ekezetes valtozonev tavozz tolem

Anonymous · 2006. Jún. 23. (P), 08.42
Annyira, de annyira igaza van az elso hozzaszolonak. Be kene keretezned, es kitenni a faladra. De midig vannak akik nem szeretnek a mas karan tanulni :)
12

Idővel talán megváltozik a véleményed

jbtibor · 2006. Jún. 24. (Szo), 13.54
Idővel rájössz, hogy a kód nem attól szép, hogy ékezetes betűk vannak benne, hanem attól, hogy ha bármelyik programozó ránéz (akár egy kezdő is), könnyen megérti azt.
Ehhez pedig ilyesmik kell teljesüljenek:
1. Legyen úgy formázva, ahogy az adott nyelv coding standardja előírja (tudomásom szerint pont a php-nek nincs ilyenje).
2. Legyen nagyon-nagyon-nagyon sok komment. Ez neked is hasznos, elég 1 hónapig egy másik projekten dolgozni, és utána már gondolkozni kell, hogy az előző projekben mi mire való.
3. Legyen minden angolul.
4. Legyen minden nagyon beszédesen elnevezve (változók, függvények, osztályok, konstansok, stb).
5. Az 1. figyelembevétele mellett legyen nagyos egységes a stílusod. Nagyon zavaró, mikor valaki minden nap más stílusban kódol.

Hogy miért a 3.? Ha majd elkezded olvasni más emberek kódját is, akkor rájössz mennyire "kellemes", ha egy német, kínai vagy orosz szövegekkel és változónevekkel tele kódot kell olvass. Sokkal több idő egy ilyen kódot értelmezni, mert nem tudod mit jelentenek a változók és a függvények.
De az is előfordulhat, hogy kapsz egy orosz vagy indiai kollégát (mindkettő egyre gyakoribb Magyarországon), és akkor kezdheted írni neki a szótárt.

Egyébként az "én magyar vagyok mindenki más beszéljen magyarul" hozzáállással általában elvágja magát az ember a legnagyobb információforrástól, az internettől.
Szeretjük, nem szeretjük, a programozás hivatalos nyelve az angol (mint az orvosoké a latin). Ezen a nyelven jelenik meg leghamarabb minden új dolog, ezen a nyelven van a php, Microsoft és más doksi, és a fordítások csak lassan követik ezt, és néha inkább csak ferdítések.

Editor: nagyon sokszor a környezet adott, és nincs lehetőséged változtatni. Kapsz az ügyféltől egy IP címet és egy logint, amivel be tudsz lépni a szerverükre, de nem szabad installálj semmit. Na ilyenkor mesélhetsz neki a kovakőről és a kőbaltáról, jó esetben röhög egyet, rosszabb esetben másra bízza a munkát (minden ügyfél meg van győződve, hogy ami neki van, az a legjobb - és ebben igaza is van, hiszen ő az ügyfél, mindig igaza van).

"nevek kicserésébe egy szerkesztővel (legf. 30 perc több tízezer soros anyagon is)."
Ez elég nevetséges, egy valódi projekten nem így működnek a dolgok. Lehet, hogy 2 hónapig dolgozol valamin, és utána már nincs is hozzáférésed a kódhoz.
Ráadásul egy valódi projekten source control van, azzal együtt pedig már nem olyan egyszerű a csere.
Meg amúgyis egy adott pont után nem állhatsz neki csak úgy módosítani a forrást, hiszen hiába mondod, hogy csak átneveztél valamit, minden módosítás után újra kell tesztelni a rendszert, ami sok idő és pénz.

Lehet tévedek, de nekem úgy tűnik, hogy eddig egyszemélyes vagy max. 2-3 emberes projekteken dolgoztál, a kódmegosztás fájlszinten történt, egy ember pedig csak egy fájlt kezelt.
Ezt nehogy sértésnek vedd, a legtöbb programozó így kezdi, majd ha több tapasztalatot szerzett, akkor csak mosolyog a korábbi nézetein.

Az eredeti kérdésedre válaszul: kizártnak tartom, hogy a használt karakterkészlet befolyásolná a teljesítményt.
13

Ez alapos volt, köszönöm...

laji · 2006. Jún. 24. (Szo), 17.29
a részletes véleményt.

1. Az 5 pont: 1,2,4,5-tel mélységesen egyetértek, s (a kezdeti dolgaim leszámítva) ezekre figyelek is mindig.

A 3. pontot én másképp látom. Természetesen vannak (látszólagos) előnyei annak, ha az ember a szakma vezető nyelvén csinál mindent. Én is kénytelen vagyok beletörődni, hogy a szükséges ismeretek nagyobb részét angolul kell megszereznem. Viszont ha úgy gondolkodunk, hogy legyen minden angol, mert akkor a különböző nemzetiségű munkatársak könnyebben együtt tudnak működni, ez, következetesen végigvezetve, oda visz, hogy felejtsük el a világ minden nyelvét, s beszéljen mindenki angolul. Ugyanis olyan nincs (ez nyelvészeti alaptétel), hogy "munkanyelv" és "otthoni nyelv" - az "otthoni" ilyen esetekben pár száz éven belül kihal. Ez ugyanolyan érvényű társadalomtudományi tétel, mint a számtanban a 2×2=4, bizonyítja többezer (!) kihalt nyelv, az erdélyi magyarok eltűnése a vegyes házasságok utódjaiból, az amerikás magyarok 2-3. nemzedékének nyelvvesztése, stb. stb. stb. S akkor itt merül fel, hogy valamit valamiért: inkább ne kapjak munkát, s éhezzek, mintsem eldobjam az anyanyelvem. Nem beszélve arról, hogy a világ (legalábbis egyik) leggazdagabb, mert gyökrendszere (ez a kulcsszó) révén nagyon következetes nyelve az, amit el akarnánk dobni. Amiért ez fontos: ha van egy fogós kérdésed, fordítsd le színmagyarra, vezesd végig színmagyarul az érveket - s az esetek felében már azonnal meg is van a megoldás (többek közt ezért van annyi Nobel-díjasunk). S ezt figyelembe véve már azonnal el is olvadt az idegen nyelv használatának látszólagos előnye (nem beszélve a továbbiakról). Én élvezettel merülök el anyanyelvünk szépségében (mert szép az, ami hasznos) minden alkalommal, ha előtte bizonyos ideig az ocsmány (mert szerkezet és következetesség nélküli) zagyva angolt vagy a még ocsmányabb és még zagyvább oroszt kellett használnom (az oroszoknak a "hleb", "da", "nyet"-en kívül már jóformán egy szavuk se maradt saját - érdemes lenne kielemezni, mekkora mértékben járult ez hozzá a birodalmuk bukásához, s ugyanígy, mekkora lesz az angol nyelv lezüllöttségének szerepe az amerikai birodalom közelgő bukásában... ja, s utána majd mondjuk a kínaira esküdjünk? ez is egy megfontolandó szempont...). Egyébként orvosként én soha nem beszélek olyan latin-magyar zagyvanyelven, amint azt a szaktársak zöme teszi. Ez NEM követelménye a szakmának - ellenkezőleg, (többek közt) ez zülleszti le. Aki nem képes színmagyarul kifejezni magát a szakmájában, az valójában nem érti a szakmáját (ez is egy könnyen bizonyítható alaptétel).

Összefoglalva a 3. pontról a véleményem (fontossági sorrendben):
a./ Ismerd kifogástalanul a szakmád MAGYARUL.
b./ Ismerd olyan jól, ahogy csak időd engedi, a szakmád annak (pillanatnyilag!) vezető nyelvén.
A tökéletességre való törekvésben ("...pontosan és szépen, ahogy a csillag...") nem úszod meg CSAK az egyikkel.
c./ Ne lepődj meg, ha 10-20 év múlva kínai tanfolyamra kell járnod :))

Bocsáss meg, hogy a további felvetéseidre nem térek ki ilyen részletesen. Én úgy vélem, hogy azok már mind csak műszaki részletkérdések, amik nem ingathatják meg a fentiek helytállóságát, mivel azokhoz képest másodrangúak.

Egyébként tényleg, csak magamban csinálom a lapot. De a kiforrott (mert bizonyított) nyelvi nézeteimen nem változtatna a csapatmunka sem. Megint csak: valamit valamiért, mint fentebb.

Remélem, nem voltak sértőek a gondolataim vagy megfogalmazásaim. Köszönöm a segítséged, hozzászólásod - különösképp annak megerősítését, hogy nincs sebességgond az ékezetes változónevekkel.

Kedves Hálóműhelyes szerkesztők! Kérlek, ezt a hozzászólást ne irtsátok ki. Szorosan a tárgyhoz kapcsolódik, miszerint célszerű-e avagy nem a magyar (s így ékezetes) php-változónevek használata.
14

Az informatika alapnyelve az angol

-zsolti- · 2006. Jún. 24. (Szo), 18.34
Előre is elnézést, nem ovlastam végig minden postot, mert már eleve butaságnak tartom a kérdést (bocs) csak megragadt a figyelmem egy valamin:

a./ Ismerd kifogástalanul a szakmád MAGYARUL.

Ez mondjuk abban az esetben állja meg a helyét, de akkor is csak részben, ha tegyük fel kőművesnek készülsz, vagy asztalosnak. Az informatika nyelve az angol, a webé meg pláne. Ezt el kell fogadni, vagy kell választani más szakmát.

Amíg a hőskorban úgy nevezted el a változóidat a Pascalos desktop programodban, ahogy akartad, addig most, a webes környezetben ezt már nem teheted meg, mert egy sokkal nagyobb közösség része vagy, ahol gyakran cserélnek gazdát a projektek. A tervezési mintáknak, kódolási szabályoknak, policy-knek részben az is a célja, hogy minél inkább szabványosítsák a kódolást az adott programnyelven belül. Hogy a programozó munkája lekorlátozódjon a programogika megértésére, ne a hülye egyéni fejlesztői stílusok (bocs, nem rád) megértése felett kelljen izzadnia. Ilyenek az ékezetek, de részemről ilyennek tekintem az egész "magyarul programozást" is: mindent csak angolul. Butaság ékezeteket és egyéb nemzeti identitásokat használni ilyen területen, magyarnak lenni nem a forráskódban kell. Vannak szép rövid angol szavak, 2*26+10 féle karakter, amit a világon mindenki el tud olvasni, tessék azt használni.
15

Kedves Zsolt!

laji · 2006. Jún. 24. (Szo), 19.12
Azért nem válaszolok részletesebben, mert magamat kéne ismételnem. Csak egyre térnék ki:
A tervezési mintáknak, kódolási szabályoknak, policy-knek részben az is a célja, hogy minél inkább szabványosítsák a kódolást az adott programnyelven belül.

Kell, hogy lásd: ez csak a felszín, agymosás. A képlet igen egyszerű: akié a szabvány, azé a lé :)) A mély: ez egy (nagyon hatékony) eszköz a végnapjait rúgó amerikai birodalom fenntartásában. A tudomány és az ipar egész tűrhetően fejlődött az elmúlt pár százezer évben a jenkik nélkül is. Nem vagyok meggyőződve arról, hogy pl. Galilei beszélt angolul (vagy az akkor hatalmi helyzetben lévő francia nyelven), mégis volt pár érdekes meglátása :))

Figyeld meg: egyre több kínai s egyéb távol-keleti áruval találkozhatsz, ahol nincs angol felirat. Még 10 éve is ez elképzelhetetlen volt. S mégis itt az áru, a magyar polcokon. Miért? Ár és minőség. Ott már egyre kevesebben dőlnek be a jenki agymosásnak. Igazából az a csodálatos, hogy eddig fenn tudott maradni egy birodalom, melynek lakói közül (saját felmérésük!) 85 % képtelen megtalálni egy európai országot a földgömbön.
Félreértés ne essék: nem az amerikai népet gányolom. Ők nagyon bátor és tisztességes úttörő ősöktől származnak. Nem ők, hanem az őket (s sajna, minket is) leigázó vezetők a bűnösök abban, hogy mára agymosott és tudatlan birkák csordájává váltak.

Most akkor egy végnapjait rúgó birodalom agymosása miatt, nyelve kedvéért hajítsuk el az anyanyelvünket, mely az övékénél legalább tízszer értékesebb nyelvileg? Ez nem csak erkölcsileg, de gazdaságilag is önveszejtő őrültség lenne. S nem mellesleg, pont értéke miatt, anyanyelvünk az egyik legjelentősebb gazdasági (igen!) kincsünk.

Más: maga az egész kérdés csak tiszavirág-életű, pontosan az adatfeldolgozó szakma fejlődésének köszönhetően - itt most a fordítógépekre, -alkalmazásokra gondolok.

S egy érzékletesebb példa, hogy ne csak érveket soroljak. Megérkezik Európa légtere fölé az Alpha Centauri valamelyik bolygójáról egy több kilométeres űrhajó, békés kapcsolatfelvételi szándékokkal. Mintegy 2 hét múlva közlik velünk: mivel ők műszakilag távolabb vannak tőlünk, mint mi a véglényektől, ingyen s bérmentve segítenek minket felemelkedni az ő tudományos színvonalukra, merő önzetlenségből. Mindössze azt az apróságot ajánlják nekünk (de azt erősen...), hogy mivel e tudomány s ipar az ő alkotásuk, így a könnyebb kapcsolattartás végett legyünk kedvesek átvenni az ő szabványaikat, s akkor már egy kalap alatt a csodálatos füttyökből felépülő nyelvüket is - mert hát, ugyi, ez szerves része a dolognak... Ja, s akkor már (mer úccse fog kölleni) pucoljuk ki a kócerájt, s hajigáljuk a tűzre a homérosz, péterfi vagy mittomén petefi stb. féle felesleges vackokat...

Tetszik?

Más lapra tartozik, hogy egy olyan műszaki fejlettségű nép társadalmilag se lenne annyira fejletlen, hogy ilyen piszkos, csakis léközpontú s -célú agymosásssal próbálkozna, mint amihez nekünk van szerencsénk mai mindennapjainkban. Bárcsak már mi is ott tartanánk!
16

Te miről beszélsz?

-zsolti- · 2006. Jún. 24. (Szo), 19.57
Kell, hogy lásd: ez csak a felszín, agymosás. A képlet igen egyszerű: akié a szabvány, azé a lé :))

Milyen léről beszélsz? Véletlenül nem a saját és "utódaink" életét könnyítjük meg azzal, ha valamilyen széles körben elfogadott szabvány szerint dolgozunk? Pl. egy opensource phpDocumentor használatánál áruld már el nekem kié a lé, vagy ha az egyezményesen elfogadott Java/C-stílusú metódus-elnevezéseket használom (getSomething, setSomething, stb.) akkor kié a lé...

Az amerikai birodalom bukását, Galileit meg a többi szociológiai agymenést pedig nem tudom érvként elfogadni, az hogy most, ma az angol az informatika nyelve, szerintem eléggé megkérdőjelezhetetlen, maradjunk ennyiben és ne politizáljunk. Használj nyugodtan ékezeteket, remélhetőleg csak magadnak teszel keresztbe, és nem kell majd másnak átvennie a munkádat.
17

Csak a lényegről...

laji · 2006. Jún. 24. (Szo), 20.06
Kedves Zsolt, ne haragudj, de az időm véges, ráadásul szerintem nemsokára kirúgnak a szerkesztők, mert tényleg elkanyarodtunk. Ha Te szereted a szemellenzőt, hordd - én nem kedvelem :))

A legjobbakat.
laji
18

Szakszavak...

janoszen · 2006. Jún. 24. (Szo), 20.16
Légy oly drága és mondd el nekem azt magyarul, hogy constructor. Építő? Vagy mi? A nyelvünkben nincsenek megfelelő elemek a számítástechnika leírására. Majd ha az MTA szakállas urai alkotnak, akkor lesznek. De sztem arra még egy pár száz évet várhatsz.

A számítástechnika hagyományaiból kiindulva (7, majd 8 bit egy karakter) így alakultak a dolgok és ha nem szeretnél teljesen új számítógép architektúrát alkotni (sok sikert hozzá, tudom miről beszélek) akkor jobb, ha nem használsz ékezetes betűket a kulcsfontosságú helyeken. Ennyi a történet.

Ha ezen felül mindenféle konspirációs dolgokban akarsz hinni, lelked rajta - de nem ez a megfelelő fórum a kitárgyalására.
19

Hős

Bártházi András · 2006. Jún. 24. (Szo), 20.22
Laji, téged hősként fognak ünnepelni húsz év múlva, addig viszont lezárom ezt a beszélgetést.
4

mindegy

bbalint · 2006. Jún. 23. (P), 09.46
elvileg az ékezetes változónevekkel nincs semmi baj, ugyanolyan karakterek... kivéve ha UTF-8 kódolással írod a PHP kódot is, mivel akkor a legtöbb ékezetes/speciális karakter két- vagy több byte hosszú.

szerintem teljesen lényegtelen a változó neve, hisz' nem egy ember fogja értelmezni a kódot, hanem egy gép, akinek "tök mindegy" a dolog.

ha pediglen dokumentálva vagyon, hogy melyik változó micsoda, akkor meg csak ezen instrukciókat kell észben tartani (bár kétségtelen, hogy jobb úgy írni a kódot, hogy dokumentáció nélkül is olvasható legyen és maradjon; ne kelljen mindig utánanézni, hogy az ingyom-bingyom, tálibe nevű változó igazából a bejelentkezett felhasználó azonosítóját tartalmazza)

azon kívül, én szeretek ékezetesen írni, és örülök, hogy a PHP-nak nincs véle baja.

továbbá, bizonyos szerkesztő-programok angolszász beállítottságuk folytán a magyar ékezetes karaktereket esetlegesen szóhatároló karakternek értelmezik; vagy lehetnek olyanok is, 'kik billentyűzetén nincs meg a magyar ABC, ezért kissé körülményessé válik minden ékezetes [code]$változó[/url] le/beírása...
9

Ez melengeti a szívemet :)

laji · 2006. Jún. 23. (P), 17.21
én szeretek ékezetesen írni, és örülök, hogy a PHP-nak nincs véle baja
Én is így vagyok vele, főleg most, miután a sebességgel kapcsolatos aggályom megszünt.
5

Kevert

attlad · 2006. Jún. 23. (P), 10.13
PHP beépített függvénynevek, változók, satöbbik angol nyelven vannak. Ha te magyar neveket kezdesz használni, akkor csúnya kevert lesz, fele angol, fele magyar. A MySQL a HTML és a CSS is angol.
6

Köszönöm

laji · 2006. Jún. 23. (P), 10.46
a hozzászólásokat!
7

csak a gond

breakline · 2006. Jún. 23. (P), 14.16
Én úgy gondolom ezzel csak magadnak adhatsz pluszmunkát, hiszen olyan dolgok jöhetnek elő, amikre "sima" változónevek esetén nem is számíthatsz. Sok helyen láthatod, mennyi gondot jelent a karakterkódolások nem megfelelő használata, én pl. órákig keresgéltem egy xls parserben, h. megtaláljam, miért nem olvassa be az excel cellákból az ékezetes tartalmúakat... (Persze arra nem volt felkészítve) Az ilyenek után inkább elfelejteném az ékezetekkel kapcsolatos gondolatokat.:)

üdv
BL
8

Excel

laji · 2006. Jún. 23. (P), 17.17
Az Excel-ből beolvasás (későbbi terveim miatt) érdekel. Anélkül, hogy mélyebben belerángatnálak: nem lehet behozni az Excelből (mondjuk MySQL-ba) ékezetes adatokat? Vagy nem jól értettelek? (Remélem...:))

UI
Tárgytalan! Eszembe jutott: SQL dump-pal simán megoldható.
10

van rá

Anonymous · 2006. Jún. 23. (P), 18.00
Szia

Létezik rá jó PEAR könyvtár is, most már én is inkább azt használom
11

Ezt akkor megjegyzem,

laji · 2006. Jún. 23. (P), 18.52
...köszönöm.