Portál AbcLinuxu, 1. května 2025 04:08
Perl Výhody - obrovská podpora. Nevýhody - snad všechno. Nečitelná syntaxe, nedokážu si ho představit v projektu nad několik tisíců řádek.Zajimave, o nevyhodach takhle premyslim u php.
Navic resit, proc skripty s prechodem mezi verzemi prestanou fungovat a jestli budou fungovat i v dalsi verzi... Navic potrebuji provedet i "newebove" cinnosti.Uvážím-li, že chování perlu se také může lišit ($#pole u prázdného pole může být -1 nebo 0, viděl jsem oboje), tak se perlu raději vyhýbám.
Ale to len aby reč nestála
co sa tyka db, jednoznacne postgresql
a btw, webove stranky vy som urcite pisal v HTML
přešel s windows na LinuxAle fůj: s/s/z/g
Contribute: you can make a difference
- you can contribute faster more-elegant programs (FAQ)
- you can suggest new benchmark comparisons (FAQ)
Registrové VM? Pořád čekám, až mi někdo hodí link na studii, ...Uf, to jsem rád, že nejsem jediný, komu připadá mapování virtuálních registrů VM na skutečné registry, v těch neskutečných počtech platforem, které máme, jako prakticky nemožné
provolaný čas / délka tarifní jednotky
. Takže jsem prostě v cyklu přičítal délku tarifní jednotky, počítal počet proběhlých cyklů a cyklus se ukončil v okamžiku, kdy tahle suma byla větší než provolaný čas.
Bohužel pro bezplatné terify jsem jako délku tarifní jednotky zvolil 0:00, takže se pořád přičítala 0, a pořád ta 0 nechtěla být větší než ta délka hovoru.
Takže jsem si pro sebe poučku "nulou dělit nelze" poupravil na "nulou dělit samozřejmě lze, nikdo vám v tom nezabrání, ale nebere to konce" COALESCE (delka_jednotky, konstanta_pre_null)
, a pre bezplatne tarify nastavoval stlpec na null, to by mozno slo
time / time
není v PostgreSQL definován. Když mi došlo, že jsem do té tabulky před pěti minutami vložil nulu jako speciální případ, tu funkci jsem samozřejmě upravil tak, aby pro tento případ vracela nulu. NULL jsem z nějakého důvodu nechtěl použít, ten samý sloupeček se používal ještě v dalších pohledech, nebo se podle něj třídilo nebo něco na ten způsob…
coalesce (nullif (col, '0:0:0'), a/b, KONSTANTA)
N×M
(volané číslo × zpoplatnění = jiný tarif je za volání na mobil, jiný místně, jiný dálkový hovor) udělat N×1
tak, aby se ze způsobů zpoplatnění vybral ten, který nejlépe pasuje na volané číslo…
k tomu N*M dve view "za sebou", tam snáď niet čo vymýšlať
z hladiska logiky pre bezplatný interval je správnou dĺžkou intervalu hodnota nekonečno, resp. maximum.No vida, to mě nenapadlo. Jenom jestli PostgreSQL nějakou použitelnou hodnotu pro maximální interval má. No ale hlavně doufám, že rozúčtování telefonních hovorů podnikové ústředny už nikdy dělat nebudu
int
je objekt?Object get_xyz (Hashtable hash, Int key1, Int key2) { sum = key1.intValue() + key2.intValue(); return new Int ( ( ((Int) hash.get (key1)).intValue() + ((Int) hash.get (key2)).intValue() ) / sum); }oproti Perl-u
sub get_xyz ($$$) { my ($hash, $key1, $key) = @_; return ($hash->{$key1} + $hash->{$key2}) / ($key1 + $key2); } # a trochu menej čitateľne sub get_xyz ($$$) { ($_[0]{$_[1]} + $_[0]{$_[2]}) / ($_[1] + $_[2]) }
ad zátvorky v perli, je to jednoduché, aký index chces použiť, tak referenciu vytvoríš. Nevravím o pseudo-hashes, tam je to inak.
ad Java, aj int
je objekt?
To skoro v mé věte bylo záměrně a kde má overloadovanie operátorov?To je nějaká nutná podmínka?
daľšia vec, ktorá mi v Jave vadí, chýbajúca multiple inheritanceA co interfacy? Vícenásobnou dědičnost od různých tříd jsem nikdy nepotřeboval, takže mi nechybí.
potom ešte Hashtable (a tým asi celý príslušný koncept. Vadí mi, že pre každý objekt vytiahnutý z Hashtable musím robiť explicitné pretypovanie, vadí mi, že kľúčom môže byť len Object.Podívejte se na Javu 5 a generiky. Ale účelem této diskuze myslím nebylo sepisovat, co na Javě vadí někomu, kdo v ní neprogramuje…
daľšia vec, ktorá mi v Jave vadí, chýbajúca multiple inheritance
Tohle je jedna z nejhorších věcí v C++. Vícedědení nemá např. ani C# a je to jen dobře.
a potom ešte Hashtable (a tým asi celý príslušný koncept. Vadí mi, že pre každý objekt vytiahnutý z Hashtable musím robiť explicitné pretypovanie, vadí mi, že kľúčom môže byť len Object.
Cože? Jaké přetypování? Při vytváření hashmapy (a obecně všech kolekcí) si přece určujete typy klíče (a tedy neplatí, že to může být jen Object) a hodnoty, např: HashMap<Integer, String> h = new HashMap...
Dále. Co je to proboha za kód? Když už nic menšího, proč je definovaná návratová hodnota Object a přitom vrací Int? Pokud píšete takhle, tak se nedivím, že jste Javu zavrhl.
ten kód je z roku 1998, kedy podobnými vymoženosťami disponovalo akurát tak C++. Tá inkriminovaná metóda bola implementáciou z Interface (a samozrejme som nepastol inú, ktorá pracovala s náročnejšími datovými štruktúrami.
viacnasobná dedičnosť je vec, ktorá (v špecifických projektoch) ušetrí množstvo copy-paste
Copy-paste v OOP? V tom případě je špatně navržená hierarchie. Pokud jsem se (jednou), dostal do situace, že jsem "chtěl/musel" okopírovat kód z jiné třídy, kterou jsem nemohl použít rovnou (už tohle je znak, že je něco špatně), tak jsem se zamyslel a změnil hierarchii tak, aby to provést šlo. (Prostě refaktoring.) Což jako důsledek celkově vyčistilo kód.
Chcete naznačiť, že ste sa nikdy nestretli so situáciou, ked existoval Interface, ktorého jedna metóda mala rovnaké chovanie nezávisle na implementáci zvyšku ?
Ne. A zrovna Interface vícedědičnost umožňují.
Nehledě na to, že když 1. třída má 150 metod, 2. třída 70 metod a pak chcete obě podědit, to se Vám to opisování přes dva datové členy a delegování metod trochu natáhne.Myslím, že v eclipse IDE to budou tři, maximálně čtyři kliknutí myší
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.