- saxus blogja
- A hozzászóláshoz be kell jelentkezni
- 1301 megtekintés
Hozzászólások
Én a tagolást csak megjelenítésre használom.
(Szerencsére). :)
- A hozzászóláshoz be kell jelentkezni
Kotelezo bejegyzes:
It's not a bug, it's a fractal of bad design.
- A hozzászóláshoz be kell jelentkezni
Haha! Ismerős sztori. Belekerült némi időmbe, míg rájöttem, hogy az awesome ablakkezelő miért nem akarja kiírni az értékeket (foglaltság, cpu meg ilyenek) - ui. a programok legnagyobb része fütyül a nyelvi beállításokra és tizedeselválasztóra mindig tizedespontot használ. Míg ha a lua-ban állítom el a nyelvi beállítást (inkább "péntek"-et szeretnék látni, mint "friday"-t), akkor a pont karakter értelmezhetetlen számmá való alakításkor :)
- A hozzászóláshoz be kell jelentkezni
Eljenek a gyengen tipusos nyelvek! Megkonnyitik az eletet...oh, wait.
- A hozzászóláshoz be kell jelentkezni
Nem ott van a probléma, hanem ott, hogy gyakorlatilag előbb-utóbb mindenből string lesz és hülye módon.
.NET is pl. eléggé épít locale-ra, ha hu_HU locale mellett egy (1.2).ToString() -re "1,2"-t fog kiírni, csak épp nem jelent problémát, mert ahol kell, ott floatként fog átadódni.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
nyilvan epit a locale-ra a kiiras, mert ez a dolga, Javaban is igy van. Az a problema, hogy egy stringet egy gyengen es dinamikuasn tipusos nyelv barmikor ossze tud hasonlitani egy float-tal...erosen es statikusan tipusos nyelvben ilyen nincs is, pl. C#-ban sincs ilyen (ahogy irod is).
- A hozzászóláshoz be kell jelentkezni
És ez ráadásul fel is vet problémákat. Pl. az egyik progimban van egy olyan lehetőség, hogy függvényt ad át a user, azt meg átadom a mysql-nek. A bemenetet szűrom, ezért minden lehetséges kombinációt megvizsgálok, hogy szerepelhet-e az adott szó (mindegyik) a kifejezésben, egy tömbben tárolva az összes függvény nevet stb. Elég komplex a vizsgáló rész.
A lényeg, hogy ha meg akarom engedni locale-tól függően, hogy vesszőt is használhasson a user tizedes pontnak, akkor már sajnos túl lassú lenne ez a rész a progimban, és ezért nem engedem. Lásd ezt a példát:
pow(2,3,5) - nyilván ez ponttal így lenne, mivel 2 paramétere van a pow-nak: pow(2,3.5) - vagyis míg utóbbiból egyértelműen látszik, hogy a 2 számnál az utóbbi egy tört és a vessző az paraméter elválasztóként funkciónál, az első verzió vizsgálata túl komplexszé és lassúvá tenné a dolgot tesztjeim alapján.
(Nyilván megoldható lenne, de most csak az "egyszerűnek tűnő probléma vs. mégsem az" jelleget akartam mutatni).
- A hozzászóláshoz be kell jelentkezni
"pow(2,3,5) - nyilván ez ponttal így lenne, mivel 2 paramétere van a pow-nak: pow(2,3.5)"
Vagy eppen pow(2.3,5)
- A hozzászóláshoz be kell jelentkezni
Te egy interpretert írtál, aminek a bemenetének kötött a szintaktikája, ezért teljesen érthető (elvárt), hogy független legyen a locale-től.
- A hozzászóláshoz be kell jelentkezni
Ha interpretert irt volna, akkor a tokenizer elkeszitesekor jol definialt context-free grammart kellett volna definialnia, ami viszont nem engedi meg a locale fuggo stringeket.
- A hozzászóláshoz be kell jelentkezni
O nem kell ilyen messzire menni, eleg egy INSERT INTO...
PHP-ben fuggvenyhivast meg nyilvan nem zavarja.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
"..előbb-utóbb mindenből string lesz.."
Ez nagyon sokszor így van :)
- A hozzászóláshoz be kell jelentkezni
Csak nem mindegy hol és hogyan és azzal mi lesz. A probléma az, amikor ott lesz string valami, ahol nagyon nem kellene.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
"A probléma az, amikor ott lesz string valami, ahol nagyon nem kellene."
mindenhol mashol, ami nem user (ember!) fele ki vagy bemenet
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
Lenyegeben igen.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Nem értem ezt a mondatot amit írtál. Kérdőjel hiányzik, vagy a mondat többi része? Kifejtenéd bővebben?
- A hozzászóláshoz be kell jelentkezni
Status: Not a bug
Érdekes...
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Ó, ha tudnád hány ilyen és ehhez hasonló PHP bugo^Wfasságot láttaom "WONTFIX", vagy "Not a bug" státusszal?
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
De miért pont PHP? Miért nem bármi más? Nem nagyon fejlesztek webre, ezért nincs megfelelő rálátásom, de érdekelne, hogy miért pont a PHP ilyen elterjedt webfejlesztésre?
- A hozzászóláshoz be kell jelentkezni
Mert alacsony a kerítés és sokan abban kezdenek el fejleszteni, mert csak ezt látták. És mert állítólag sokan vannak hozzá meg ilyenek.
Ez pont egy örökölt rendszer.
Viszont ha valaki még egyszer azzal jön nekem, hogy könnyű PHP-hez programozót találni, azt képen törlöm egy "PHP24 óra alatt"-tal...
Amit viszont itthon biztos, hogy nem vállalnék be az a Python, Ruby, Node.JS vagy bármi ilyesmi. .NET vagy Java hamarabb lenne, még mindig több ember foglalkozik azzal, mint az előbbiekkel.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Nem vitatom, de azert Ruby-val es Python-nal is egyre tobben foglalkoznak. Ha per pillanat meg nem is eri meg bevallalni, ez akar mar a kozeljovoben megvaltozhat.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Hát nem tudom... Egyre inkább hajlok afelé, hogyha nagyobb volumenű webes rendszer, akkor scriptnyelvek kuka.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni