Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - qelurg

Stran: 1 ... 10 11 [12] 13 14 ... 25
166
To vzniklo dokonce uz v 80. letech, kdy jeste neexistovaly poradne IDE a kod se psal v textovem editoru a pokud byly metody a kod slozitejsi, tak to umoznovalo se vyznat v typu. Navic to ti programatori jeste blbe pochopili, nemelo se to pouzivat pro jednoduche typy, ale rozlezlo se to vsude. Jsou o tom clanky na webu.

Dnes je to historie a nemelo by se to pouzivat. Typ mne ukazuje IDE.
Ne každý používá ide a také je rozdíl mít možnost se dotázat jednotlivě na typ v ide a druhá vidět u všech proměnných ten typ v algoritmu současně. Ve složitějších algoritmech se spoustou proměnných to je stále dobrá pomůcka pro lepší srozumitelnost kódu.

Kvalitní název proměnné je k nezaplacení. Lze to používat i více abstraktně, než jen na datové typy. Třeba já jsem si zvykl v JS dávat předponu el u všech proměnných, které odkazují na nějaký html element a els u proměnných, které odkazují na jejich kolekci.

Je to užitečné navzdory tomu, že si v debuggeru mohu na každou proměnnou kliknout a podívat se co obsahuje. Konec konců, můžu tam mít chybu a může obsahovat i něco jiného než má, takže je to naopak nápověda k tomu, že je někde něco špatně. Navíc, když ten debugger v prohlížeči zrovna neběží, neukazuje nic, přesto v něm můžeš koukat do zdrojáků. Takže já to za překonané a 'nemělo by se to používat' nepovažuji.

U vlastního kódu si to člověk udělá po svém, ale když pak trasuješ kód nějaké knihovny a chceš si ji třeba přizpůsobit, je to k nezaplacení. Viz obtížnost pochopit minifikovaný javascript.

167
Windows a jiné systémy / Re:GUI tookit pro Linux a Windows
« kdy: 03. 04. 2020, 06:26:14 »
Udělej gui v prohlížeči, neprohloupíš.
Dobrý nápad. Jenže manipulace DOMu je možná (pokud vím, když tak mě opravte) jen přes JavaScript. Ještě je tu Webassembly, ale tam nevím.
Cílem je mít užitečnou aplikaci nebo něco jiného? Jestli užitečnou aplikaci, tak nástroje bych řešil až sekundárně a podřídil je požadovanému cíli. Webové prostředí je pro tento typ ideální a nabízí jednu ohromnou výhodu, může to automaticky běžet terminálově. Tj. program může normálně běžet na pc s ui v browseru, ale v případě potřeby jde ui oddělit a spustit kdekoliv a na čemkoliv, třeba na tabletu, s trochou snahy je lehké zařídit i multiuživatelské používání.  Kartotéka zní jako něco, kde by se obojí mohlo hodit. To za prvé.

Za druhé existuje řada transpilerů, to jest překladačů z různých jazyků do javascriptu. Nevím jak v Rustu, ale pro Python existuje třeba Flexx. Podívej se třeba na tuhle ukázku, s jakým minimálním úsilím lze vytvářet slušně vypadající aplikace používající prohlížeč jako UI. A bez přímého použití javascriptu. https://flexx.readthedocs.io/en/stable/examples/sine_src.html#sine-py Pro Rust snad najdeš něco podobného. Pokud ne, přehodnotil bych přístup a přizpůsobil nástroje požadovanému cíli.

168
Windows a jiné systémy / Re:GUI tookit pro Linux a Windows
« kdy: 03. 04. 2020, 00:16:53 »
Udělej gui v prohlížeči, neprohloupíš.

169
mate radsi franta_pepa_jednicka nebo frantaPepaJednicka nebo snad FrantaPepaJednicka.

pro nejvetsi frajery frAnTa_PepA_JeDNIcka :-)
To prvni pouzivam na promenne, to druhe na funkce, to treti na tridy a v trochu umirnenejsi verzi to ctvrte u jazyku, ktere nemaji jmenne prostory.

170
Kód: [Vybrat]
typedef int INT;
typedef LONG HRESULT;

Jestli tohle někomu přináší větší srozumitelnost tak asi bere nějaké drogy. Já bych tohle nevymyslel ani se 4 pivama.
Tak tohle už není  maďarská notace, tohle se dělalo kvůli snazší přenositelnosti/upravitelnosti. Když jsi se rozhodl upravit typ, stačilo to udělat na jednom místě.

171
Cílem bylo snížit chybovost programátorů, přinést větší srozumitelnost api a zdrojových kódů skrze jednotný standard.

172
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 02. 04. 2020, 18:41:42 »
asociálů s červeným diplomem by se našlo také asi víc než dost.
To je možné, ale aspoň by nepsali vyložené kraviny z odborného hlediska.

Ty si to fakt myslíš, co?  :o

Tak víš jak. Jedna věc je mít názor, klidně debilní. Další věc je bejt drsnej, nebo neurvalej. Ale demagogie kterou tu někteří provozujou je na mě už fakt moc. Je to děsně otravný.

Osobně to považuju za neduh nemoderovaných diskusí. Kdokoliv může přijít, a napsat cokoliv. Zlo/nekvalita je vždycky silnější.
A co ti brání chodit jen do těch moderovaných? Je zajímavý, jak tady neustále naříkáš a přitom jsi ukázkový samolibý troll :-). Ani by mě nepřekvapilo, že ta tzv. demagogie je sebeklam, kterým si obhajuješ svou neschopnost argumentovat proti nepohodlným názorům, nedej bože i faktům. Označit něco nepohodlného za demagogii je běžná úniková reakce, je to způsob jak se vyhnout o tom přemýšlet, je to způsob sebeobrany mozku před změnou myšlení. Pravda a láska zvítězí nad lží a nenávistí, říkal jeden nevzdělaný prezident. Ten současný, vzdělaný, mluví jinak. Tolik můj příspěvek k nesmyslné adoraci vzdělání.

173
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 02. 04. 2020, 18:29:05 »
:D ;D :o ::)

tohle vlakno je brutalni poctenicko.

 :-\ :'( ::)
Tohle vlákno se brzo propadne do pekla, protože něco tak hloupého zemský povrch neunese :)
Zajímalo by mne, jestli třeba zubaři mají někde diskusi o špachtli do pusy. Dřevěná nebo plastová ? Toť kardinální otázka.
Zubaři mají všichni kvalitní vzdělání, mezi nimi se odpad, co s bídou dodělal ZŠ, nenajde ;)

Ano, vzdělání mají kvalitní, ale výsledky mnohdy mizerné.
No a už jste teda nějak rozsekli ? Jestli Python nebo Java, dynamické nebo statické typování a ty mapy, nebo o čem je tu teď řeč ?

Něco takového rozsekávat je z principu nesmysl. Já to vidím tak, že preference programovacího jazyka je dána způsobem myšlení člověka. Je to jako preference politické strany. Z nějakého prostředí vzejdeš a to tě (zde)formuje tak, že už jinak myslet nedokážeš. Změna myšlení je těžká věc, mnozí to nedokážou ani když za to zaplatí životem. Takže tu máme spoustu staticky myslících programátorů, kteří čelí čím dál větší konkurenci ze strany dynamických jazyků, se kterými si nerozumí a rozumět nemohou. Jejich nika aplikačního programování se jim třeba přesouvá na web, kde vládne Javascript. I do dalších oblastí dynamické jazyky pronikají, jim se zmenšuje jejich teritorium, začínají být přežití a je na ně vyvíjen tlak, aby začaly používat ty krásné nové mladé a v ledasčem i blbé dynamické jazyky. To je podobné jako s mnohými frustrovanými důchodci, které nikdo nepotřebuje, protože svět se mění příliš rychle a jejich zkušenosti jsou zbytečné, nikdo o ně nestojí a tomu novému zase nerozumí oni. Takže chápu, že si vylévají svou zlost a nadávají všem okolo, i když se u toho zesměšňují pro vlastní neschopnost.

174
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 02. 04. 2020, 12:47:57 »
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)
Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.

Tak pán to nemínil globálně, ale na ten konkrétní případ, kde data putují skrze několik datových reprezentací a ordered je pouze v pythonu, kterému jako jedinému to bylo vyčítáno, že to neumí :-).

A ten map z C++ je přece něco úplně jiného. Schválně, zkus v něm udělat tohle:

Kód: [Vybrat]
>>> d = {}
>>> d[3] = 'trojka'
>>> d['trojka'] = 3
>>> d[(3, 'trojka')] = 'prekvapeni'
>>> d
{3: 'trojka', 'trojka': 3, (3, 'trojka'): 'prekvapeni'}
>>> for k, v in d.items():
...     print(type(k), type(v))
...
<class 'int'> <class 'str'>
<class 'str'> <class 'int'>
<class 'tuple'> <class 'str'>

Když je řeč o tom co kdo od kdy umí, který datový kontejner v C++ tohle bez dalšího umí a ty s ním dovedeš předvést ekvivalentní ukázku?

175
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 02. 04. 2020, 11:42:09 »
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)

Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.

To je asi stejne inteligentni prohlaseni, jako ze Python ma multiple inheritance od sameho zacatku a Java porad nic.

Krome toho, ze tuhle zridka uzitecnou vec si v Pythonu snadno naimplementujes, existuji dost dlouho implementace tretich stran, napr. tahle z roku 2010: https://pypi.org/project/blist/1.2.0/
Tak hlavne je tento datovy typ k dispozici v modulu collections, kde jsou i dalsi specialni kontejnery jako deque, namedtuple, nebo defaultdict. https://docs.python.org/2/library/collections.html#ordereddict-objects

https://docs.python.org/2/library/collections.html#ordereddict-objects

176
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 02. 04. 2020, 11:37:16 »
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)

Ehm, pan bude znalec.
Ordered map ma C++ s STL (Standard Templte Library) nekdy od sereho davnoveku 90tych let, Java dtto, akorat do verze 1.5 bez podpory generik.

Takze Python se v teto oblasti dotahl cca na uroven Javy 1.2 z roku 1998.

Mozna uz brzy uvitame python v tomto tisicileti.
Akorát že tohle jsou úplně jiné ordered mapy.

Ta c++ ordered mapa řadí prvky podle operátoru porovnání. Ve chvíli, kdy máme unordered mapu, tak už má ta ordered jen minimální využití. Vůbec bych se nedivil, pokud Pythonistům nijak zvlášť nechyběla.

Ta mapa, která PetroviK tak moc chyběla, prvky neřadí. Akorát drží pořadí, v jakém se do ní prvky vkládaly. V c++ nic takového nemáme (šlo by samozřejmě udělat) a zatím mi to nikdy nechybělo. Opět se vůbec nedivím, že se bez ní Pythonisti bez problémů obejdou.
V Pythonu je k dispozici OrderedDict, někdy se to hodí, takže v něm opravdu nechybí. Tomu blábolovi vadilo, že ordered není (nebyl) i běžný dict. Bouře ve sklenici vody, akorát si vyléval si na Pythonu zlost za vlastní neschopnost.

177
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 02. 04. 2020, 11:31:45 »
Akorát že tohle jsou úplně jiné ordered mapy.

Ta c++ ordered mapa řadí prvky podle operátoru porovnání. Ve chvíli, kdy máme unordered mapu, tak už má ta ordered jen minimální využití. Vůbec bych se nedivil, pokud Pythonistům nijak zvlášť nechyběla.

Ta mapa, která PetroviK tak moc chyběla, prvky neřadí. Akorát drží pořadí, v jakém se do ní prvky vkládaly. V c++ nic takového nemáme (šlo by samozřejmě udělat) a zatím mi to nikdy nechybělo. Opět se vůbec nedivím, že se bez ní Pythonisti bez problémů obejdou.

Přesně! Nechybí a obejdou. Pod to se můžu podepsat.

Mne prijde dost nestastne to, ze to poradi kllcu v novejsich verzich Pythonu vubec vyhlasili za garantovane - to znamena, ze kazda alternativni implementace bude muset poradi drzet nebo to nejaky nestastnik vyuzije a po pripadnem prechodu na jinou implementaci poradi klicu prestane fungovat a program bude mit tezko vysvetlitelne problemy. Ale diskusi k tomu jsem nesledoval, tak netusim, koho a proc tahle vec vubec napadla.

Nevím jestli je to nešťastné, ale je to imho zbytečné. Rozhodně doporučuji se na to nespoléhat. Pokud budu potřebovat zaručený order dict, použiji OrderDict a to právě s ohledem na kompatibilitu jak se staršími verzemi, tak různými klony a transkompilátory a kdo ví čím ještě. Také viz json a další serializátory, které to nemusí zachovat. Jestli to udělali za cenu nižšího výkonu, a obávám se že jo, tak je to rozhodnutí spíše pitomé než dobré. Vzniká tím akorát další pitfall pro začátečníky, takže nejlepší je považovat dict stéle za unordered a podle toho se také chovat.

178
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 01. 04. 2020, 17:02:52 »
Takže z toho hrubého nadávání na Python, že nemá ordered dictionary nakonec vzešlo, že je vlastně nemá vůbec nic, krom toho Pythonu 3.7+. Tak teď by měl přijít naopak vychvalování Pythonu do nebes. :-)

179
Vývoj / Re:Dalsi, UZ POSLEDNI KIKS V PYTHONU
« kdy: 01. 04. 2020, 14:45:25 »
JSON zachovava poradi klicu, a proto kdyz mam knihovnu ktera deserializuje JSON, tak to MUSI TA KNIHOVNA ctit.

Kam na ty nesmysly chodíš? Co takhle si přečíst třeba JSON standard?

An object is an unordered set of name/value pairs.

No tak jsem se spletl no, my v Jave mame json odjakziva ordered, nikdo neni zvedavy na to aby se mu v logach prehazovala poradi atributu 8)

Problem je, ze ty se pletes porad, protoze vlastne nic neumis. Ty jsi uzivatel IDE, ktere ti generuje kod a vsechno ti neustale napovida a bez toho jsi uplne ztraceny.

180
Vývoj / Re:Doporučte programovací jazyk pro Windows
« kdy: 01. 04. 2020, 10:11:19 »
Mas to napsane v clanku,: Článek je volně přeložen z anglického originálu ORM is an anti-pattern, který napsal Laurie Voss (technický vedoucí awe.sm, dříve např. Yahoo! Widgets) a vydal ho na svém blogu pod licencí CC-BY-NC-SA.

original: https://seldo.com/posts/orm_is_an_antipattern

Laurie Voss: Laurie Voss is npm’s CTO. Laurie has over 15 years of experience building web services at scale, including 4 years at Yahoo. He and I perfected our lunchtime banter on the Yahoo! Apps team. Most recently, Laurie led the technical team at Awe.sm. He brings deep experience with databases, analytics, and mission critical infrastructure services.

Není to názor jednoho člověka, problém s ORM má kde kdo.
https://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html
https://www.eversql.com/i-followed-hibernate-orm-to-hell-and-came-back-alive-to-tell-about-it/

Ano, dělá to něco automaticky za tebe, pro tebe je to dobrý. Ale ORM to nedělá dobře a ani nemůže, dokud za ním nebude stát dobrá AI, nesloží to kvalitní SQL dotaz. Není to dobré obecně, a už vůbec pro relační databáze.

Naši databázoví experti ORM upřímně nesnáší, mluví o DOS útoku z jeho strany. Čím složitější jsou data, tím je to horší, zátěž vzrůstá exponenciálně, to je špatně. Pro patlala je to dobrý, pro big data nikoliv.

ORM neumí pořádně využívat možnosti databází, neumí je to používat efektivně a nejde jen o výkon. Databáze mají mnoho skvělých specifických featur, nejen pro výkon, ale třeba i datovou bezpečnost, ORM z toho nic nepoužívá a ani nemůže. ORM je obecné a degraduje databázi v primitivní úložiště. Proč potom ale nepoužívat rovnou primitivní úložiště, proč platít za databázi a tu nechat zahlcovat nesmyslnými dotazy, že?

Trefné přirovnání pro ORM je, že používt ORM je jako jezdit do deset km vzdáleného obchodu autem pro každý rohlík zvlášť. Že neumíš používat transakce je hezké, ale ORM je také efektivně používat neumí. Kvalitní SQL dotazy a transakce jsou přitom klíček k efektivitě. Výsledkem ORM jsou aplikace, kde zadáš dotaz a nudíš se, než ti aplikace dodá výsledek. Přitom ta databáze má maximálně několik milionů záznamů a tvůj dotaz je jednoduchý, odezva by měla být v milisekundách a místo toho je v desítkách sekund.

Tam kde se ORM jakž takž hodí, tj na primitivní věci malého rozsahu, tam nepotřebuješ databázi a kde ji potřebuješ, tam se nehodí ORM, protože ji neumí z větší části používat a kde ji používat umí, neumí to z větší části efektivně. Proto je to antipattern.

Není zas tak složité přistupovat k databázi přímo bez prostředníka, naučit se SQL, na jednoduché věci je SQL jednoduché. A komplexnější věci ti navrhne a efektivně udělá db specialista přes vlžené procedury a trigerry. Kde je proti tomu ORM? Kdybys SQL uměl, pomůže ti to i v té Javě a tyto znalosti bys pak skvěle využil i v Pythonu. Místo toho marníš čas tím, že se neefektivně pro každé prostředí zvlášť učíš rozumět antipatternu. ORM je typický podukt bloatware, ale to ti vyhovuje, na tom je postavena tvoje zkušenost, se kterou si pochvaluješ, jak ti IDE generuje samo kód.

BTW naučilo se už Hibernate alespoň používat multiple inserty?

Stran: 1 ... 10 11 [12] 13 14 ... 25